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

Musing on space battle tactics and improving the escort order

Sooo. In discussing this on my forums I thought it worthy of reprising here. Basically ships in GSB2 can have an ‘escort’ order which tells them to stay with X meters of another ship (user-configurable distance). This is all well and good, but you still want those ships to be useful in battle. Whether the ships are fighters/gunships or larger ships gives this order a different outcome. Here is an explanation of the current system…

The current system has non-fighter ships heading towards the point on the radius circumference of the escort order that represents the angle between the ship they are escorting, and their currently selected target enemy ship. (see below…)
ship_tactics1.png

On the other hand… fighters (& gunships), when given an escort order keep picking a random position within a half escort radius range of half way between the actual escort ship, and the target ship. (See below).

ship_tactics2.png

Now its actually very simple to make ships that are not fighters copy the fighter behavior if they have the KEEP MOVING order (which is implied with fighters & gunships). However, my question to you is…would that be desirable? I have essentially made a guess here when coding the game as to how people are thinking. I’m assuming that if you tell a frigate to escort a cruiser, you are saying ‘ by all means attack the enemy, head towards them, but don’t get more than X distance from your parent ship’.
An alternative meaning would be ‘always stay within X distance of the parent ship. If ordered to keep moving, do so, without any preference for location.

The current system leads to ‘frigate bunching’ at the nose of a cruiser or dreadnought. This means stationary ships in some cases, and susceptibility to area-of-effect weapons and detonation waves. But it does ensure escorting ships move into range when possible. Of course, if you really want to enforce some separation, we have the formation order… hmmmm.
Thoughts?

Gratuitous Space Battles 2 update: Version 1.29

So…today I uploaded the windows copies of Gratuitous Space Battles 1.29. (Other platforms will follow). Here are the highlights of the patch (but a lot more has changed).

Identical voice messages now need twice as long a delay between repeats.

Were you getting as bored with ‘Enemy systems scrambled’ as I was? If so… this makes it less annoying :D

Fixed bug the formation order in a sub-deployment didn’t load in correctly.

When you loaded in sub-formations (squads) on the deployment screen, you sometimes had formation lines going off into nowhere. Fixed!

Damage indicator feedback in-battle adjusted to be less ‘spammy’ when multiple shots hit in close proximity.

Still not perfect, but where you get lots of fighters attacking a single ship, you are no longer blanketed with UI popups…

2 New missions added (Pyrataxian Ambush & The Slarthoon Belt).

newmissions

Oh yeah!..And one of them is a cool new ‘ambush’ style layout where you start the battle surrounded. I’m interested to see how people get on with that one…

Mid-battle and end-battle statistics now track radiation damage in full.

This was very annoying, but now its fixed so you can see just how effective these weapons can be. Spoiler: very effective.

There is still a lot of balancing stuff to do, and lots more to add. The good news I have found and fixed another hard-to-reproduce sound-related random crash bug, so the game should be super-stable now. If you had crashes before, please try the new build it is TONS better. That sound bug was a horrible multi-threaded related crash that only happened at certain combinations of CPU speed and game-speed, but I found a way to reproduce it with some cunning Sleep() calls on my ninja PC. Definitely fixed now!

I plan on adding some new features, and new missions over the coming weeks. We are still very interested in getting people to do lets plays and review the game, or add it as a steam curator./ If you have a popular youtube account / steam curator account, email cliff@positech.co.uk and say you want a copy :D.

 

Implications of a global market on random success

I might be unpopular in this post. If you are a huge minecraft / star citizen / flappy bird and gangnam style fan, look away now.

I think there is a phenomena that is becoming stronger and stronger and I think its bad news for all content creators. Well, for 99.99% of us. That phenomena is the globalization of media, and the concentration of it in a few hands.

Zap back a few hundred years, and you could be the #1 best Lute player in the village. Nobody else could touch you for lute playing. You rocked. 30 miles away there was a better lute player, but nobody ever left their village anyway, so who cared. You could play the lute, and people would pay you to hear it. Happy times.

