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

Stability == productivity

I have had to update and change a few things lately, and will be changing a few more things, and it leads me to use on the fact that I generally do NOT change things and how that is *a good thing*.

Due to changes to the pricing of cpanel, my server (yes for historical reasons I still have a dedicated physical server for all my sites) has to switch to a different physical box, and that means a lot of checking, and fiddling with hosts files, and rechecking, and panicking about php and so on…

Also recently my company bank changed their user interface and made a total and utter hash of it, that has caused me no end of admin hiccups and annoyances getting everything to work fluidly again…

…and me and Jeff (co-coder on Democracy 4) will shortly be switching to use git, as a mutually agreed source control system. This will cue no end of gnashing of my teeth and moaning that I don’t know how it works…until I get the hang of it.

In general I have found that from a productivity POV, change is BAD. It is REALLY bad, and you don’t realize how bad it is until you have gone multiple years without changing anything. Production Line is developed with my same trusty engine as years ago, in directx9, with visual C++ 2013, perforce for source control, visual assist, and nothing else changed for years other than my monitor, and my PC a few years ago. I use the same sound engine middle-ware as I use for most of my games, without change, and no other middle-ware at all.

…not quite THIS old…

With a certain level of code experience, and a rock-solid stable setup that *never changes*, making video games i actually kinda EASY. Its just typing. Literally just typing. I started typing for fun around age 8, so you would be amazed how stupidly fast i type now. My wife thinks I’m being sarcastic when she hears me typing but thats the real speed.

When I hear people talking about how an (unwanted) update to their middle-ware has broken their game, or how upgrading to a new O/S or maybe a new dev environment has lost them a day (or more), I just wince. Thats totally unnecessary pain. You do NOT need to port your code to the latest engine, or the latest operating system version, or the latest API. Unless you are working on the frostbite engine, this stuff should not bother you.

I don’t have a vulcan API path for my games, in the same way I don’t have a ‘mantle’ code path either. Why would I? Why would I even use directx 10, let alone 11 or 12. I make isometric strategy games or iconic top-down games. I don’t need ‘ambient occlusion’ or ‘subsurface scattering’. I’m not 100% sure what they are.

has that much really changed?

Nobody will buy your game because it uses the latest API, or because it uses some cool graphical feature (unless…frostbite). Nobody will buy your game because you developed it on the latest IDE, or using the newest coolest system. And your in-house productivity tools? did you change those too? did you start using slack? why?

I chat to Jeff using skype or *gasp* email. When I work on spreadsheets I use Microsoft office, the old school purchased version from 2010. Tell me what features are in the new cloud-based tools that you NEED to make better games… BTW my software subscription cost is trivial, just malwarebytes and….oh thats it.

So my top tip from an old grizzled but stupidly productive game dev… Find a dev environment that works *for you* and then look at changing it maybe once a decade. If you HAVE to. That goes for everything. Get a decent office chair and you will have it for a decade. Get a decent keyboard and you will have it for ages. Don’t change anything, don’t install anything, don’t even move anything, just TYPE :D

School #2 video update

A quick update on the 2nd school we financed in Cameroon. Marianne from Building Schools for Africa recently got back from a visit to a number of schools and sent us these two videos. So cool to see kids outside and inside the new building :D.

Progress on Democracy 4 speeding up

It must be hell being a ‘producer’ in the big budget triple-a games development system. The development of a video game proceeds at almost any conceivable rate other than linear. I’m sure for some games there is an immediate sprint of exciting new stuff…then a drought as bugs are fixed. In the case of Democracy 4, we have had a whole lot of under-the-hood re-coding with little to show for it visually, and now a sudden rush of cool stuff happening.

Of course a lot of this tracks from the point at which artwork and music and sfx start rolling in. I use contractors to develop music, sfx and art, so I don’t have the option of just hearing the odd new piece of music or peering over an artists shoulder to see how stuff is going. It can be hard to drill into people that “yup, you can send me new stuff EVERY DAY, its fine”. As a result, Democracy 4 seems to progress in sudden jumps and spurts when new stuff goes into the game.

When I talk to players of D3 about the new game, they are always focused on new options and content. What new policies will go in? what new events? what will they be able to do that they couldn’t do before. This is all vital stuff, and I’ve kept quiet and felt bad about discussing the games development for quite a while because we simply haven’t been working on that.

