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

No internet day. How did you do?

Me? I failed. But to be honest, it was an insane demand for me to go 24 hours. I did go the first half of the day without problems, but then I gave in and plugged my router back in. However, I hardly used the net for the rest of the day, and didn’t bother with instant messaging, any forums, or any non-urgent email.

So it was a partial success in those terms.

However, in productivity terms, it was pretty awesome. I got way more done in the first 3 hours of the day than I normally would. The fact that I had no email to answer,l share prices to check, sales to analyse, or  forum discussions / twitter chat to think about kept my mind 100% focused on some particularly evil bugs and getting some new features into the mystery next game.

What is truly sad, is how when I did relent and checked news sites, forums, twitter etc…. I hadn’t really missed much. There had not been any major events that I was missing out on, I just got to read a few emails 6 hours later than usual. Given the pretty significant boost in my productivity, i think this shows there is something in this.

As some have noticed, my self-declared no-inetrnet day also took out amazon and the PS3 network. Such is my POWER.

I think what I may do is try to implement no-internet mornings on Monday-Friday, when I am at my most productive. This is certainly worth an experiment. On the downside, that means American customers emailing me while I’m asleep get their replies 6 hours later, but they are asleep till then anyway.

I’m at the ‘proper production’ stage in my next game, which is no longer code-named ‘LB’. It might be code named ‘GTB’, or ‘OTT’ or something else. I haven’t decided 100% yet. Proper production is when I’m putting final art assets into the game, and coding big chunks of it. It’s too late for major design changes, but releasing screenshots is still a long way off.

 

Happy or unhappy gamers

Business innovation and quality thrives on feedback, and messages. Capitalism is basically just a system a signals from consumers to producers, to optimise production processes. Generally, capitalism works on the crude buy/don’t buy and price systems. If your pies taste crap, sales fall. If you still sell pies at £10 each, your pies kick-ass. etc…

The problem is, unless there is constant iteration of new products, or constant price tweaking, it’s tough to get decent feedback on products over short periods. The signal is binary, either buy, or don’t buy. Cancel, or renew.

Games, especially online-games have far better possibilities for sending signals back to their makers. They generally don’t bother, but they could do. Gratuitous Space Battles attempted this is a fairly crude way, with challenges. At the end of playign a challenge, you could choose to rank that challenge for both quality and difficulty. Other players, can sort challenges by those criteria, and hopefully the best challenges rise to the top. Obviously the idea was that new players of the game would choose a ‘fun’ challenge, rather than randomly ending up playing against a hardcore, spammy or even cheating fleet.

That’s not bad, but it could go much better. I know if someone rates a challenge as difficult, and high quality, but do I know if they really enjoyed it? Maybe the challenge was fun, but the games performance was bad, or they thought the enemy fleets ships looked crap, or there is something else that is suboptimal. Ideally, I’d be able to look at a dashboard right now, and see 100 people are playing GSB, 64 of them are loving it, 12 are frustrated, 7 are bored etc…

Games don’t ask for feedback, but they should do. Would you reply if they did? If, as the next battle was loading in Battlefield 3, it asked you to rate that last game, by 4 or 5 different criteria, would you do it? Would you do it if it happened as you went to quit the game? ( I suspect not). Would you do it if there was some sort of reward (extra XP or whatever…).

I think this is definitely worth an experiment, at some point. If everyone thought that GSB was awesome, but the challenge browser was crap, I’d like stats on that, not just relying on the self-selecting sample of forum posters. (I know… people filling out surveys self select too).

You wouldn’t start from here

So many programming, and technical things are bodged, not just in games or software, but everywhere, because the ideal best-case academic method is totally useless given that we are always working from an imperfect base.

The railway network, telephone infrastructure, road network, sewers and god-knows-what-else here in England are all rubbish. Why? Because we got these things very early in history due to being economically and technologically quite advanced, esp during victorian times. As a result, as pioneers, we have what I guess is ‘first-mover disadvantage’. Our countries infrastructure is like excite vs today’s google :D

I definitely find this problem in my own code, my own methods of working etc. I have an engine, it doesn’t really have a name, the folder is called ‘Positech Engine’. I save my imagination for the actual game… The engine isn’t like the unreal engine or other fully-featured thing, but it has all my library code which handles stuff like directinput, rendering, vertex buffer and texture management, file loading and so on. Bizzarely, 90% of the my UI code is NOT in the library, I copy it to each new game. How sucky.