Zap forward a bit and we have TV and radio. And thats different, because now you can hear that Lute / guitar player from the next village on the radio. And that means everyone in the country can hear him. So that guy gets to be a big national star, and the lesser local people don’t do so well. And thats tough for them, but probably not a total disaster. After all, competing with every guitar player in the UK is tough, but you aren’t competing globally. BBC radio doesn’t play in Islamabad, andĀ  (and this is crucial) even if it did, nobody would like your weird English music over there anyway, due to cultural differences.

lute

The latest transformers movie had a scene set in China, and dialog where people say to trust the government to save them. Both put in to keep Chinese audiences / government officials happy. This is what happens now. Nobody makes a movie based on selling it to people in their country. The stuff is global. It has been, obviously for decades, but its becoming more and more so every year. Now entertainment is predominantly digital, there are literally no borders now. Staggered release dates wont last much longer. Cultural differences are eroding.

So now for the first time we seeing the emergence not just of monopolies on a national level, but an international level. Not just in terms of software and services, but in terms of culture. I never thought I’d see a Korean rap star become a global phenomena. I witnessed middle aged men dressed up as the ugly sisters from Cinderella doing a gangnam style dance one Christmas in Longleat house, England. This is new.

gangnam

When culture is global, and popularity is global, there is only one chart. THE chart. Everyone knows what everyone likes, and what already has coverage gets more coverage. Saturation coverage.

The itunes charts are pretty much *the place* for apps. Get to the top there, and you are laughing. The problem is, because there is less variety in charts / news outlets / media globally now, you are getting more of a centralized consensus on what is good. People who are only going to write about one pop song (the very mainstream non specialist media) would write about gangnam style. One mobile game? well flappy bird obviously (or angry birds…), one desktop game? well obviously minecraft.

And this leads to the crazy irony of the most successful, popular content getting more and more publicity. Thats always been true but its getting much, much worse because now that is global. Why do I care? why is this bad?

I think its bad because it leads to random perturbations becoming exaggerated. A slight boost in popularity of something bumps it from #100 in a chart to #9. it gets more attention so it goes to #1, and then so much attention it stays there, and then the mere fact that it stayed there becomes newsworthy making it even more popular, and the cycle continues, all potentially from a tiny, tiny bump, maybe a single media personality took a liking to it. A minor disruption in a flat surface is exaggerated to a mountain.

348906-7-tips-for-high-scores-on-flappy-bird

What I’m saying is that gangnam style, minecraft, flappy bird and star citizen are not *THAT* good. I’m not saying they aren’t good, or great even, or amazing even, but the level of popularity is totally disconnected from the quality at some point above the ‘ten million copies sold’ level. Stuff is getting bought *because it is getting bought*. And stuff is becoming popular *because it is already popular* and that sucks, because when you produce content, the success of it is too much attributed to luck. And thats bad, bad bad.

One of the bright points in all this is actually steam. Steams front page re-coding is awesome, and exactly what was needed. Beforehand, if a game got a front page feature, it became popular, and sold a lot, and the word of mouth generated a lot of sales which led to a front page feature and…. etc. Now, there is no such thing. If you love complex PC strategy games and politics, you might be staggered at the promotion my game ‘Democracy 3’ gets on steam. But thats just for you. Steam now has hundreds of micro-niches, and lots of developers have the chance to be popular in that niche.

minecraftXCMqB

We need the same for all media. Why do ‘pop charts’ even exist? or movie charts? Why on earth does the fact that ‘fast and furious’ made X dollars have any newsworthy value outside of the industry? Should I go and see it because its popular with everybody else? Fuck no. Charts suck. Charts encourage a homogenization of culture and promote the bland and inoffensive.

So why don’t apple do what steam do and fix this problem? Because *they do not need to care*. As a developer, its terrifying to know a game I make will almost certainly fail, but *might* become minecraft or flappy bird. Thats a very very risky industry. But for people with an online store, they (except steam) don’t care. Why should they? They don’t care if the #1 game is awesome or a fart joke. They collect their slice of *all* the money anyway. Running in app store is the ultimate hedging strategy in games. I wish I owned one :D.

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