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

SQL headache

Gah, I spent all morning wracking my brains to fix a rendering order batching bug (fixed! yay!), and now I suddenly have a second daily headache with some SQL. If you use SQL a lot you can probably tell me how trivial this is…

Imagine a table of scores

DaveĀ  PlanetA 4,200

Mike PlanetB 2,200

Dave PlanetA 4,100

Chas Planet A, 7,200

And so on. What I am doing right now is a SELECT to get the top 20 rows from this table where the planet is (for example ) PlanetA. What I *want*n to do is to get the top 20 rows, but only the TOP entry for each player. So you only appear once in each high score list.

I can’t get my head around how to do that. I want something like SELECT * FROM scores WHERE scores.planet == ‘zog’ AND scores.score IS HIGHEST FOR score.player ORDER BY score

But of course I’ve made that syntax up and its imaginary. Albeit cool.

Tell me there is an easy way to do this thang?

And ooh guest what! Democracy 3 is the #1 strategy game on the ipad right now, due to a rather insane price drop I’m experimenting with…

Still fixing bugs, adding tweaks

I’m still working on bug fixes and other tweaks and improvements for Gratuitous Space Battles 2. There were, i have to admit, more bugs than I expected. I expected bugs in beta, and a look at the change-list will show you I fixed a LOT of them. What I didn’t expect was such a huge difference between the number of reported bugs in beta and those on release. I can only assume beta players were more forgiving, or maybe expected bugs they didn’t report to get spotted and fixed anyway. With a simple game thats possible, but with a big complex beast like GSB2 and 1 programmer…not so much. If you find a bug in 1600×900 res only when you have bloom turned off, on an asteroid map where you are using decoy projectors against camoflaged enemy dreadnoughts… There is a good chance I never encountered that combination. There is only one of me :D

So here is the change-list (so far) for the next patch…

1) Mouse wheel now scrolls the message screen inbox.
2) Inbox now formatted better. Also this screen now has a ‘challenges’ button.
3) Fixed bug where some combinations of graphics options could result in a blurred white battle screen.
4) Fixed crash bug in ship design screen when a ship encounters layers with zero physical sprites.
5) New tutorial message pops up (English only) when you try to save a fighter/gunship design with no engines or fuel tank.
6) Fixed graphical bug on some resolutions on the ship design screen when changing hull size types.
7) Ship design loading dialog now sorts by name correctly.
8) Fixed shader error message / potential problem on ship design screen for screen resolutions of 900 height.
9) Fixed bug where fighters who started returning to a carrier would not pick a new carrier if their first choice was destroyed.
10) Fixed cursor flickering on some low-spec machines.
11) Added new options to the in-battle visual options to toggle on/off asteroids/hulks/nebula clouds.

I’ll likely push this out tomorrow. I’ll probably also increase the unlock costs of a lot of items as well, and maybe sneak in a performance boost I worked out whilst looking at some code…

One of the things I’ve learned, AGAIN, releasing GSB2 is that vocal people get very angry about lists of content. GSB2 has 11 missions. The expectation is that people then enjoy challenges against each other, but people seem to keep complaining that there are only 4 races and 11 missions. GSB1 had 4 races too, but apparently because extra races got added in DLC, those are expected in the base game, so people expect 8 races and 20 missions.

The irony is, that sort of stuff is pretty cheap and easy top do (although with GSB2 it would boost the download size a lot). Adding another 11 missions is relatively easy (compared to the thousands and thousands of hours that went into the ship-editing and engine-redesign). I guess adding extra missions will be one thing that encourages people to leave better steam reviews, that and increased stability, which I’m pretty sure I have now, and even more so with this next patch.

So lesson learned, don’t ship with the amount of content you think makes sense and is reasonable. Ship with double that. I’ve already set aside time to do it.

