Finally, after a very, very long time, I’m back into game development. I started working on a game prototype in Unity a few weeks ago and just finished my 3rd session on it. Yeah I know, this game is not going anywhere with a development pace like this, however, this is what I got so far:
So what do you see here? It’s a tilemap. With rooms and (still broken) corridors that connect the rooms. The map is generated procedurally. Ignore the graphics and the textures. These are all placeholders while I’m working on the map generator.
What kind of game is it you ask? I have no idea. I have no firm concept, just a list of urges I want to satisfy. I’m not sure how many others are working this way and if anyone managed to finish a (good) game with a methodology like this, but this is what I am doing now. I have this desire to combine elements from Nethack, Dungeon Keeper, Dwarf Fortress, The Settlers and Majesty with an Old School Arcade feeling. This list is not exhaustive and might change when I play something else that rocks my world, even if it’s only momentarily. So, I want to make a simulation where stuff is produced and minions are roaming around doing stuff to the stuff. Fights will be had. You have to manage resources, explore, design a base. Maybe. I like games where things happen without the player doing anything. I don’t know yet if this will be a 1st person, 3rd person, RTS, Tower Defense or Tycoon game. I don’t know if it will be multiplayer. I don’t know if a game session will take 10 minutes, 10 hours or 10 weeks. What I do know is that there is no game out there that feels like what I have in mind. So there, now that you know exactly where I’m going with this, let’s talk tech.
I initially wanted to make this a Flashgame with Flixl or FlashPunk, both very awesome frameworks for developing tile-based games. I evaluated both and liked what I saw. Then I looked at Unity and was immediately hooked. Multiplatform, Rapid Application Development, C# scripting (yes!), a large development community, the asset store. Wow. The time it takes to get something to screen is really short, so this is the perfect framework for prototyping, even though it’s my first project using Unity. I’m learning a lot of basics as I go and I think I’m about 6 hours in now. Feats accomplished so far:
- Generate non-overlapping rooms in 2D space (brute force randomize new room until it doesn’t overlap), tends to get very slow. I should really just use some randomized, recursive partitioning instead.
- Detect neighboring rooms and and build a connection graph.
- Fail to generate corridors according to said connection graph.
- Convert the generated 2D tile map into a 3D mesh.
- Add a player character from the Angry Bots Unity demo project and control it with both an overhead shooter control scheme and a Dead Space like over the shoulder camera (not at the same time).
This project has no name, yet and thus will be known as the project that has no name, yet or TPTHNNY for short which paradoxically gives it a name.