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

Democracy 3 and overrides

I have long wanted to code a particular system for Democracy 3, and finally got around to adding it, just before I (recently) put in mod support. I’m calling the system in general ‘overrides’. Essentially, what it is, is a way for someone to create a text file that specifies a connection between two game objects and define them with a new equation, or negate them, or add a totally new link. This is best served by an example…

“AND ON THE EIGHTH DAY HE CREATED GAMBLING”

There is a relationship, coded into the game (data-driven of course) between gambling policy and the happiness of religious voters. By default, as you legalize and liberalize gambling, religious voters become more upset, with a degree governed by an equation, such as -0.2*(x^3), where x is the intensity of gambling (degree to which it is legal).

This equation is picked by me, as being my best guess of the general effects of gambling on religious people. However… In the USA, I get the impression gambling has a more negative connotation. You guys banned online poker, for example. Maybe religious people should be more annoyed? maybe -0.4*(x^3) or maybe the curve should be 0-(0.45*x), or whatever else you like… Overrides allow this to happen, because each country has a folder full of overrides which get automatically applied when that country is played, enabling me to tailor each country a bit.

It gets better…

In theory, adding the capability for a folder of player-designed overrides is trivial, meaning players who decided that in their view, gun ownership reduced, not exacerbated crime, could save out an override to that effect, and never be offended by cliffs liberal gun-hating ways again! :D

Also… it’s a modders paradise, because not only can you add new simulation values, policies etc… now you can zero-out existing effects. So if the game has object A affects object B, and you want to mod it so in fact A affects C and then C affects B, to add some subtlety and complexity and extra feature… then you could do that without *ever* having to alter the original game files at all. This should make experimenting with player-made mods much much easier, and less risky than normal.

I hope people get stuck in and use them :D

 

Dumb multithreading question (how to safely quit a multithreaded app)

I’m not a multi-threading expert. my main process trundles along nicely then when loading the game it calls CreateThread() to do some loading stuff. Then, while the main thread is rendering my lovely loading screen, and the new thread is loading in data, some evil player hits the top right X button, or alt+F4s the game…

Instant crash!

Unless I add code which calls my thread manager and then calls TerminateThread(). This works…but then the app does not actually properly quit, so it can’t work right. Also… I now read that TerminateThread() is not the way to exit a thread anyway, and I’ve been using it all this time… arghhh!

How do you handle quitting a multithreaded app when the player arbitrarily exist it? Nobody seems to have a definitive answer…

Some Democracy 3 simulation changes

Sooo… it REALLY helps to talk over your game design with other people, especially as a lone indie. I sit here shivering in the small dark basement I program in sipping tea in my luxurious gilded office, and realize that I am alone in a bubble of game design where other peoples input goes unheard. So after a brief chat about the design with someone else, I’ve realized I need to make two changes to the simulation stuff:

Democracy3-Brand

Firstly, there is the topic of dilemmas. Dilemmas are a good mechanic because they are issues you cannot kick down the road. For example, there is an application to build a toxic waste dump. Do you say yay or nay? Saying yay obviously annoys environmentalists, but for how long? Right now… the answer is FOREVER.  I now think this is wrong. I think it should decay over a long timescale, and also that dilemma should possibly be re-usable. if the player *wants* to play an endless game of D3, surely they shouldn’t ‘run out’ of dilemmas? This is a change that needs making.

Secondly, the current system has a negative effect on your popularity after an assassination attempt. This was because I wanted it to reflect how bad and unpopular your government was, implying that people who were on-the-fence about you, would see someone trying to kill you and go ‘oh Obama must be a fruitcake, look at those guys shooting at him’. I now think this is just WRONG. Surely the opposite is true? I might not like the UK prime minister, but would I like him less if someone tried to shoot him? Especially if I was a ‘floating voter’. I suspect the spirit of ‘rallying round the government’ would kick in, and maybe have a positive effect on your support.

