Gareth's Workshop
Right, everything is setup for System Crash's steam release and I've had a few weeks break to play computer games and relax, so I'm ready to tackle something new now.
I've got tons of game ideas, but before I go down any particular path I want to play around a bit, prototype some mechanics, test out some of the tools and unity assets I've accumulated, get a handle on how long certain types of content will take to produce so I can make proper estimates.
I'm creating this thread in order to share whatever I'm currently working on. It'll be pretty eclectic, I'm primarily a programmer/designer but I dabble in a lot of areas. When I finally settle on a project I'll spawn that off into a new thread.
To start off with, since I am thinking my next game will be 3D, I'm getting to grips with Probuilder (3D modelling app for Unity). Knocking the rust off my 3D modelling skills, and there's a lot of rust.
I'm also testing out some procedural generation stuff. Not sure whether I'll go that route, but I'm keen to find ways to generate content more efficiently.
System Crash, as a CCG, was the worst of both worlds. A large number of hand-crafted missions and deck strategies that needed to be carefully fine-tuned, a delicate strategic balance, but an enormous number of potential play permutations to test. Small balance changes rippled through the system, requiring extensive retesting, it was a total headache.
Anyway, so I'm looking into procedural context and level design. And, as is traditional, I've started off with a simple maze generator.
(Note, the 3D mesh version of the generated maze is messed up, got some tile rotation issues I'm fixing.)
Algorithm is dead simple.
- Pick a random tile and call DIg() on it.
Where Dig() does:
- Set current tile to 'open'.
- Consider each tile neighboring the current tile, one-by-one but in random order.
- If the neighbor tile is 'closed', set the wall between the current tile and the neighbor to 'open' and call Dig() recursively on that neighbor tile.
You end up with a maze connecting every tile in the map, but there aren't any loops in the maze so it's fairly crap, a bunch of long corridors ending in dead ends, would necessitate a lot of boring backtracking during play.
So once that's done I go through and randomly knock down a number of the remaining closed walls. It could be made smarter, but the dumb approach seems to generate pretty decent loops in the maze, so it's good enough for now.
I've got tons of game ideas, but before I go down any particular path I want to play around a bit, prototype some mechanics, test out some of the tools and unity assets I've accumulated, get a handle on how long certain types of content will take to produce so I can make proper estimates.
I'm creating this thread in order to share whatever I'm currently working on. It'll be pretty eclectic, I'm primarily a programmer/designer but I dabble in a lot of areas. When I finally settle on a project I'll spawn that off into a new thread.
To start off with, since I am thinking my next game will be 3D, I'm getting to grips with Probuilder (3D modelling app for Unity). Knocking the rust off my 3D modelling skills, and there's a lot of rust.
I'm also testing out some procedural generation stuff. Not sure whether I'll go that route, but I'm keen to find ways to generate content more efficiently.
System Crash, as a CCG, was the worst of both worlds. A large number of hand-crafted missions and deck strategies that needed to be carefully fine-tuned, a delicate strategic balance, but an enormous number of potential play permutations to test. Small balance changes rippled through the system, requiring extensive retesting, it was a total headache.
Anyway, so I'm looking into procedural context and level design. And, as is traditional, I've started off with a simple maze generator.
(Note, the 3D mesh version of the generated maze is messed up, got some tile rotation issues I'm fixing.)
Algorithm is dead simple.
- Pick a random tile and call DIg() on it.
Where Dig() does:
- Set current tile to 'open'.
- Consider each tile neighboring the current tile, one-by-one but in random order.
- If the neighbor tile is 'closed', set the wall between the current tile and the neighbor to 'open' and call Dig() recursively on that neighbor tile.
You end up with a maze connecting every tile in the map, but there aren't any loops in the maze so it's fairly crap, a bunch of long corridors ending in dead ends, would necessitate a lot of boring backtracking during play.
So once that's done I go through and randomly knock down a number of the remaining closed walls. It could be made smarter, but the dumb approach seems to generate pretty decent loops in the maze, so it's good enough for now.
Comments
Oh right, last time I was working on the maze generator thingy. I got that working, it's kinda cool.
Think I'll pause that there and move on to playing with some of the 3D asset generation tools I've got, ProBuilder and Blender etc. I wanna do something 3D next, I miss the third dimension, but how long it will take me to generate assets/levels is an unanswered question.
I'm quite inspired by devs like Minor Key who've made interesting first person 3D games by concentrating on a minimalistic 3D art style. Carefully picking your art style based on your financial constraints seems to be an important lesson for indie devs.
So I want to try my hand at minimalist 3D and see what I can come up with.
Probuilder, to me!
Edit: Also 3D, mmmh. The extra D is scary for me.
Edit 2: Actually... I have hunted with a bow recently... It was such a pure, uninhibited experience.
https://assetstore.unity3d.com/en/#!/content/66793
The basic gist of it is, it has 2 animations, a draw and a release. The mesh includes an arrow that it shows during the draw animation. On releasing the mouse, it hides that arrow, spawns a physics arrow in the same spot as the hidden arrow mesh with a forward force, and plays the release animation. Pretty simple.
I took a break around the end of the year because I was tired. But I'm back in the saddle now and continuing to prototype ideas.
I saw that the Fungus Interactive Fiction asset was free on the unity store, so I downloaded it to give it a whirl. I'd been thinking about making a visual novel game.
Fungus is pretty darn neat, easy to use and powerful. But after playing with it for a bit, it started to feel too much like when I was grinding the end of System Crash, putting in dialogue and shit. I want a bit of a break from that, something less content-based and more mechanics/action.
So the prototyping was a success, it game me useful information - namely, that I could make this type of game easily enough, but I wasn't excited about building it just now.
So next I started putting together a little test scene for action-fps mechanics. Gonna see if I can find something fun that I want to build on.
Had to reacquaint myself with how blender worked (damn, but that interface is flipping obtuse).
Onto some basic functionality. Rule of thumb for prototyping - don't write any code if I can buy an asset off the Unity store that's good enough for rough testing ideas.
An FPS asset gives me some basic guns for pew pew, and the A* Pathfinding Pro project (picked it up when it was on sale) gets me some bots moving around the scene. I tried Unity's built-in navmesh first, but moved to A* asset when it proved a little finicky.
Here's me stalking my capsule bot like Batman while I test A* Pathfinding Pro's functionality for multi-level navmeshes.