Hi everyone! Leevi here again. We spent a few weeks on vacation here in Finland and are starting full-time development again.There's a lot of work to do before releasing Combat Racers, after all. In this update, I'll be sharing my thoughts about the design and development choices we made and how we changed them over the time. Next time we'll talk about the more recent developments in the game. I'll start by mentioning something every game dev should know of: The KISS principle.
The Kiss Principle
The Kiss Principle is the idea of keeping things simple instead of complicating them unnecessarily. Feature Creep is a prime example of what can happen if you don't keep things focused and simple. In our case we had a lot of different things we had decided to have, none of which had anything to do with the core gameplay of Combat Racers. Instead of playtesting to see what worked and what didn't, we had our artists busy making more assets that ultimately weren't going to see the light of day and the programmers were swamped with adding variables into weapons that did not actually do anything for the gameplay. They were supposed to do something later, but were ultimately scrapped, which just lead to many hours wasted.
The next points of this update focus on what we did first and what we changed to make the things less complicated.
Complex design 1: Unnecessary weapon & car assets
At the start of the project we decided that our goal was to have each weapon model in-game so that players could clearly see their customized vehicle, like this:
You could change the weapons out for others, such as swapping the chaingun there for a rocket launcher like this:
In addition to this, you would have had a weapon in the back of your car and in the sides of your cars (which you still have in terms of gameplay). Thankfully we realized that the work we'd spend on these models wouldn't be worth it. Why? Because we'd have to make sure the models would look great in the "customization screen" as we called it and then your game would look like this in-game:
Even with the camera panning in and out of the action, the weapon models would be very miniscule, if visible at all. Thus we had the decision of either making very simple weapon models or just discard them and focus on the cars. We chose the latter, which lead us to our next problem...
Complex design 2: Too many cars
Combat Racers had a total of over ten different cars from which you could choose on paper. After a moment, this was lowered down to nine different cars to make things simpler. The problem was that it still wasn't simple enough. We decided on having three light, three medium and three heavy cars. We decided on different values that the cars have such as health, acceleration and weight. This was the first version on paper:
So this was a rather simple way of doing the design at first. Each car has a set of values, each value is set to a number of 1 to 5 and thus balance is created out of that. After this was done, we just needed to find an in-game value for each number which lead to this:
Here we had the units that we're placed into the engine itself, giving the cars their top acceleration per second, top speed, how many health points they had and so on.
As you might guess, this did not work out well. First off, the difference between the lightest and heaviest car meant that we either the lightest vehicle felt extremely weak or the heaviest vehicle was nigh impossible to destroy. Another problem was that the small changes between accelerations weren't enough to warrant a higher/lower amount of health points, rendering some of the cars obsolete. Some of the statistics were rather obsolete as well. Mass only came into play when calculating collision damage and handling came mostly from how fast the car was. Collision damage between cars was scrapped as it was not a fun feature to have and handling was left to the players, simplifying things out. The problem then was that we did not have enough variables to play around with to keep the cars unique. We went from nine cars to five cars, followed by changing the number of variable numbers in the cars to a scale of 1-3. But ultimately, in the end, this was what we had left:
There's still customization available, each car is unique and this is simple enough for everyone to understand. Faster cars have less health, and that's it. We didn't go back to the huge amounts of health around 100-300 points or so, instead opting for a more brutal and deadly system. The cars had 1, 2 or 3 points of health respectively this time instead.
Complex design 3: Too many weapons
I know this has been a long read but this is the last one, so bear with me. There are games that have a ton of different weapons and do it well but in our case it just didn't work out, and here's why.
Designing the weapons was rather straightforward as an idea, atleast. Weapons have a range, they deal damage. Some explode and some don't. Some are accurate and others have a fast rate of fire. Opening up yet another spreadsheet, it was rather easy to come up with the concepts of the weapons atleast:
A few weapons were added to the list later, leaving us with a total of 21 weapons and 5 different droppable obstacles such as landmines and flaming oil. Combined with the 9 different cars we had 416745 different combinations in total. An impressive number, but not very necessary. We again did the mistake of having some variables that we either weren't sure on how to implement into the game or how it would affect gameplay, such as the weight of a weapon or an aim assist option. We also found out that having a limited amount of ammunition didn't work out well and was ultimately unnecessary if the game rounds were short enough.
Another large issue was the similarity of a lot of weapons or their unwieldiness. Hitting anything with the mortar was either too easy or impossible as we went back and forth with it's tweaking. The tesla rifle, pulse laser and machinegun were basically the same weapon with a different effect and slightly altered numbers.
As I mentioned in our last update we also had a mish-mash of simulation and arcade gameplay. It was most evident with the weapons as we had firerates and bullet speeds comparable to real-life weapons. They were impossible to dodge, hard to aim and ridiculously out of balance. So what was next?
We removed most of the weapons that were either unwieldy or too similar to each other. The numbers we had to come up with since we moved away from realism and thus had no real reference from where to come from. This lead to various issues on game balance.
At first, I tried to balance the game by seeing how much DPS a weapon could have, making weapons such as the flamethrower or shotgun seem overpowered on paper. This is where we realized how important playtesting really is. It's really obvious looking back on it, but it didn't feel like it at the time. The main thing was that if you drive next to a car that isn't trying to dodge your bullets and shoot back at you, it's really easy to kill. I was convinced that the flamethrower was going to need to be either seriously modified or completely removed at one point until we actually played a game with our programmer Ville. He drove around the map and I tried to hit him with the flamethrower. The short range compared to the fast movements of Ville's driving made it impossible for me to hit him. Thus, every time we change anything in the weapons, we play a few rounds of actual games against each other to see how it changes the balance.
I could keep going on and write a lot about how we calculated collision damage, what kind of backwards-firing weapons we have and so on, but I believe these three points were the most important ones. I've already compromised the KISS principle by going on a lenghty explanation on why it's important. I hope that fellow developers can gain something from reading this, and I hope you'll check back with us the next time we give you an update. I'm not sure what we'll be talking about next time, but please check out the Greenlight page and follow us on Twitter and Facebook! There's also a downloadable alpha build of the game available, so check it out, too!