Not only that, but I have a bunch of long standing balls-ups that I am now stuck with, pending a major rewrite for the next game. I should have done them for this one, really… Here are the ones that spring to mind.

STRINGS: I can’t decide if I like char* buffers or std::string. I pretty much use std::string, but because historically I know functions like sprintf and strcpy really well, I still use them in places. As a result some of my library stuff is designed to accept either std::string or char* as input. I can type ‘.c_str()’ so fast now it’s scary

UNICODE: I don’t use unicode. This means a Japanese GSB is not going to happen any time soon. I should probably use unicode, but I don’t

TOOLTIPS: I know this seems minor, but my tooltip class isn’t integrated with my window class. This means if I create a new window, and it needs a tooltip, I need to add a tooltip object, and call a destructor, and make it respond to the mouse and get drawn. This sucks. I should have defaulted to all windows having tooltip functionality

BUTTONS: Buttons should be a subset of windows, but mine aren’t. Both windows and buttons at least derive from the same class, but a window thus now derives from a buttonlist. That means a window has a list of buttons, and a list of child windows, and they are handled seperately. THIS SUCKS.

I know this all sounds crap, and if you are a coder writing a new engine, or a student, it sounds like I’m a n00b, but the thing is, you wouldn’t start from here. Unfortunately I have, and re-using my existing engine saves me hundreds if not thousands of hours for each game, so it’s tough to make a business case for changing a lot of this. Both big studios I worked on had code that was at least as messy as this, so I know it’s not just me…

Next game I’ll fix it all, sure…   maybe…

No Internet Day

How productive would you be if you didn’t have

  • Facebook
  • Twitter
  • Email
  • RSS readers
  • Instant messengers
  • *Insert name of timewasting website here*

I reckon VERY productive. I get increasingly distracted by this stuff myself. So I propose a solution. Let’s make a pledge, readers of this humble blog. let us declare next thursday (21st April) as NO INTERNET DAY. On the day before, you will unplug your router/modem, and it will not be touched for the whole of NO INTERNET DAY, and can be re-connected on the friday morning.

Whether you are a software developer like me, or a student, or anyone who doesn’t 100% rely on day to day usage of teh web for your work, you are likely to get more done on NO INTERNET DAY than a typical working day. What have we got to lose? If you are going to join me in this experiment, reply, and say what you do for a living that you hope to be more productive at. or maybe you will be doing it to spend mroe time with pets/children/significant others. Then on the friday we can all see how we did, and how long it took before you gave up :D

Spread the word, lets see how many people can go cold turky webwise on April 21st

When is it fair for the game servers to switch off?

Here is a question for you. For how long after the release of a game do you think there should still be support for online features to that game?

I’m not talking MMO games here, obviously that should continue all the time any sort of subscription fee is being charged. I’m talking about games where you buy it once, and you own it, but part of the game is online. Like Guild Wars (although that’s all online) or, to a smaller extent: Gratuitous Space Battles.

Gamers are rightly angry when they suspect the servers for a game get shutdown just to encourage you to buy this years copy. EA are great at that, as I recall. The thing is, we can probably agree that if a game hasn’t sold a single copy in ten years, turning off the server is just fine. It’s silly to suggest otherwise. We also all know that most evil EULAs indicate the servers can be turned off when they fancy it, so it’s not a legal issue either.

What we lack, as an industry, is any sort of expectations or standards for this. If I buy Guild Wars today, and the server is turned off in 6 months time, is that just tough for me arriving late? Or is it understandable?

We could argue that as long as one person has bought the game in the last six months, the game should still be running, but what if that person bought the game in a steam sale or pay what you want deal for just $0.10. Still reasonable?

I guess to me, one benchmark would be profitability. If the server costs $100 a month to rent, and the game isn’t bringing in $100, it seems fair to axe it, although even then, what if 8 people bought it yesterday for $10 each?  It seems right now a long way off for me to worry about that. GSB made much more than $100 yesterday, let alone this month, and as a fraction of the server costs, it probably doesn’t cost $100 a month to run anyway. Also, the server is busy:

New challenges posted in last 24 hours: 48
Challenge victories in the last 24 hours: 143
new survival mode scores in the last 24 hours: 6
challengevictory: 170

This will not last forever though. When sounds reasonable to you as a gamer?

****Note: I can’t see the GSB server being shutdown deliberately before 2015 at this rate, so don’t panic :D****