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

Democracy 3 workshop support was a good idea

There are now quite a few cool-looking mods for Democracy 3 on the steam workshop page (and others for non-steam versions can be found at my site here). I’m so glad I introduced modding support. I haven’t tried very many of them, but just from the titles, I like the sound of the ‘State Pyschologists’ mod, the ‘Religious Prisons’ one, and a whole mod dedicated to dental health issues (oh yes).

workshop

I have a few ideas myself for mods, which I throw open to the modding masses. For example:

  • National lottery! (makes the poor happy, but also poorer at the same time!)
  • Help-to-buy scheme. Essentially the government backs mortgages for the middle classes. Popular with the middle classes, but expensive if GDP drops due to defaults.

You can pretty much look at the headlines on any particular day and find something that is very moddable for the game :D. In the meantime, i should point out that the retina-font update for the ipad version is OUT NOW! And already got a thumbs up here:

http://www.pockettactics.com/news/ios-news/vote-fixing-democracy-3-update-adds-lovely-retina-fonts/

So if you were holding off because of that, please take another look, and as ever, please leave a review of the game in the store if you like it :D.

I’ll have other news soon, both Gratuitious Space Battles 2 related, and ‘other stuff’. Stay tuned and all that.

The programmer constraint

Positech Games suffers from the programmer constraint. Everything that gets made directly by positech goes through the funnel of coding by me, and it’s becoming difficult to keep that up. GSB 2 is a BIG BIG game. It introduces a lot of new features to the game, and it has a much much more complex engine (a multi-threaded one). It will also have higher production values, more music and art and so on, than it’s predecessor. This is fine, as I have the budget to match my ambitions, and no real time constraint (although I’ll have to have a ‘playable’ version for Eurogamer in London, this September. The only thing that holds the game back now is me.

I’m the only programmer, and that is a pain. GSB2 uses my own custom engine, and no middle ware other than a sound library. There is a LOT of code, and although I do none of the art, the constraint of me being totally the only coder slows down the games production, and possibly limits its scope. I can see various mitigation strategies.

Mitigation Strategy #1

Delay the game. Just deal with the fact that it will take another year, and keep plugging away. This is the easiest option, although one I don’t like. I dislike 2 or 3 year projects. I already have plans to show the game in September, I can’t wait years to release after that. Plus the memory (and player-base) of GSB will degrade more the longer I leave it. Plus also I won’t earn any money until I start selling it!

Mitigation Strategy #2

Scale down the ambition. The engine runs very fast already, it really does not need to be optimized that much more. The GUI can be functional but not flashy.  I really don’t need to go bananas with features like steam leaderboards or online messaging etc. That’s stuff I can leave out of the game. I dislike this strategy too. This is a sequel, it should be the better interpretation of the idea, with better everything, and all cool features intact. I’d be disappointed otherwise.

Mitigation Strategy #3

Hire a coder. This would be ideal but vastly problematic. Experience with Unity or Unreal or the Source engine will not help you with my engine. it’s all my work, and never written to be understood by anyone else. Plus how can I be sure their work is good without checking it and testing it, which might take more time than me just doing it? I  am not good at code collaboration, so this might keep me awake at night. What if they code some bugs I then have to fix? Nightmare… Plus I’d be VERY picky. How will I find a very experienced (no time to teach) coder that is available, reliable, affordable and motivated enough to work alongside me between now and the project end. This is unlikely.

Mitigation strategy #4/

Offload everything else. I already have taken steps towards this. My Linux & Mac ports are done by other people, some of the PR stuff is outsourced, as is making trailers. All the art and music is outsourced, should I hire a sound designer to pick sounds too? what else takes time? QA? Should I hire some QA company to do playthroughs? Could I maybe hire a designer to do some balancing? A writer to do some writing? Even though i am never really happy with it (because its’ hard to edit) should I take the plunge again and get the website designed and implemented entirely without me?

This is my favorite strategy. I can probably do a bit more of this, offloading all ‘non-core’ code stuff, and literally everything else. it does mean a pure-code lfie for me, which can be a bit maddening at times. I still have the biz strategy and advertising task in my court though :D

Stats overload, a lesson in game over-design?

I’m currently playing 3 games. Tropico 5, Company of heroes 2 and Battlefield 4. When I’m playing Battlefield 4 or COH2, I feel like I’m achieving more than T5. Why? Stats and achievements. I know…It’s crazy. When achievements first started, it didn’t seem like a bad thing. game designers would use them to do some fairly clever stuff. You can encourage people to replay a level 9and get more fun from it) by having a special achievement to play it a certain way. You can suggest people experiment with unloved or new and experimental game modes and styles by tying achievements to them. This is a great idea.

