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

Excellent iphone game

I don’t even HAVE an iphone, but I’m lucky enough to have played this:

http://www.ancient-workshop.com/

On someone else’s. It’s excellent. If you are one of those hip trendy kids with an iphone, you owe it to yourself to get it immediately. It’s probably the best new puzzle / thinking game mechanic I’ve seen in ages, and the polish and presentation is just superb.

It’s a puzzle game where you have to get a frog from point A to point B by moving his legs from one water droplet to the next. If you think it sounds straightforward it isn’t.

The guy who made it taught me how to code properly, and he really knows his stuff. Given the quality of this game and the amount of drivel currently on iphone, it’s CRIMINAL that this isn’t yet the #1 selling game on there.
Seriously, give it a go.

Re-jigging the ship modules

Tomorrow I’ll be stroking my chin a lot and rethinking how the modules that make up each ship are put together. I’ve got quite a long way into the game with the current system, but I have a few thoughts I need to elaborate on.

Firstly, I think I’ll add a crew requirement, and maybe a heat one too. Ship modules currently have a financial cost, a weight, a hitpoint value (strength) and a power requirement. I think it needs a little more complexity so there are some interesting choices in module loadout for each ship. I don’t want it too complex, but it can’t be too simple and a no-brainer either.

Secondly, I need to think about the number of modules per ship again. Currently they come in three sizes, for the three ship sizes. The downside of this is that I can’t currently have big cruisers with one huge fuck-off mega-gun and ten small anti-fighter lasers. I’m considering a hybrid system where you can stick a few fighter or frigate sized modules in extra slots on each cruiser. I’m not sure about that.

I’m also talking to some artists about doing spaceship sprites. I don’t think my coder art is good enough. I also finally got the GUI and code for escort orders done, so fighters can be set to stick close to bigger ships and defend them from enemy bombers.

Optimising the mayhem

The last few days have been spent on optimising the space battle code. Basically I mad a dcision that the battles were not vaguely big enough, and needed to support a bunch more ships, especially now given that you can zoom in and out. That meant there would probably be some bottlenecks as I scaled up the number of ships, and it’s been a few days of identifying them and sorting them out.

Everything now runs way faster than it used to. I had a lot of really inefficient texture-setting code that was setting textures for objects and trying to render them offscreen. Now I’ve bunched lots of the particle stuff into a single texture atlas and optimised away all the offscreen stuff, it works much better.

What I haven’t got done yet is any LOD stuff, which is ironic seeing as though my first AAA industry job was on the ‘infinite polygon engine’ of lore. I really need to get some higher detail particle effects for close-ups, and I think I might massively ramp up the number of damage textures and similar stuff for when you zoom in. As always, the problem will be fading it all in nicely so you don’t get ‘popup’ whilst retaining the performance benefit when you are zoomed out.

Plus I’ve started the very early work on the screen where you deploy your ships pre-battle.

The mechanics of huge space battles

Lots of science fiction has huge space battles in. In many ways, all that monkeying around with plot, characters and storyline is just foreplay for big fleets of impossibly large space battleships to blast away at each other and go bang.

I applaud this initiative.

And I understand, as someone making entertainment, that so much in the classic sci-fi space battle is bullshit. There are no laser sounds in space. No ship, regardless of damage ever loses its artificial gravity etc etc. This doesn’t bother me, because I’m making a not-too-serious fun battle game, so my lasers will go zap and fizz just like the rest of them.

What I’m more interested, because of the strategy nature of my game, is the actual mechanics of the battles. Take (for example) the big space battle at the start of Revenge of the Sith:

There seem to be some nice huge battleships here blasting the hell out of each other at extremely close range, and lost of tiny fighters flying around going zap zap too. The thing that interests me is the economics of it all. Why can’t side A field a fleet of 50,000 fighter/bombers instead of a nice aesthetically balanced fleet of 10 huge capital ships, 50 average ones and 200 fighters. Each of those capital ships is maybe 5,000 times the size of a one man fighter, and must cost 5,000 times as much to build.

Is it because the fighter’s lasers can’t penetrate the armour of the bigger ships at all? Do they need carriers to get them between systems? do they need refuelling? And given that the fighters fly at 100 times the speed of the bigger ships, how the hell isn’t the fighter vs fighter battle over long before a single capital ship gets within firing range of an enemy capital ship?

These are the questions which currently keep me awake at night, because I’m trying to design a set of spaceship and fleet construction rules that allow you to have lots of freedom, yet still ensure you end up building a fleet of disparate size ships that look good in space battles :D.

We naturally prefer 2D (unlike alien fish)

Why do I make 2D games? Is it because its’s easier? or because it’s the best format for the games I make? It’s the latter and here is why.

For games that involve strategy, humans naturally think in 2D. We exist in a 3D world, but strategically, we operate in 2D. We think about our environment generally on a 2D plane.  We navigate from point to point using 2D maps. Computer operating systems work almost entirely using 2D metaphors (Have you EVER used the flip3D feature in windows vista?).

I don’t think this is surprising. We are descended from apes (creationists stop reading now), whose predators attacked us on land, not from below or above. We spend the vast majority of our time on the same level as those around us. Even if we work in multi-storey buildings, we think of each floor as a seperate 2D space. Unless you are a submarine captain or fighter pilot, your concept of 3D space is probably hugely limited. I’m sure alien worlds with super-intelligent fish and birds are natural 3D strategy gamers, but not us.

And yet some strategy games still try and force us to play them in 3D. Thankfully, most game designers have finally realised that *true* 3D is generally more trouble than it’s worth. For every gamer who embraced Descent or Homeworld as the greatest thing ever, there were hundreds who found it thoroughly confusing. It might make for great screenshots, but not for great gameplay, at least not for everyone.

Sins of a Solar Empire and Company of Heroes are great examples of games whose makers realise that 3D makes for great trailers and box shots, but lousy gaming. Company of Heroes actually restricts the camera into a pseudo-isometric fixed view, allowing you to zoom in for no adequately explored reason other than to take screenshots to show off your graphics card. Every single player of the game plays at maximum zoom, because thats the only way to have any concept of what is going on. Spinning the camera around 360 may make for great GDC trailers, but its entirely unsuitable for actually controlling an army. People lose orientation very easily. Being able to spin the world around you is great in theory. In practice, you just forget which direction is which. (If spinning the map made so much sense, army commanders would have had circular map tables :D)

3D isn’t new or exciting in 2009, It’s just another option in the toolkit. Game designers need to get over the 3D obsession and make more considered design decisions. Some genres work great in 3D, some don’t. Large scale battles work best in 2D and probably will right up until we are all commuting to work in flying cars.

Long live the future of 2D strategy games.