Antistar is a fully immersive, story-rich third person game combining action, platform and adventure. The goal was to re-create, exceed and extend my original iPhone game (Antistar 3D: Rising, built in 2010 over bare OpenGL-ES, ObjC and C).
In this short presentation I'll be focusing on the technical aspects but before that it's useful to understand the production context.
On the production side a key decision was to release the game serially - chapter by chapter. This really ensured that the project consistently moved forward, with no resources wasted building stuff that would never get used.
Although serial, since the project was done part time this approach didn't yield much momentum in terms of building an audience (note: this isn't a free game). Another part of this equation is that adding people tends to make projects slower. Budget-wise we couldn't order assets fast enough to beat this trend.
Talking about contractors - an early decision was to beat road blocks by hiring skills. On the media production side of things many guest contributors helped with creating the environments, characters, animation and music. This allowed me to focus on financing the project (mostly by doing contract work) and writing game code.
Given the serial nature of the project, this has been a big opportunity to adopt a 'code as assets' approach - this isn't about purchasing code assets (yes, we use Rewired). What this is about is, solving problems in an agile, modular fashion, by writing short scripts that solve specific problems and trusting good OOP practices will result in an emergent 'game system'.
Over time the coding effort moved from just getting something to work (so that the next iteration can get released) to making it nice, and helping media production with a bit of procedural generation.
Here's a quick summary of the more interesting things I built for this game:
Navigation and camera systems - although I did purchase controllers the feel is that the game is always going to need a custom controller, at least on some platforms (think mobile, VR) where standard controls don't work so well.
Pathfinding - any kind of system involving baking (nav-meshes) or stuck on a 2D grid was a big no-no. What we needed was a powerful realtime path-finding system that would let us iterate complex, non flat 3D environments.
Nature - I built a procedural system for environment features (rocks, stones, grass, trees, ...). What we needed here was a mostly automated approach (no grass painting here) that would cover physical props (rocks can even be kicked around), the cosmetic stuff, even booby trapped spikes grass. Big vote of confidence for Unity's LOD implementation here!
The rest of the code base is more mundane. A fairly straightforward talkback system (parsing text files and all that jazz), modest combat and equipment systems, and so forth...
At the time of writing and with just one chapter to go I'd say we've done the best of limited time and money, which is what a budget production (On this side of $10k, not including my own work!) is all about.
Still... the overall feel is that, in 2018 making a good game is just not enough. So I'm looking for investors/publishers to help give the game more polish, and prepare platform specific releases; until that happens I hope as many people as possible can enjoy our game! You can find it on itch along with a free (if a little outdated) demo.