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

Turrets in and working

Here’s a screen shot of two of the ‘federation’ ships with their turrets attached. I have decided to ignore 3d renders for the ship turrets on the design screen and just re-use the gfx from the actual in-game. I think that’s more consistent and it was only adding a needless 3D look to a defiantly 2D game anyway.

One day I might be able to have designable ships where you can move cosmetic bits about, but because the sprites are actually 3D renders and use self-shadowing, that might be a bit problematic. Even placing turrets is pretty cool though.

Aiming at laptops

One of the big problems with Kudos and Democracy (my two best selling games so far) is that they are basically fixed resolution games. Democracy 1 supported two resolutions, and you can always hack them by fiddling with config files, but basically those games assumed a certain size screen and didn’t scale up or down.

With Gratuitous Space Battles, I’m aiming to support both people with huge monitors, and hopefully people with small laptops, running 600 pixel high screens.

That will mean some major fiddling with the ship and fleet design screens, and the pre-battle deployment screen too. The big probloem will be those 600 pixels. Of course, I could do some super-dynamic scaling thing, but it’s not nice reading text designed for 1900×1200 on a 600 pixel height laptop.

What I probably need is a number of different windowed layouts for different size monitors. The battle screen will be easy, because it already happily scales without any issues.

So if the fixed resolutions of Democracy 2 and Kudos 2 bugged you, don’t worry, I’m fixing it this time :D

BTW, I released a free add-on mini-patch to Democracy which adds a new dilemma for banking bonuses:

Turrets

I’ve finally got code written that supports the same ship module having different sprites on different spaceships. What this means is that the same weapon (fast pulse laser) can look different on a rebel ship to a federation ship, so hopefully they don’t ever look too out of place.

This works fine, but right now I’m assuming I’m using the same hi-res 3d image for the weapon on the ship design screen, regardless of which ‘race’ the ship hull is from. I have several ways to fix this, none of which are ideal…

I could have different 3d renders for each turret on the ship design screen, depending on the race of the ship hull. This is a lot of work, and also might be confusing. Shouldn’t the player be able to recognise a pulse laser icon regardless what race he plays?

I could have a generic 3d image for the design screen, but represent it differently on each ship, which is easier, but it means breaking the visual connection between the 3d render and the 2d sprite which might be confusing.

I could scrap the idea of the turrets representing individual variations, and just have 3 or 4 turrets for the battle screen, and tons of different 3d ones for the design screen.

I really like the idea that placing a turret in the design screen reflects exactly what the ship will look like in battle. However, it doesn’t really matter in gameplay terms, and ease of use on the design screen is the most important thing. Maybe I keep all the data the same, but have different sprites and 3d renders depending on the selected ship hull. In any case, there is tons of 3d modelling, rendering and data entry to do…

Sex discrimination and who works on games

My eye was drawn to this story, because it refers to where I used to work. Short summary is that a game developer is claiming compensation for discrimination at work for being gay. I won’t go into the actual case, because I don’t know the guy and haven’t worked there for ages, so it’s not fair to comment. However,I would like to extend the issue it covers to a wider call for action:

The games industry needs to grow up and stop acting like kids.

We act all high and mighty and start huffing and puffing the minute anyone suggests that ‘video games are for kids’, whilst at the same time doing very very little to change that perception. With a few very notable examples (the nintendo wii, games like Civ and some of the more complex sims) games ARE aimed at children, either deliberately, or aimed at the ‘inner child’.

It may be true that most people playing GTA and Call of Duty and World Of Warcraft are NOT 13 year old boys, but if so, that’s a triumph against the odds. Everything about mainstream gaming seems to aim at that demographic. Think about how to make a product attractive to a 13 year old boy, and how many games incorporate this stuff:

  • Guns (enough said…)
  • Big Tits (“phwoarr! etc”)
  • Scoring points (“I’m better than you!”
  • Achievements (“like gold stars on a school report”)
  • Bragging rights and taunts (“You suck!)

Outside of video gaming, most of us grow out of obsessions with these. (well most of them..ahem). Of course, you can make adult-aimed (non-sexual) games that contain guns too, but a hell of a lot of games just use guns as pure gun porn. Show me a game that contains a female elf that looks like anything but a supermodel. Show me a soldier in a game that doesn’t have biceps like zeppelins. They are few and far between. Alyx in HL2 is a wonderful exception to all this, but she is the exception, not the rule.

Anyway, my reasoning here is that these sort of games are what we make, because that’s the kind of people we are. Game developers are overwhelming male, overwhelming white (scarily so), overwhelmingly middle class, and overwhelmingly under 40. I have no idea what proportion are straight, but given the amount of artists that spend all day modelling buxom elves, I assume 99%. (Given the amount of time artists spend modelling men’s biceps and chests, I assume 99% of the 99% are just in denial :D)

I’m 40 this year. I’ll still be making games, but I’ll be unusually old for a developer then.  Normally by this age you ahve left and got a real job, or you run a big studio and employ the same young white rich kids to do the work.

What the games industry needs, in order to grow up, and to grow in size, is more women, more black and asian people, more gay and lesbian developers, and people from different backgrounds. And that absolutely means that it needs to crush with huge force, ANY discrimination in the workplace.

Maxis apparently have more women that usual for a game dev, no surprise they are doing well.

Now before you slag me in the comments for doing a game called ‘gratuitous space battles‘, take note that I entirely include myself in this. I am white, under 40, came from a borderline working/middle class home, straight and male. (plus surely I get points for doing intellectual games?) I like buxom elves and spaceships exploding too. This is why people who are not like me should get into the industry. Save us from ourselves.

Escorts and formations

I got the code in today for ships to escort others, and for formations. There is a very clunky ugly GUI for setting it up, which needs fixing at some point.

Basically, in the deployment stage before a battle, you can add orders to each ship which will instruct them to escort or fly in formation to a specified other ship. If that ship is destroyed, the orders get ignored. Escorting is the same as saying “Do what you want (according to other orders) but dont get more than x meters from this ship.” Formation is the same as saying  “Always remain at this exact offset in X and Y terms from the specified ship”. The formations are in world space, not relative to the parent ship, and this seems to work best.

It seems to work (although I havent’ tried fighter formations yet), and I can see already it will lead to much more strategy in the game. You can set up ships to be flanked by other ships with anti-fighter lasers, thus providing a screening layer for a cruiser which might have invested in big guns and not have room for anti-fighter modules.

Plus a group of cruisers or frigates flying in formation looks pretty cool, especially after I fixed a silly bug which meant 75% of the laser bolts were not getting drawn. It’s real mayhem now :D