For ages, it feels like I’ve been tweaking the shape or size or color of buttons, the layout of dialogs, and jeff has been recoding the way everything gets rendered (especially text, allowing us to support Russian/Chinese when the game leaves early access rather than four years later…) This is all super-vital stuff, and i’m glad we have been giving it the attention that it definitely deserves, but its probably left an impression that D4 is a shiny re-skin rather than a proper sequel…which is not true.

I recently mentioned that we now have third party support (if people choose it), which is the first new feature. We have also discussed (and its on my personal todo list) adding support for nationalization and privatization to the game. This will make quite a difference, but we haven’t reeled off any of the new simulation data we will be adding to the game.

Today I added some new simulation values to the game: healthcare demand and Internet Speeds. These are both pretty cool. High tech means more healthcare options (operations & treatments) are possible, but also increase demand. Immigration and actual healthcare problems such as contagious diseases, alcoholism and obesity will also feed into demand. Balance this against private and public healthcare provision to work out if you have a hospital overcrowding crisis.

Internet speeds is a fun one because its a much-needed policy that allows us to make young people happy or unhappy depending on speed. I’ve also added an effect where it makes people more likely to be self employed, which is relevant to me, living in a tiny rural village where there are lots of people working from home. Internet speed is way more of an issue here politically than you would think.

Other stuff we added recently includes multinational tax avoidance (especially by tech firms, such as ones that rhyme with ‘moogle’ or ‘blapazon’), and a ‘diverted profits tax’ (also sometimes called a transfer-pricing tax) which helps to combat it. There are a LOT more to come, and yes, to avoid 99% of the replies…universal income will be one of them :D.

Because I have been a bit slack on blogging and am reducing my twitter usage, I should point out to anybody reading this that OH MY GOD, you can now get our awesome pharmaceutical cure-em-up ‘Big Pharma‘ on the Playstation, The XBox and on something called the Nintendo Switch. I think those are game ‘consoles’, which all sounds very young and hip to me. It sounds like a perfect Christmas gift to me. (but not for me thx, I’ve got a copy).

Social Media Re-think

I’ve been on the internet since 14,400 baud modems. I’ve had this blog for a stupid length of time. I was on facebook and twitter *fairly* early. I remember IRC, I remember ICQ, I remember AOL. I remember the sounds modems made. I remember usenet newsgroups, and excite, lycos and alta vista.

The internet has never been as inhospitable as it is now. Its never been this toxic, this abusive, this unusable. Yes, I include usenet and IRC in that.

Three of the people responsible are Jack Dorsey (twitter) Mark Zuckerberg (Facebook) and Evan Speigel (Snapchat). There are others. They are mostly identical copies of each other, showing laughably little diversity. The people behind all this are white, straight, male billionaires. Why do I mention this?

Because ironically, the white, male, straight billionaires have weaponized ‘identity politics’ and similar topics to make more and more and more money. They are well aware that the way our brains work funnel anger and fear directly to us before our reasoning system even kicks in (an evolutionary advantage, now turned against us). The BEST way to get people to keep communicating and ‘engaging’ is to use hatred and fear. Nothing else works so well.

Social media’s business model is based on ads, marketed to people who are ‘engaged’ and always on the site. What drives more ad impressions? hatred and fear, hatred and fear, hatred and fear.

Constructive debate doesn’t sell newspapers and it doesn’t sell ads either. Every time you get dragged into a heated online argument or hate mob, or get talked into retweeting some angry aggressive hashtag deriding people as communist scum, or fascist bastards, or white-supremacist racists, or what ever other extreme hyperbole we can dream up… you are being whipped into doing this to make 3 white male billionaires more money.

Identity politics and ‘woke’ politics is PERFECT for this. What could possibly cause more hatred, anger and fear than making sure everyone is pigeon-holed into smaller and smaller and smaller and more rigidly defined groups. That way more and more people are OUTSIDE your group. The best thing would be for you to cram hashtags into every post, to ‘trigger’ as many people as possible, and stick as many identity politics terms on your Facebook or twitter profile as possible, to annoy as many people as you can. Make sure you update your Facebook profile to signal the latest opinion on topic X. You CANNOT possibly be a fan of David Bowie without changing your profile pic when he died, otherwise how would other people KNOW you liked David Bowie! the horror! Quick! fill out your profile even more, do you like THIS album? did you watch THIS movie…

