The following blog post, unless otherwise noted, was written by a member of Gamasutraís community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.
What happens often in game design / game creation is that something looks quite simple on the surface, but turns out to be much more complex once you get down to the details. Or it IS simple, but will take a lot more work to get done than you anticipated beforehand. Both these issues can dramatically increase the time you need to create your game, and they make it easy to bite off more than you can chew. I recently read an article from Chris DeLeon (a.k.a. HobbyGameDev) in which he touched on this subject.
Since we've encountered our fair share of these time-consumers in building Powargrid, even though it's a relatively simple game compared to the big titles out there, I thought it could be illustrative to walk through a couple of examples here.
We've seen the 'takes much more time than we thought'-effect most often in creating missions for the campaign. The main reason for which is that we're not willing to compromise the simplicity and elegance of the basic game rules for the sake of the campaign. One of the key characteristics of Powargrid is that the gameplay is complex even though the basic rules can be explained in two and a half minutes
. We also consider that one of the game's strengths, so we're careful not to break that. For other games, the reasons unexpected things crop up will usually be different. But they'll be there nonetheless.
Using the Powargrid mechanics and our AI
, it's quite easy to set up a skirmish-like mission where both you and your opponent get some power plants and then battle it out. And to be sure, a number of missions in the campaign are just that. But using nothing but that setup doesn't give players the excellent experience we're hoping to provide. So we want to make more interesting missions, but that also means they become more complex to design and build. On top of that, a lot of the earlier missions in the campaign also function as tutorials, which also places extra demands on mission design.
In building the mission we're currently working on, quite a few unforeseen things cropped up. And while the time loss is annoying, it does give me some good examples for this post :). The basic idea for the mission is simple; destroy five factories that belong to the yellow blobbies.
The working title is Factory Mission (because, factories :). At some point we'll come up with a more clever name, I promise.
The Mission Concept
When I drew the concept for this mission, I naively thought that this would be one of the straightforward ones. Turns out I was wrong. It quickly became clear that just having a few extra buildings to blow up wasn't fun enough. It adds a bit of an extra element because destroying a factory opens up a big chunk of the game grid at once. And while that rewards you for carefully timing a factory's destruction, it wasn't enough. On top of that, if all other buildings need power plants to run, it's not exactly logical that factories (which usually are pretty energy-intensive) magically power themselves. Luckily, both problems could be solved by simply placing a power plant next to each factory, which in turn uses up all the power that power plant produces. That wasn't very complicated or time consuming yet, but it did set the stage for more complications.
In the original design I gave the AI two power plants, just like the player. But with these extra yellow power plants the AI gained 50 power per turn to use against the player each time a factory was destroyed. This added an element of danger to the mission, which was certainly fun to play against, but it also meant that balancing the mission became an issue. The mission could quickly become too challenging, especially for players who don't read dialogues
and thus might remain unaware of the AI's power boost until it's too late.
After a number of iterations, we settled on a combination of four adjustments:
- Giving the AI only one power plant (other than the ones powering factories) versus the player's two.
- Having the player start in a hard to reach location.
- Painting the player's buildings yellow so the AI can 'think' that there is no enemy nearby for the first couple of turns.
- And giving the AI a good defensive base close to where the player starts.
At this point we've already moved quite far from the simple and straightforward mission we started out with. But we do have a solid mission that's fun to play.
The AI can use one power plant (red line), the player starts in a hard to reach location, with yellow coloured buildings (blue line) and the AI had a good defensive base close to the player (green line).
Do factories conduct power? An easy question, since all buildings in Powargrid conduct power, so why not factories? Well, we found that it looks strange when the AI builds in a spot that only touches a factory. As a player you get the feeling that the AI is cheating when it does that. Michiel had to do some retooling on a basic level for the buildings to add the possibility to not conduct power. This is not complex or hard to do, but it is another one of those things that we did not foresee in the mission concept, yet do take extra time.
In some missions, you know beforehand that getting the dialogues right will involve more work than 'just' writing them and then slapping on some triggers so they get displayed at the right moment. When I started writing the dialogues for this mission, I thought they'd be pretty straightforward. Some mission explanation, some background, some banter and an explanation for each of the five factories. Easy enough, right?
But then I realized there was a catch. The best moment to explain what each factory does is when it stops working, which happens either when it's destroyed (duh) or when its power plant is destroyed. But these situations are different enough that, in my opinion, they can't be covered by the same dialogue without making the writing too contrived.
What happens if multiple factories are destroyed at the same time? The simple thing is having the dialogues pop up one after the other, but that makes the dialogues feel disconnected. The way-too-much work option is to write a separate dialogue for each possible combination of factories.
And what if a factory is the last factory to be destroyed? That calls for yet another different dialogue for each factory. And that's before differentiating between whether or not the yellow blobbies still has power plants up when you blow up the last factory.
So much for 'easy enough'. We tried multiple approaches to find a spot where dialogues feel right and the amount of work is less than ludicrous :). As an example, having the dialogues trigger at set moments during the mission, irrespective of whether or not a factory is still in operation, felt way too tacked on. On the other end of the spectrum, writing dialogues for every possible scenario is out of the question because of the sheer number of possibilities. Eventually we settled for a dynamic system that triggers whenever a factory is destroyed and can also handle multiple destroyed factories at once. Unfortunately that does take some retooling of our dialogue system (and thus more time), but by now I think it's clear that's not an uncommon price to pay. This is now at the top of our to do list.
Your yellow blobbie opponent, Swap, is not happy to see you.
The AI is Confused
There are a couple of things in this mission our AI is ill equipped to deal with. Since this blog post is already very long, I'll mention one. Our AI has a defense routine which usually works fine, but which is inefficient for power plants not at the edge of the game grid. The AI builds a lot of power lines to claim territory, even though a single power line in a strategic spot would also do the trick. The simple fix (or perhaps workaround would be a better word) in this case was to add power lines in those strategic spots. But if that hadn't been possible or if we'd wanted a more basic and universal solution, we'd have had to (re)write a large amount of AI code. So even though we got off light there, this could easily have been another big issue we hadn't foreseen when we first designed this mission*.
Adding two power lines was enough to solve stop our AI from doing silly things during its defense routine.
So even though Powargrid is a relatively simple game (to learn, though not to master) with a small number of clearly defined rules, we still run into many issues that complicate design and take up a lot of time. And what I've shared here is only what we encountered in one of the fifteen missions for the campaign. And the complexities and time sinks multiply quickly the bigger and more elaborate your game becomes. So in my opinion, Chris' advice to start with a modest first project is very good indeed!
* And we're not done yet with this mission. Among other things, we still need to decide whether the AI needs to defend the factories in a more active manner. But luckily, that's a simple thing and implementing it will hardly take any time at all, I'm sure ;).