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

Visible work

I was at a restaurant recently and mused on the topic of why we tip waiters in restaurants. You might think it’s because their salary is low, but I suspect not. The salary of the people in Malaysia who made the clothes you bought in the high street is likely lower, and yet nobody tips them. I notice actors at the end of plays take a bow, to much applause, yet the set designer, director and the sound engineer never does. I notice that you tip the taxi driver, but you never tip the train driver. You applaud the band, but never applaud the bands manager or sound engineer…
Why?

Because it’s a matter of visible work. Out of sight, out of mind. This is one of the phenomena that has helped justify widespread on-line piracy. You don’t see any work being done, so you feel no need to reward anyone. Intuitively we know a lot of work went into a movie, but we didn’t see it happen. Intuitively we know that 90% of the experience of Keira Knightley in a movie is down to casting, directors, lighting, sound, make-up, costume design, scriptwriters and marketing. Yet she is worth millions, and most of the people doing the invisible work probably earn the average wage.

It is all too easy to be vastly removed from the people doing the work that we take for granted and don’t see. I’d like to take a minute to remember that the tea i’ll drink today was probably picked and packed in india by people earning a pitiful wage. It was sent by sea to the UK on a ship built by people I’m oblivious to, steered by others, crewed by others, and unloaded at a port by others. There are probably thousands of people who work to ensure it gets to my cup, and I have physical contact with almost none of them. These days the shops themselves even want me to scan and pack my own tea, so the last vestige of contact with anyone associated with the product has been removed.

We live in an age where we are remote from the people involved in the production of what we consume. Over time, hopefully we will learn that just because you don’t see work being done, doesn’t mean work did not happen. And increasingly, people reading blogs like this will be in that same position. People often complain that everyone else doesn’t appreciate the work they do. It’s worth remembering that we can all be guilty of that ourselves.

In other news, I did code for the message handling today. It involved hundreds and hundreds of lines of hopefully stable bug-free code, testing and checking. You didn’t see me type it and test it and design it and check it, but I aasure you I did it anyway :D

Online integration fun

You know what’s missing in GSB?

Yes, yes I know you want a big 4x style campaign game built around it. ONE DAY maybe, but certainly not by the end of the week. One thing that is not quite so huge and unwieldy for a short term project is the area of online community.

Player A reads a forum post by player B, and decides to issue them with a challenge that proves their point that tribe frigates kick ass. Player B is oblivious, unless they happen to be browsing the challenges and spot they have a new one, from that player. Wouldn’t it be much cooler if every time someone issued a challenge to you, beat your challenge, or played (and presumably lost) your challenge, the game knew about it, and collected those messages for you to review at your leisure?

So rather than having to go to challenges, filter by personal and check if anything looks new, you could have a little spangly message popup saying “you have new messages“, on the main menu, and clicking there would tell you what’s new in your world of GSB.

This sort of stuff isn’t *that* evil to code, even though it involves server-side stuff. I already have it all up and running, UI and all, and the server is currently processing messages as I speak (although nobody has  a game version that lets them see them yet. But I can tell that a bit earlier, superneals sent a new challenge to knightsofni, for example.)

This will go into version 1.28. At the moment it’s system generated messages, so you just get pre-defined text messages notifying you of events. If people liek it, I think it would be awesome to be able to win a challenge, then type a message for the person you just beat saying “Ha!, i beat that fleet without even using plasma. I’ve responded with my winning fleet.” of course, you need to be able to block abusive / spam messages, but I’m working on that now. Besides, anyone spamming or being abusive will get the ban hammer :D

Nearly finished supply limits

The long talked about supply limits stuff is all done and nearly ready for the 1.27 patch. That patch has some other stuff like a challenge fix, increasing the taunt to 256 characters, some balance changes and introducing a hidden, not very supported ability to manually edit the maximum zoom out distance.

Anyway, as is usual, when I do my final sanity checks before uploading a patch, I noticed a bug. And then fixed it, and tested again…and again… five times in total. And it’s still not done. The final ‘gotcha’ was the code that displays what supply limits are in place for the current mission. I have to have support for restricting new modules from expansion packs, BUT, the game can’t do it’s normal freaking out if a module can’t be found. So that needs fixing and then testing again… hopefully tomorrow morning.

