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

More thoughts on GTB challenge games

As with all games, actually making it tears the design in all kinds of directions. This is one reason why people who try to get a lead designer job based on lots of paperwork and no actual game often come up against a brick wall… No game design survives contact with the code.

So… I’ve been working on the online challenges for GTB. It all now basically works, in it’s basic form. When a battle ends, you can post that battle as a challenge to the server, for everyone, or a specific user. This is only valid if the map is a new one you designed (or edited) or if you played as attacker.

The other players can now browse a challenge list, select and download your challenge map. They can they play on it as attacker or defender. This is where it gets fidgety..

If you played as attacker, and uploaded your battle as a challenge on a default (pre-built) map, and someone downloads it, it’s pointless them playing as attacker, because effectively, nothing has changed. They are just playing the normal map.

If, however, they play as defender, things happen as expected. they see YOUR units, deployed at YOUR choices of location and times, and it’s like an asynch multiplayer game. Yay!

If they edited the map, changed loads of variables and moved some props etc, and uploaded it, then it makes sense for you to play attacker OR defender, because hey, you just got a free community-based extra map to play with. Yay!

The problem is, making it clear to the player that sometimes they download a challenge and it’s only playable as defense, sometimes as either. I can use tooltips etc, and flags in the challenge database, but I still phear confusion. Plus, in an ideal world, I’d allow a player to bundle in ALL his units with a challenge too (this should be easy), so they can say “here is a normal default map, but here are my unit designs to fight against”.

I want it to all be intuitive, and although it will be awesome, so far it is NOT intuitive :(

In other news, GSB ipad is coming along. Still ironing out performance issues. Or rather, mark is. I’m just blogging about it :D

Deprecations all ya need lalalalalalala

Ok, so you have be over 40 to know what the song is or who this guy is…

But anyway… deprecation gets me down. What is deprecation?

http://en.wikipedia.org/wiki/Deprecation

“In the process of authoring computer software, its standards or documentation, deprecation is a status applied to software features to indicate that they should be avoided, typically because they have been superseded”

Sounds reasonable enough but it’s a real pain. I discover today that directinput is ‘deprecated’. presumably Microsoft declared it thus, whilst also being the people who wrote it, and also writing a ton of other stuff that I’m probably not supposed to use anymore, despite the fact that when they released it, they tell everyone it’s the best thing EVER, and we are all luddites for not switching to it.

I really cannot keep up with what is right, and modern and usable and standards-compliant etc, and what is old, unsupported and unhip.

Is C# still cool? what about GDI+ did that even happen? What about DirectX Graphics? or maybe .NET? do people use Java still? and is it OK to use flash? or is it now HTML 5? and is Ruby On Rails new or old now?

I reckon a game developer needs to write at least three whole games using a technology before they really are on top of it. I’m on top of directx9 now, and feel quite confident about it, but I’m pretty sure some genius at Microsoft reckons I should be shot for not using directx 10, or is it 11 or 12 now? or is directx not even used now? How are programmers supposed to keep up? It’s fine if your job is something cushy like ‘engine architect’ where you just go to Microsoft conferences and read technical papers all day, but for people who have to ‘ship an actual product’, we actually have other stuff to do too.

Is it just me? what technology have you finally sat down to use, or ordered a book for, only to discover that all the cool hip kids (ones who never tend to ship anything) already think it’s out of date? I reckon the lifecycle of programming technology goes like this:

Bah…

GTB and uploading content

Gratuitous Space Battles had a fairly straightforward challenge system. You uploaded your challenge, which was a combination of unit designs + deployment + orders, with maybe a few map variable, and others downloaded and played them.

As I start proper work on uploaded stuff for GTB, I realise it’s a bit more complex and tricky. My two aims are for you to be able to:

  • Upload or play against someone else’s unit designs + attacking ‘recording’ of their units, when you are playing in normal tower defense mode.
  • Upload or play with someone else’s custom designed map, including whatever graphic resources they have included within it

Of course, there is immediate scope for overlap, where someone designs a new map, plays as the attacker against adaptive AI, and then wants to upload both the map, and their recording of their attacks, and units, so you get to play against new units on new maps. I want to support this (obviously) whilst not letting the UI design of it get too clunky. I’m only starting to consider the real implications now.

Another major consideration is encouragement and ease of use. I need uploading your forces to be absolutely trivial to do, and encourage everyone to do it. I also want to minimize the traffic going to and from my server…

Currently, I have an edit button for every map. You can edit the map from there, and save it out as a ‘custom’ scenario. Once you play that scenario, like any scenario, you have the option to upload it as a challenge. This feels horribly clunky.

I guess ideally, that at the end of a battle, you should be prompted to upload a challenge, and if you select yes, you can choose (where applicable) if this is a ‘map-only’ upload, or whether it also contains your unit designs and deployment timings (assuming you were the attacker).

And given the way my system currently works, with zipped uop folders, it wouldn’t make any difference anyway, People would download a map, and if it had player recordings included, they could be used, or not, entirely up to them. If no ai designs are present then the adaptive AI automatically chooses from any design (by default they are restricted to that scenarios AI designs).

I think that sounds ok.

Show Me The Sales

Today marks the launch of the first Show Me The Sales promotion. This is a big bunch of high quality indie games all being sold at a discount. it’s not like a normal games bundle, where there is a central seller taking a cut, and you have all-or-nothing. It’s essentially a collection of indie games sold direct by the developer, which are all on sale at the same time. Plus every one has handy videos:

http://www.showmethegames.com/sales.php

This is my little side project, and is a way to encourage indie pc devs to sell direct, and for gamers to remember what it’s like to buy direct. It’s really no hassle at all, and you get the satisfaction of ALL of the money going to the developer.

Anyone who is suspicious and thinks I must be making money from it somehow, I’m not. I see it as being in my long term indirect self-interest to maintain a healthy direct sales channel for indie developers. That’s all.

Please tell your friends, there are some great games there at great prices, and it’s only lasting 14 days.

I’m lucky, and mostly because of the year I’m born.

I am prone to ranting at people in their twenties, or younger about how they need to panic big time about job prospects. As I have a nice job, that pays ok, and I love, people never take me seriously. Here is why you should:

1) I’m naturally a workaholic, and highly motivated. I already have that as an advantage, and it’s a big one. If you can’t make yourself leap out of bed at 8AM on a Sunday to go do some work, you are at a disadvantage. I just got lucky here.

