Over the last few months I’ve been teaching myself various programming strategies and concepts so that I might one day put together a complete version of Space Wars (or whatever it will officially be named.) I have made a a few 3D space combat games, a 2D multiplayer space combat game, some mobile games, some first person shooter games, even some games that were more about explosions and effects than anything else. All of these games are stepping stones to help me work out problems and figure out what will ultimately make my game the way I want it.
Last month, I created a rendition of a space dog fight game as well as procedurally generated star systems linked by jump gates. The map system was never implemented and thus you can never really travel back to previous locals. In fact, the game is so randomized, you might not ever see the same star system again! One sticking point was that I wanted to link the systems so you could fly back and forth, but in the end didn’t code the algorithm to make it work.
Things that really stumped me were: if the system is generated randomly, how do you know you have enough jump gates, if no real map exists how do things link, can you randomly generate a map and fill it with random star systems? How do you account for cool stuff like space stations or enemies if everything is generated randomly? What about planets? How will the game know what type it is, if there are cities there or animals or mining resources? We were getting into Dwarf Fortress level thought experiments like — what about history generation, empire generation, colonial expansion of factions, ancient civilizations wiped out with remnants on desolate planets like that scene in Guardians of the Galaxy. All these things are possible, but they will need some thoughtful coding.
This month I want to do some random map generation that I can apply to the space system problem in the future. However, since it is October, I think it is necessary to do a horror themed game! My idea is a procedurally generated ‘castle’ map of corridors and rooms with doorways. The map will build on the fly, have a starting point and at least one exit or goal. The castle will be haunted, of course, by 3D pacman style ghosts who will chase the player, but will also be easily fooled making for a stealth hide and seek element of gameplay.
In the end, this map generator will be able to port to my space games because doors will become jump gates, the rooms will be the random star systems. Perhaps the starts and finishes could be starting points for home systems of various factions. Whatever method I use to store data about the maps might be my way of implementing space stations and things. At least some of the needed code will be generated this month despite not working on a ‘Space Wars’ game.
When my #1GAM challenge is over, I plan to devote most of my programming time to working mainly on a real space wars game — exactly what I was doing before I started the challenge. Of course, now I know a lot more than I did back then!