This is basically phase I of the usefulness of supply limits. I’ve added them to a single mission (gravity well). This means that they will also be  in place for new challenges issued on that map. Hopefully feedback on them will be positive

Phase II will be a new route for issuing a challenge, that will wrap into a basic scenario editor. The data in a scenario is effectively included in a challenge, so I don’t even need to change the challenge format. All I really need to do is code a UI that lets the player pick a map size, the spatial anomalies etc. I already have the supply limits editor done, which is a full screen pop-up dialog. My eventual aim is that people start issuing some cunningly designed challenges with supply limits that prevent the most obvious tank/spam fleets, and encourage some clever and aesthetically pleasing fleets instead.

Insulating Positech Towers

Now and then I stop programming for thirty seconds to do other things. Compulsive blog readers may recall I moved house recently, just before PC Gamer put my business on the map as being in Guildford (not any more!). The good news is instead of having a view of a busy road, and the house about 60 feet away from me across the street, I can now look out of windows and see this:

Woot. There are sometimes cows and sheep and horses and all sorts of ‘country’ things. It’s l33t. the downside is that the only way I get to afford to live here is by getting somewhere that needs ‘work doing’ as they say. This house was built in 1750, and I think 1750 was the last time anyone tried to insulate it. Having no cavity walls, single pane thin ‘post-war glass’ windows and a damp cellar/dungeon with a well in it, does not make for a warm house. Even worse, as it’s ‘listed’, you can’t even bung in modern windows. Nor can you do almost anything. What you *can* do is insulate the cellar ceiling / living room floor, so it’s no longer just floorboards and then icicles. But due to the damp / listedness, it can only be insulated with sheeps wool.

Cue a whole day installing wool insulation. Now you might think its’ easy, if you’ve seen the TV ads. After all, they sell the stuff pre-cut to the standard joist gaps. Those gaps must have become standardised sometime after the battle of waterloo, meaning when this house was built, it was more freeform. Not a single strip of insulation went in without cutting it to size first with a breadknife (it’s the best way). The insulation is called thermafleece, but it’s basically just wool. Cue silly expression posed for camera… Behold my l33t pipe lagging too. (They hadn’t even done that).

It’s about half done, And I don’t reckon just wedging it up there will hold it in place. I need a breathable membrane sheet over it I reckon. Still, it’s one step towards being able to sleep without 6 jumpers 4 blankets and 2 cats on the bed to keep warm.

I still did *some* work today. Some more work on the supply limits editor, which I’ll use to test out and implement that feature, and eventually will maybe make it into a generic player-usable challenge editor.

Tweaking Supply Limits

I’ve been doing lots of stuff around the release of the Tribe expansion pack, so I’ve got behind on work for the next patch. I ended up taking some time to re-balance a few of the least-used weapons, and do some admin stuff, like tweak the challenges code so that it doesn’t show you older challenges in the list when newer ones are available. I also got rid of some really really old challenges. Currently the list only displays up to 1,024 of them, sorted in date order now. That was always enough in the past, now it’s not, hence the tweaking.

Anyway…

I was testing out the new supply limits stuff and trying to ensure it was user friendly at the deployment phase. One of the things I needed was a way to see how much of each supply limit was taken up, and the other was exactly which ships were using up those limits. My current solution isn’t perfect,but it’s a starting point. The supply limits window is on the right, so you can still your fleet. The individual module icon bars now have a feint progress bar as their background showing you how much of that specific modules supply limit is used up. If it turns red, you are using too many and the fleet is invalid. If you click one of those strips, it will highlight the ships in the fleet currently using that module so you can see where you are using them up.

My current thinking is that when I next patch the game, with this functionality included, I will put it in one of the existing missions, so people can see how it plays out (and of course modders will be able to use it). In the lonegr term, this functionality will form part of any meta-game or maybe a map editor that gets done next.