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

Economic model…strokes beard…

So I think you can probably see the problem here right…

economic_model

Behold my cutting edge game design tools!. Anyway, I got annoyed that ‘wasteful economy’ in Democracy 2 was pretty nebulous, and tried to fix it for the sequel, and realized I probably needed a measurement of wages for that, and then tried to avoid adding ‘competitiveness’ or ‘exports’ because frankly its complex enough as it is…

Generally I’m pleased with most of this,(BTW the bottom left circles are low and middle incomes), but I hav2 big phat question marks, namely

1) How does wages affect GDP and vice versa

2) how does productivity affect wages and vice versa

Can I fix this WITHOUT adding new variables? Do I really need wages? my plan is to be able to add a new item of ‘uncompetitive economy’ which is basically just an extreme example of low productivity. Essentially, we are paid too much and achieve too little (Italy! ahahahaha hahah ahah…). How does this fit in? Basically labour laws (restrictive practices) will keep wages high despite low productivity. Is that really possible? if so, maybe the combination of high wages and low productivity will reduce GDP (implicit hidden factor of reduced competitiveness).  maybe low wages could be another positive input into international trade, or perhaps I *do* need competitiveness and have both cheap imports and international trade (re:exports) keyed from it? with wages pushing competitiveness down and productivity pushing it up?

ARGHHHHHHH!

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.