Spacehack

After a rather bad day we gave ourselves a week to mess with Void Escape, see what kind of progress we made and pick our best shot at the contest that weekend. We never went back to Redshift after the first couple of days. Void Escape got renamed and just didn't have the bottlenecks that Redshift's design did, building on an already working (if horribly incomplete and limited) proto-system made all the difference in the world: Every time I wanted a specific type of functionality in the engine or scene system, I'd start working on coding it, only to find out that I'd already done it a year ago in that sleep-deprived death crunch. Plus I apparently still comment under pressure, so I wasn't lost in the code at all. There were some glaring omissions, like a relative-to-parent positioning system for objects attached to other objects, but congratulating my previous self's foresight became a habit as we got further into development.

Spacehack Screenshot

Working with someone else on the project is what made SpaceHack possible. Aeq really proved himself in those short months: I started off handing him tasks with the idea that I'd take his outputs and integrate them into the game and engine myself, but after I spent nearly a week optimising some slowdowns with my quadtree implementation where I was too busy to really pay a lot of attention to his work and he ended up integrating the entire particle system by himself – quickly turning it into one of the fastest parts of the game – I levelled up my management skills and let him get on with what he needed to do. Our previous theoretical game design ramblings proved invaluable at this stage: He would get what I was going on about and not only figure out what I would need programmatically to get it done, he'd add his own understanding to that and produce stuff that could logically do more without getting dangerously stuck in feature creep.

Aeq understood SpaceHack from a player's perspective instantly, we knew how the other spoke about games, which meant that there was (and still is) no design document for the game. We had a few dedicated design sessions to handle story or broad thrusts of enemy design, but in general most of the game evolved organically from the core concepts as they started coming to life. We'd discuss the game on the fly and things would just magically emerge as cool and functional after that… On top of the shader-heavy implementation code like the particle system (when he showed me 40 000 particles onscreen simultaneously all animating independently without any slowdown I freaked out a little) or the geometry instancing that we ended up doing to kill a hitch we were getting with enemy bullets (of which there are usually MANY), Aeq turned the preview system from theory into reality and handled all of the enemy and boss firing patterns while I worked on the random systems and eventually player items and story.

I think the only regret either of us has regarding the game is that we want there to be more of it! The random generation systems that populate the game-world with maps for the player to explore, put enemies in those maps and give the player a story to follow currently only have a fraction of the content we'd like them to have available. The version we submitted to DBP has over 80 boss and enemy behaviour segments (which the game combines in any order according to heuristically determined difficulty levels that depend on how well the player's currently playing), roughly 30 story events (unfortunately only 1 major story arc though, the nanomachine one didn't get done in time) and over 40 player items to find or unlock.

Spacehack Screenshot

So while the generators can take all that content and produce a game that is already very replayable and different each time (it takes an average of 3 plays through the game to see everything that can happen and many more than that to get all the items at least once) we had to cut tons of ideas and neat things we wanted to do because we simply didn't have time. Pretty much all of the gameplay in the DBP demo version of SpaceHack was done in the last two weeks as individual segments and is turned into a playable game on the fly as you're playing it. We want another few months to first produce editors for each type of system (story, enemy, player item) and then build as many objects in each as we possibly can so that you'll be able to fire up the full version of SpaceHack and play it a hundred times and get a different experience every time.

But there will always be missiles, because everyone likes missiles... Yes, there will be a PC version eventually. But first we need to figure out how a small studio doesn't go bankrupt if you don't have cool stuff to sell on eBay.



Words from the readers
No comments posted for this article yet. Have something to say? Make yourself heard below.
Have your say: