I’ve had an idea for a game in my head for a while, and I’ve been making notes (Workflowy is good for hierarchical note taking) so that even if I wasn’t going to use the ideas immediately, at least they wouldn’t be lost. As an aside, programming takes up a lot of head space, so I think that decades of clearing my mind have given me a tendency to flush things that aren’t immediately relevant (this is also why you shouldn’t interrupt a programmer). If an idea’s written down somewhere then I can feel safe enough to forget it – I think this is also why I’ve found that adding something to a wishlist feels almost as satisfying as buying it.
Anyway, last year I started working on actually building the game in Unity, but the learning curve coupled with my inability to concentrate on one project for long enough to finish it meant that I didn’t get very far.
Now I’ve returned to the project and I’ve decided to build a gameplay prototype rather than attempt the whole thing at once. This should give me a shorter term milestone, as well as making sure that the core gameplay is fun and worth the larger investment of time.
Concurrently I’ve created a placeholder website and a twitter account for the game. My hope is that by publicly recording my progress I’ll be more motivated to make some. It also has the added bonus of reserving the domain name so that I won’t have to deal with a domain squatter if I do finish the game and end up needing it. It’s now tempting to procrastinate on the game by spending more time on the website, but now that I’ve identified that as a risk hopefully I’ll be able to resist.
I have the instinct to “protect the idea” by keeping it a secret, but the more interesting dev logs I’ve read have been very open. And in any case:
- no idea is really new – creativity is just combining existing ideas in new ways
- someone could independently have the same idea regardless of my miserly hoarding
- maybe the idea sucks and it’s not worth hoarding or stealing
- openness leads to feedback, which is essential
So in the spirit of combining existing ideas in new ways, here are some of the ideas that have been Frankensteined together to make Expendabots:
What if the cannon fodder had a choice?
Especially in strategy games, we send thousands of little NPCs off to die as literal cannon fodder, and we feel nothing about that because the games don’t assign any moral judgement to it.
I can’t find the article now, but I read somewhere that regardless of what the developer says a game is about, what it’s really about is whatever numbers are displayed to the player. So if I have a health bar then to a certain extent then the game is about managing my health by picking up medkits etc. On the other hand if the game has regenerative health and no health bar then it’s not about managing my health. So if a game makes no distinction between winning with all your troops surviving and winning at the cost of a million lives, then the player can’t be expected to care about it.
My game is called Expendabots (Expendable Robots) because that’s what it’s about – the units aren’t people they’re just machines, they’re disposable, it doesn’t matter if they die and it’s your job to throw their lives away. But how do they feel about being sent to their deaths, and how do you feel about killing them when you know how they feel?
Have an emotion, dammit!
Chess from the point of view of the pieces
The fact that chess is still played after 1500 years has always fascinated me. It would be interesting to try and come up with something equally simple and timeless, but in the context of imagining unwilling soldiers I was more interested in what a game would look like from the point of view of the pieces.
This led me to the main design for the screen – a top down map (like a chess board) with a column of little video feeds on the side showing each robot’s point of view. This retains both the overview for impassively sending your troops off to war and the visceral experience of the troops under fire. The little video feeds and corresponding health readouts are inspired by the scene in Aliens where Ripley watches an alien attack on the marines through the cameras they wear from the safety of the APC.
In addition, it occurred to me that the player should have some more investment in winning (or not losing) the game, so rather than being an armchair general they should be on the field of battle. As opposed to Titanfall, I didn’t want the player to be a powered up superhero rampaging around, and I wanted them to have time to use the top down map to give orders. The chess metaphor lends itself to this very nicely, because the king is slow and weak and the game ends if he dies.
So the player is on the board but they move very slowly, and they lose the game if they die. However to give them some reason to participate rather than hiding in a corner, I decided to give them very powerful but short range weapons – a degausser in one hand and a reprogrammer in the other. The degausser is basically a big electromagnet or EMP gun, and can be used to wipe the brain of an enemy robot, and the reprogrammer is a robotic spider that climbs up the zombified robot to drill into its head and insert a friendly program. In this way the player can turn enemy robots into friendly ones (like promoting a pawn to a queen in chess), assuming they can get close enough.
Another advantage that the player character has is that although giving orders to the robots is turn based (because chess is turn based), the human doesn’t have to wait for orders and so can move at any time. I think this will be kept in check (haha) by the slow movement speed.
No more men
The “straight white male” protagonist in every game, movie and book has been getting on my nerves for a while, so I unilaterally decided that all the player characters in my game would be women. This informs the setting when it combines with the idea of one heavily armored human in charge of a cohort of robots – why would there be a lot less humans than robots? Why would all the humans be female? Because it’s post-apocalypse and most of the humans are dead, and women can continue the species whereas men are useless once you have IVF.
Turn based games always make me think of hex tiles. It’s such a smart solution to the fact that on a square grid diagonals are further than adjacent squares – a hex tile in any direction is the same distance away. Unfortunately from a programming standpoint hex tiles are a pain in the ass – you have to store them in an offset array and remember that every time you deal with it… Invisible, Inc. just uses square tiles and it works fine so I may just do that and have diagonal moves cost 1.4 movement points or something.
I like the idea of procedural generation, because it cuts on the amount of level design I’d need to do and increases replayability. Unfortunately it involves a bunch of math-like stuff that I have no experience with.
Along the same lines, I’ll need to do pathfinding for the robots. I’ve bookmarked a few articles on A* and hopefully that will take care of that.
A major weakness I have is that I’m not an artist, and assuming I can do everything I think I can from the game design and programming aspects, that still leaves a lot of art to do. I don’t have money to spend hiring someone, so ideally I’d get a collaborator, but that leads me to another of my weaknesses – not knowing anybody.
Not knowing anybody also hurts me when it comes to marketing – ideally just making something awesome would bring success, but that can’t happen if nobody hears about it.
Finally, another thing I like in a game is scale – having a lot of people sharing a big world. A two player board game analogue is neither a lot of people nor a big world, so I’ve come up with a meta-game where teams of players try to take over the post-apocalyptic world by conquering parts of the map. I’m pretty happy with this idea, but like the core gameplay I won’t find out if it’s actually fun to play until it’s built.
I guess the biggest challenge will be to keep focused on one project long enough to complete it.
I have a bunch more ideas, but I’ve already wasted today writing this instead of working on the prototype so I’ll stop.