2) I’m just over 40, meaning I was 11-12ish when the first home computers hit the UK. As a result, I am a first generation programming geek. A few years older, and I’d be old enough to not have found them cool, a few years younger, and I’d have missed it. The ZX81 and its ilk forced me to learn programming from the ground up, with no help. This is another advantage.

3) I started an online business before steam, stardock, gamersgate etc. As a result, I sold direct because I didn’t have any other option. Thus I now have a very long-established site, business contacts, history, experience of selling online. If I’d started a few years later, I would have been tempted to just rely on portals, and I’d not be truly independent.

4) I got a free university education. Sorry to the kids now who are paying for theirs, I can’t help being the right age. Exactly the right age. A bit older, and there wouldn’t have been the push to go to uni, later and I may have skipped it due to cost. This is not going to change, except for the worse.

5) I started my business before china and india really went bananas with economic growth. I never had to worry about someone from china or india taking my job. Right now, I’d be VERY worried about that. Unlike people in the rich west, Indian and Chinese kids have parents who were in real poverty, and grandparents in extreme poverty. You bet your ass they will get pestered to get better grades than you.

6) I started work before robots got good. Robots now are very good. There is going to be NO work in warehouses or doing assembly line stuff soon. All those factory workers will HAVE to reskill to do something, and that may include doing what you do. I’ve got lucky yet again! I’m the right age for robots to help me in retirement, but not young enough that they take my job. Unless your job is creative, or involves direct people skills, are you really sure it will exist when you retire. If you are 20 now, will your job exist in 2061? because don’t pretend you can retire at 65 if you are 20 now. Don’t forget to factor in all those ex-warehouse guys working as robot technicians to make them even better each year… Say goodbye to warehouse, security patrol  domestic and many military jobs.

7) Complexity. Things were simpler for my working life. I commanded serious money because I had an MCSE qualification as a network / IT engineer. That isn’t so rare now, and the tech is more complex. You need to know more stuff now, much much more.

8) The interweb. People everywhere on the planet can take your job now. Telepresecence, video conferencing, skype etc… I employ people all over the world. You don’t compete with other locals, but 7 billion people.

9) Property boom. I thought UK house prices were insane when we bought, but that was 10 years ago, and they have tripled since then. How young people can afford a house now is beyond me.

TL,DR: Study hard, and work your ass off. You need to. More than I needed to. Sorry!