Game Design, Programming and running a one-man games business…

Gratuitous Parasites

The next expansion pack for GSB is taking a while, because I’m so busym, but I did get time to at least finalise ONE of the ships in the new race. This is the Parasite Anthozoa Cruiser

Some of todays achievements!

An edited list of stuff I checked off my list today:

  1. Added the ‘100,000 copies sold’ text to the GSB website.
  2. Implemented the new menu/GUI (non-battle) music for GTB.
  3. Carried out a major rethink and rebalancing of the way weapons work in GTB, with some research, and a lot of code changes.
  4. Changed the way the AI accrues supplies in ‘classic’ TD mode. It now gets them over time just like the player.
  5. Implemented new green grassy textures.
  6. Checked the performance of the new AI code.
  7. Changed all weapons so there are more shots, doing less damage per shot, and longer durations for beam lasers.
  8. Added a new, obvious drop-unit effect to show when the AI has placed a new turret.
  9. Made fog of war an option, at least for me when I’m debugging, and probably for singleplayer too.
  10. Fixed bug where the AI kept trying to put new troops on top of existing ones in a trench.
  11. Fixed bug where the AI never replaced destroyed turrets.
  12. Managed to not get sidetracked into finishing off the ships for the GSB ‘parasites’ expansion :D

Not bad for the first day back after holidays.  I also riskily (some might say) threw some of my savings at the stock market buying shares in renishaw, a company I’ve bought and sold before, whose profits just jumped, and yet the share price dived 10%. That looked like a buying opportunity to my eyes. Fun fun…

 

 

Game design feedback

I’ve been away on holiday!  Whilst sitting in the sun, (in the UK too…woot), I read ‘The Design of everyday things’, which is an old, but great book. It has nothing in it about game design but nevertheless I found it inspirational. Mostly the book complains about doors, phones, windows and other things that often get strangely redesigned to be inferior, and impossible to use. It was fitting, as I stayed in a hotel that had some of the worst usability design imaginable. A computerised fancy-ass lighting system that lets me select ‘relax’ or ‘ambient’ but doesn’t let me have 1 bedside lamp on and 1 off, and isn’t even consistant. The lighting had coding bugs…. Also the phone was unusable, and the idiots running the place tried to overcharge us. Grrrr. At least the food was awesome.

Anyway…

One of the points in the book is that usability is partly tied to giving feedback. A good switch turns on a light when you press it, or at least clicks, so you know something happened, and hopefully, what happened. In reading endless rants about this, I concluded that the lack of feedback is one of the BIG design mistakes in GSB. It’s all very well being the case that experimentation and tweaking is a bit part of GSB, but how clear is it that weapon X does Y damage, and that weapon A is better vs shields than weapon B?

Given this, I think a lot of careful thinking is required to get the design of GTB right. Some things I am considering:

  1. Making shields a Mech-only item. Tanks don’t have them. Nor do turrets. They look best around moving mechs anyway. This keeps things simple.
  2. Weapons do different damage vs unit types in some cases. Specifically, flamethrowers totally massacre infantry, but do little or no damage to anything else. The same is true of machineguns.
  3. You fight shields with lasers and armor with ballistics. Maybe lasers do 10% damage vs everything but shields, and ballistics are the reverse. There are no fancy exceptions. Fight an army with mechs (and shields) and you need lasers. Otherwise, you use ballistic weapons.

This would, I think be easier to remember, and still make quite a lot of sense. I can’t see a problem with it, because many tower defense games have used similar restrictions. Some towers battle flying units, others ground, others both. In any event, I intend to do a lot of thinking and experimenting with these mechanics before I spend any more time worrying about any new features or any graphical fluff.

Double your development time?

A recent conversation with a fellow indie about their first game, and it’s (relatively) low sales led me to think about how best a small games company should break out of a ‘cheap games and low sales’ rut.

GSB took way more effort to make than any of my earlier games. It was a bit of a big gamble for me, but it paid off. I don’t have exact figures to hand, but I’m pretty sure that the return-on-investment per hour of dev time for GSB is higher than for my earlier games. That makes me think if this might generally be a good rule to follow.

It’s easy to get stuck into an assumption that there is simple  linear mapping between effort and reward, but I’m pretty sure that’s not true in game development. Very big smart companies don’t seem that keen to work on lots of small projects. Call of Duty X is always a huge stupidly expensive project, and the profits from it are always staggering. Nobody ever thinks ‘hey maybe spending >$30,000,000 on a game is a bit crazy, why not do two $15,000,000 games?’. I suspect that is because the profit on the one 30mill game is bigger than the profit on two 15mill games.

So for indies, I’m wondering if we should take a leaf out of valves book. Team Fortress 2 took 7 years to make. Half life 2 cost a fortune (at the time) but then sold 12 million copies. Maybe indies should be spending more in time, money and effort and taking much bigger risks in scope if they want to make a decent return.

GTB will definitely have higher production values than GSB. I thought GSB seemed pretty good, but some bits could have been better. I’m aiming for more polish, and a more impressive initial release. If that means it takes an extra 3-6 months, then I’ll do it, but I still hope to release in 2011, if I knuckle down to it :D

GTB game mode thoughts.

I’ve been giving a lot of thought to the different game modes in Gratuitous Tank Battles. Here are my current thoughts:

Classic (Tower Defence) Mode

In this mode, you play a standard tower defence game. The enemies come at you in pre-scripted waves, and have to get across the map in sufficient numbers to win. When the final wave ends, the player has won. The player earns supplies for shooting down incoming units, and spends supplies by placing new turrets and troops in one of the many pre-defined squares along the multiple attack routes in real time.

Reverse (Tower Attack) Mode

This is the same, but swapped over, with you as attacker. The player earns a steady stream of supplies over time, and these supplies are spent on new units. The supply level is capped, so you can’t just sit there for ages and not place anything, as you waste potential troops in that way. The victory conditions are just like classic mode. This requires a fair bit of AI by the defender, who will intelligently (I hope) place defences along the routes that are most under attack, and select defending forces that balance out, and can best deal with what is being thrown at them.

Assault Mode (attack OR defence)

This is a mode that will also work online in challenges. The player, either as attacker or defender, has a fixed budget to build up an entire army in one go (or for attack, possibly in a number of separate waves). The army then tries to storm past all the turrets without any interaction by the player. The army can be uploaded as a challenge either by an attacker or defender.

Pitch Battle Mode

This is like GSB, but without any pathfinding :D Essentially the maps series of paths meet in the middle and big armies start at one end or the other, marching / driving towards each other and blasting away until one army is destroyed, or everyone is out of range of each other. The last (or biggest) army standing wins. This can also be done as an online challenge game. This is the only mode where both sides have moving units.

Of course, it’s impossible to really say which of these game modes will really work, and which will suck, A lot of it depends upon the exact implementation and numbers. I really think I should implement at least this list though, and give them all some decent testing before deciding if they work or not.

There is SO MUCH to do.