In the meantime, if you are enjoying the game, please leave a steam review. I know 99% of you don’t leave reviews, which means I’m kinda dragged down by the 1% who had crash bugs which are now fixed but never changed their reviews. :(

Bugger.

On another topic, I’ve been pretty miserable lately. I’ve got increasingly sick of checking email/forums/tweets each day to get another few pages of abuse, snark, sarcasm and bile thrown at me. Pretty much every game developer I know gets the same treatment. Apparently this is acceptable behavior. It isn’t. I’m trying to dial-down my use of sites like twitter, facebook and public forums and stay away from the corrosive atmosphere of people online. Lets not even mention the steam forums, and the abuse you see there.

So you might be see me post a lot more about technical topics as opposed to business / pricing / sale / industry stuff. There is nothing you can say online on those topics that doesn’t apparently invite abuse and sarcasm. Not to mention ‘advice’ from people who have never sold anything in their lives, but apparently can see immediately why I am so penniless and unsuccessful.

Bah :D

 

 

Fixed the low-hanging bugs…. pause for breath…

Yikes,. so we had a lot of MUST FIX NOW issues in the first four days of releasing Gratuitous Space Battles 2. I think in retrospect I had bitten off a bit more than in possible for a single coder / designer to do.

GSB2 involved a phenomenal amount of re-engineering to support the kind of graphical fidelity I wanted. I sometimes read comments like ‘its just a new engine’, as though I just went into a drop-down box in unity and selected ‘new engine’, then hit the ship-it button. Arrggghhh. This new engine took well over a year of mind-mangling stress to develop. I love it, but its still hard work.

Anyway… Lesson learned #1: Multithreading increases your bug count by at least tenfold. Especially on ‘other peoples hardware’.

spag

Lesson learned #2: Don’t do a multi-platform release. Do a Windows release. Fix everything, THEN worry about mac & Linux. Or hire another 3 or four people. Or make a much, much simpler game.

The good news is that after tracking down some pretty obscure stuff, I’ve got version 1.26 out there, and early reports suggest it is MUCH better. MUCH more stable, and a lot of silly dumb-ass mistakes by me have been fixed. The only *big* bug left is some series of actions that leads to ship designs being (temporarily) deleted until you restart the app. I reckon thats easily fixable today. Which then means I can get on with what I wanted to be doing all along: tweaking values, improving GUI elements, supporting modders, and getting a feel for what features people would like improved or added. I know people want galactic conquest put in, but thats a HUGE project, and not one for the next few months. That didn’t ship with GSB1, and that was with good reason, I assure you. Every single weapon and module from every race & expansion pack of GSB1 is in GSB2. It also has more initial missions, but even then people complain it doesn’t have enough content. Argggghhh.

Anyway, at least I can smile now for the first time in a few days. If you are enjoying the game, please leave a positive steam review. Even better, tweet about it :D.

Well my game is on sale…time to relax? Ahahahaha

There is nothing relaxing about the day after launching a game. Especially when you do this for a living, and other people depend on you. Its a huge, big deal. Its basically betting your one and a half years income on a roulette wheel. And the worst thing is, it can be weeks or even months before you really know if it worked. Terrifying. I read a lot of books about similar (more established industries) to give myself some perspective. One of the Harry Potter movies (not the first one) LOST money at the cinema. Despite tens, probably hundreds of millions of people seeing it, it LOST money. They broke even, then made a handsome profit, only after all the TV rights, DVD, Blu-Ray and merchandising income came in. Imagine taking in $200 million+ and thinking “Yup we are still in the red guys. Don’t worry, it’ll be fine in the long run.” Holy fuck.

Thankfully I’m not *that* much down right now, but I’ll still have a celebration pub lunch on the day I break even.

The launch has gone ok, in that people are buying it, it jumped into the steam charts, people are playing it, they are uploading steam workshop entries for their ships, and I’ve got some very nice comments about the graphics. That’s all awesome, and trying out some of the challenges is hilarious. You people are very inventive when it comes to both ship and fleet design. I’ve got my ass kicked many times already :D

workshop

I’ve already patched it twice (yup I’m nuts). and am planning another one in a few days. There is a lot of admin overhead in patching the game, so I want t make each patch worth it, especially as I’ve fixed a bunch of urgent issues, and can now track down more obscure issues and the odd crash.

Of more interest will be what I’m learning about releasing a game in 2015 vs one in 2013. Holy fuck, its got harder. here are some observations.

1) There are so many games the media (inncluding youtubers/twitch streamers) won’t care that you released a new game without real hand-waving and pleading. Just being a good, quality game isn’t going to cut it any more. Unless your game has a famous actor in it, or is hilariously weird in its premise, or has some other non-game related ‘hook’ for the press to get excited about it, you can forget it. I hate worrying about all that. I’m a coder at heart, and this is meaning its getting tougher for me.

2) Ad costs are creeping up. The site takeover costs are stupidly high anyway, but even facebook, google adwords, its all got very very pricey.

3) There is a definite tendency for everyone to just add a game to a wishlist and wait for the sale. The inevitable sale. Kinda weird because…

4) There is still the inevitable abusive anger about a game daring to cost $24.95. People moan that the price is too high, then say they only ever buy games at 50% off. There may be some logic there but I can’t quite see it myself. Every game I’ve ever released on steam has had a thread saying its cost too much. I suspect every game on steam has that thread. I suspect its the same posters too…

5) Nobody leaves steam reviews. Seriously, its like pulling teeth persuading people to do so. Which means only people with a bug, or a problem bother, and that drags down the scores. I can see from my stats I have a lot of happy people playing the game, I wish I could interrupt them to ask them nicely to leave a review :D

I’m guessing things are a bit quiet because GTA just came out, and it just started getting nice weather. Games are a long tail phenomena these days. GSB1 made 1% of its total earnings to date in its first week on sale. By that measure GSB2 is going to do well :D. Fingers crossed anyway :D

 

 

Gratuitous Space Battles 2 is released RIGHT NOW

logo

Yup, it’s true, the much-awaited sequel to the 200,000+ selling Indie Strategy game Gratuitous Space Battles, is finally on sale. Hurrah! This has taken us twenty months to make, involved a complete redesign and re-engineering of the graphics engine, numerous changes, improvements and fixes, not least the fact that the game now lets you design the look of the ships from scratch AND has steam workshop support, achievements, trading cards and so on. Plus it has one-click easy to use multiple-monitor support, which I HIGHLY recommend. Behold: the cheesy trailer:

The game has been in beta a while, so its hopefully vaguely playable by now! Big thanks to all the beta testers, and of course everybody who worked on the game. You can grab it from a variety of sources, and I’m just going to flat out assume all of their buy links are active right now…so here we go:




Of course the world is a different place now to when GSB1 was released. Who knows how well this one will do? Will anybody like it? One of my biggest fears is people assuming it wont run on their PC. It will! Its actually not *that* demanding. And if you happen to have two monitors you OWE it to yourself to grab it :D. So please do it, help me feed my cats! And if you like the game, PLEASE review it on steam, or wherever you buy it, tweet about it, tell all your friends. And your enemies :D. If you are someone who makes youtube lets-play videos, I hereby give you permission to use the game in your videos, and to monetize those videos, this is fine with me. The more video footage of the game the better. (The battles look much better in motion than as screenshots).

If you want more information / screenshots / wallpaper head over to the official site. Press inquiries welcome to cliff@positech.co.uk.