People are being railroaded and goaded into sticking their politics and their sexuality and their innermost thoughts right into the faces of EVERYONE they meet, so we can all form instant judgments and hate each other even more to keep those white male billionaires in yachts and private jets. Keep arguing kids! keep being angry! you don’t know what people are angry about TODAY? oh my god…here is WHATS TRENDING NOW. (almost certainly not really whats ‘trending’, but what creates the most ‘engagement’, meaning anger, meaning ad revenue…).

Fuck it, I’m done playing this game. This year I left a mailing list for games dev I’ve been in for year. I closed my account at a forum I’ve been on for decades. I deleted 20 years of posts on one private forum. yesterday I nuked 75% of my facebook ‘friends’. I don’t fucking care if you are angry at Donald trump or Jeremy Corbyn, or you support the first amendment, or the second amendment, or you are white or black, or gay/str8/cis/nonbinary whatever.

Frankly unless I want to have sex with you what the fuck do I care about your sexual preference? Unless we are picking a restaurant together what the fuck do I care about your diet? Can’t we just get along without sticking ourselves in these stupid-as-fuck boxes? I don’t know if my next door neighbor is gay or straight or bi, or whether they support legalizing drugs, or if they voted conservative. We get along fine, it hasn’t come up, why WOULD it come up?

I’m keeping my blog. I may blog more and tweet less. I own this blog, its on my server, I can moderate and delete comments by abusive people, and only people who know me/my games read it, which is fine. I see little value in having arguments with random maniacs on the internet. I’m also keeping twitter because I find it occasionally quite funny, but I plan to tweet way less.

I’m less angry in person than online. SO many times I meet people and they tell me I’m not what ‘they expected’. Social media enrages us all, weaponizes us all to spread lies, fake news and the more extreme opinions as possible. Its bullshit and we should all do our best to stop dancing to the tune of three white male str8 billionaires who don’t care how much damage they do.

Stock Market Analysis ‘fun’

EDIT: lol. I had some serious bugs in my code, so ignore those numbers. The real ones are less extreme :D

To try and crack down on my almost comical tendency to overwork and be working 100% of the time, I decide to do some ‘fun’ coding today instead of work, to help me ‘relax’, which is something people keep telling me to do. Obviously I’m still me, so it involves programming..

I dabble on the stock market (I used to work up there many lifetimes ago) and something I have long found infuriating is the absolute awfulness of UK retail stock-market reporting. Its almost like they don’t WANT you to know if you are making money or not.

My broker (Hargreaves lansdowne) is great at telling you your current profit or loss as a percentage and in financial terms, on each trade, but this doesn’t take into account how long you held the stock, rendering it effectively useless. If stock A has been held 4 years and is up 4%, thats way less attractive than stock B, which I bought last Wednesday and is already up 1%. They make it IMPOSSIBLE to get the real ‘;annualized’ figure.

What I wanted was ‘the rate of return, if I held this stock for a year, and the stock growth was linear over that year, given its growth during the time I held it’.

It turns out, to do this, I had to copy and paste a bunch of PDF files into .txt files, then write my own code to parse it all and rearrange it into a CSV so I could visualize it using excel. This also meant grabbing a copy/paste of today’s prices for stocks I still hold and have not sold, and then doing the SUPER TEDIOUS work of copying and pasting dozens of names, because it turns out HL use ‘different text’ to describe a stock in their PDF reports than they do in their live prices (grrr). Its also annoying that they changed their formatting about 2 years ago to include the exchange code, so I had to detect those and strip those out of some lines of text. Plus there are other errors, and missed text here and there, meaning my results are (so far) probably not 100% accurate.

I suspect all the data I *do* have is correct, but in some cases there are some missing buys and sells, so I’ve effectively ignored those stocks.

Still…it amused me for over half a day, and means I can bask in my glory on these stocks:

And cry into my sleep about these…

None of it is as good/bad as it looks, because the results are annualized. For example I think I held my bitcoin for about 48 hours, and some of the others I held for very short periods as well. Its probably worth doing some sort of clever smoothing code to work out which are the ‘long term good picks’ versus me just getting lucky over a week or a month.

My TSLA stock is a good example. I’ve made a series of buys (and one sell) over a great many years, and although its been very volatile lately, the ROI on an annualized basis is looking pretty sweet. The Biotech Growth Trust is also looking pretty cool, and I’m also happy with Materialize and Teradyne.

I should probably do that pointless legalese bullshit here that says ‘this is not advice’, but frankly if you take stock picking advice from a British Chocaholic game developer who likes to drink a lot, then you probably aren’t going to listen :D.