That also has the positive effect that it is a nice self-balancing game mechanism, rather than the current spiral of failure. I’m pretty certain I’ll replace the impact with a slight, short-term popularity jump.

Three pronged game development strategy

We hear a lot about how the PC market is on the way down, Dell are making less money, Microsoft keep making stupid decisions (someone sack ballmer and put in someone with a clue as to what they are doing please). and meanwhile everyone’s favorite tax-dodger apple is making more money than any sane human can imagine. Desktop PC’s are out, and tablets are in. Mobile is king. Just look at any number of crazy charts etc…

I suspect that although desktop PC gaming may not be as healthy as it once was, it is still pretty healthy, and I suspect laptop PC gaming is probably stronger than ever before. Laptops always used to be an executive, wealthy-persons PC, with the majority of us putting up with big beige boxes whilst the high fliers had a Sony Vaio. These days, laptops are cheap as chips, and have more than enough horsepower for gaming.

Personally, I still do 95% of my gaming on my desktop. This is to be expected for a developer, because I have 9as I keep reminding people) a darned comfy office chair and a nice office. I’m perfectly happy gaming in my office. However, the reality for people not working like me is that PC use might increasingly be on a sofa, in the garden, on a kitchen table with a laptop, wherever.

I’m hoping to steer positech in a bunch of different directions over the next few years. here uis my grand strategy marvel/laugh at its genius.

LAPTOP GAMERS

Democracy 3 is aimed at you. I will try to minimize it’s file access and CPU usage to ensure it doesn’t drain your battery, and I pledge to playtest it on laptops at least as much as desktops. D3 is a thinking game, one you might prefer to play lying on a sofa with a laptop.

TABLET GAMERS

Redshirt is aimed at you (it will also be on mac/pc). We plan to get this game out on ipad as it really does look the part in ipad format. Plus it’s relatively low system resource usage means it actual fits in ipad RAM :D.

DESKTOP GAMERS

Gratuitous Space Battles 2 will be aimed at you, if/when it gets made. In fact it will be seriously ninja-aimed at you, trying to squeeze every ounce of processor capability that I can.  Possibly supporting big picture mode for TV’s and I hope to experiment with multi monitors too. bwahahahaha.

This is my plan. Annoyingly, there is still only one of me. I must rectify that somehow.

Scheduling a game release

This is a tough call. When I was a newcomer to indie game development, making smaller budget games with fewer sales, I used to think we had a huge advantage over the AAA guys. A triple A game (in almost *all* circumstances) HAS to ship in a specific month. They do this because the ad-buy has been scheduled, the contracts for PR people have been written, the availability of release slots for portals and platform holders is agreed, the finances are in place to pay everyone assuming that is the ship date, and so on… So what happens if the game is not fun two months before release?

TOUGH

Tough Tough Tough. Maybe everyone could work evenings and weekends (like they hadn’t secretly allowed for that anyway?) and maybe everyone can put in some extra effort…but it’s a really BIG DEAL in financial and PR terms if you push back the ship date.

As an indie, this is not the case, so we can be a bit smug and say ‘it’s done when it’s done’.

Except increasingly… this gets hard to do. The problem isn’t so much financial – luckily I could work another year on the current game and not be short of money to buy food, but one of scheduling. If you want the PR people, the guy making a trailer, and so on to be available towards the end of a project (when everything is nailed down and won’t change) you need to book them early. More relevantly to me, I only want to appear at trade shows showing off a close to release game, not an early alpha. If redshirt and Democracy3 were June 2014 releases, I doubt I’d show them at rezzed or anywhere else yet. Not because it’s ‘too early’, but because doing shows is EXPENSIVE and you want to pick your battles. Promoting a game you can buy next month or NOW makes more sense to me.

I’m fussy enough to be able to throw my arms in the air and say “We must wait another year dammit!” on my games, although luckily both are coming along nicely, but it’s something as an indie you have to keep an eye on. You don’t just need to make sure you have cashflow to pay the bills until the ship date, you need to have a release date in mind for lots of reasons.