Also, slightly spookily, you can use achievements tot rack player progress. Some players get upset if the game tells the develop every move you make, but if it can do so as it tracks your ‘achievements’ we don’t mind. For the designer, this is awesome. You can see if everyone gets stuck on level 6, or not that the best players all use the same gun, so it may need nerfing…

The thing is, F2P designers have taught the paid gaming designers how to use achievements to encourage players to keep playing again and again and again and again… And although to a lot of people that’s no bad thing, it can have drawbacks. here is my BF4 stats overview (just 1 screen of about 50 showing my play stats).

stats

The thing it doesn’t point out is that I’ve put in 92 hours of time on that game. 92 HOURS. And in terms of unlocks, stats, awards, leaderboards, achievements, prizes, battlepacks, rewards, and whatever else there is, I reckon I’ve ‘unlocked’ or ‘achieved’ about 5% of it. I might suck at games, but even so, raw calcs suggest I need to spend 1,800 hours to ‘finish’ the game.

Now I get it, that’s not the point, hardly anyone unlocks everything, but there are two drawbacks here.

1) If equipment is tied to unlocks, that means 95% of your players aren’t getting the full game. I have no idea what most of the weapons are like in BF4, I haven’t unlocked them. I didn’t even get to more than 20% in BF3 before BF4 came out…

2) Some people have OCD. I have it a *little bit*. When I see those greyed out and locked items, it DOES make me want to keep playing. I cannot imagine the life of a real OCD gamer faced with screens like these.

So I guess it’s a balance, I *LOVE* achievements and stats, I’m the guy who made getting a job and romantic relationships into a stats based game. I do wonder if sometimes, the designers are just overdoing it though. The stats screens for Company of Heroes 2 are definitely designed by someone whose wife ran off with an OCD sufferer. That’s the only explanation that makes sense.

I blog a lot about advertising. If you’ve read the books I keep pimping you’d know that modern advertising is fucking scary. Don Draper isn’t around any more, they test ads using MRI scanners. The hottest jobs in big business aren’t in engineering or finance or old-fashioned marketing. They are in neuroscience and psychology. People are getting *really good* at working out human behavior and forcing us to do things without us even knowing. I find some games pretty addictive, but they haven’t even got going yet. How addictive and fine tuned will BF5 be or BF6? We have already had people collapse and die after marathon gaming sessions. I suspect that’s going to become more and more common. Sadly.

 

 

Insanely big GSB2 screenshot

I’m ahead of my self-imposed schedule, so I spent a morning getting multi-monitor support working right for gratuitous space battles 2, stretched across 2 2560 res monitors. I’m quite stunned at how little that res affects the framerate, I took this at 56 FPS. click to enlarge, but you might need multiple big monitors :D

huge

 

GSB2 Multithreading a single frame (so far)

Here is a big battle on GSB2 running at 1920 1200 res, on a GTX 670, quad core windows 7 PC. This was taken using the visual C++ concurrency visualizer. 3732 is the main game thread. Green is busy, red is idle, light blue is sleeping (end of frame, waiting for flip). Click to enlarge.

multi

1284 seems to be the thread where directx or the nvidia driver does it’s stuff (not sure which).

7596 2692 and 2788 are my additional threads of GSB2 doing processing. Each of those colored bubbles represents one or more tasks that a thread has grabbed and is working through. The big red stretches are obviously gaps I could potentially fill as I find ways to break apart dependencies of tasks and push more of the main thread into the other cores. It’s obviously already been worthwhile, as I reckon I’m currently doubling the framerate (just about) thanks to multithreading. Almost all the grey blobs are transformation of particles within particle emitters, packed into arrays. These are too numerous and cause too much thread-scheduling right now so I might make those arrays bigger, or even dynamic sized.