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

Why google is never slow

Why is google never down, and never slow? Maybe because it’s a rich company… but the real answer I suspect is this:

Google understand that a slow website would kill their business instantly.

When your entire business is built around web pages, you better damn be sure you serve them up fast. Literally *nothing* else is this important. That means serious backup infrastructure and emergency planning. redundant systems, and a rock solid set of hardware. When I worked for datastream/ICV we had a 15 minute response time. If a client of ours had a software problem, 15 mins from picking up the phone he had it fixed. guaranteed. because we would be at his desk (from another place in the city believe it or not) within 15 mins with an entire replacement PC. We swapped out the whole thing, then diagnosed the bug in our time back at the office. To ensure this *never* went wrong, we always sent out 3 engineers in a van when we could. 1 to drive the van (no time to park), 1 to carry the replacement PC, and 1 to open doors for the guy carrying the PC. The van contained 2 complete units, in case (never happened) somehow the PC got dropped or died between leaving the office and landing on the guys desk.

Needless to say, Datastream/ICV give great support. And uptime is great. Their satellite link died for 15 minutes once. People went ballistic. I have little doubt people were sacked as a result. Of course, also needless to say, a support contract with them is expensive to say the least. we are talking megabucks.

The thing is, if you are a big city share trader, you realise that if your real time data feed is dead, you are rapidly heading towards business disaster, minute by minute. So it’s worth paying to get it right. Right now, I’m trying to buy Sound Effects from 2 different sites, and both are slow and dying on me (all other sites are fine). These guys are literally throwing money away right now.

if my site is ever down or slow, tell me. I REALLY need to know!

Game Dev Shortage

Apparently there is a shortage of people to work in video games:

http://news.bbc.co.uk/1/hi/technology/7460870.stm

Me and some other ex-industry people I know find this very amusing. Apparently one of the issues that game developers have is finding suitably qualified graduates to hire. Here is a newsflash for them:

If the experienced people didn’t leave, you wouldn’t need the graduates

It’s sad the way many games companies work. They deal with horribly high staff turnover as a matter of course. Staff turnover is a devestating problem for a knowledge based business. A new coder probably achieves nothing of any real value for the first few weeks, little for a month or two, and is probably only really working as a games coder by the end of their first year. To becomre really experienced at the practice (not theory) of games dev takes at least 3 years. By then he (almost always a ‘he’ sadly) is sick of his job and often keen to leave, and so the company promotes everyone and hires a new graduate.

Staff turnover is always bad, but for programmers it’s unusually damaging. It’s easier to find your own bugs than the last guys bugs, especially if the last guy isn’t here to ask him what the f**k he was thinking when he wrote that stuff. If your company doesn’t adhere to coding standards, it’s even worse.

Here’s some free advice to anyone wanting to retain game coding staff:

  1. Pay the experienced devs more. They are worth more. they can find the bugs the others can’t. their code is better, faster, more stable. Don’t worry if some coders earn treble what others earn, this is very often justified.
  2. Give them a decent working environment. We stare at monitors a lot. if we need ones that cost $1,000, then that’s what we need. Deal with it. It’s worth it. Ditto chairs.
  3. Ditto PC’s. AAA games take ages to compile. if you don’t want to pay coders to sit and eat donuts while the code compiles, buy them the fastest PC’s you can get. This will *save* money.
  4. Make everyone go home at 6PM. Abolish the stupidity of the long-hours culture. If you can’t concentrate on emails after 8 hours, what makes you think that a programmer can write decent C++ code without bugs after that many hours in a day. Less tired coders == less bugs == faster dev time, and happier developers.
  5. Train the devs. If they want half a dozen C++ book on expenses, let them have them. It’s trivial in cost terms in terms of increased productivity. Most coders *want* to learn. so support them.
  6. Either give developers individual offices, let them work from home, or get everyone noise canceling headphones. Maybe 1 in 10 programmers can work well in a busy noisy office, but the other 9 will be working less efficiently than they would be in a quiet office, and getting annoyed about it

Of course, many companies don’t want to hear any of this, because to many guys in suits who aren’t coders, the cheap graduate in jeans sat slouched at his keyboard is doing the same job as john carmack. why the hell would they treat any of them better than the cheap graduate?

Dealing with the small guys

A lot of big companies will ignore you, and basically pretend you dont exist if you are a small company wanting to deal with them. Big publishers often don’t even dignify my emails with a response (you know who you are!). Some advertisers won’t deal with me “unless your budget is at least $10k a month”. I imagine some very testosterone fuelled executives get very aroused at the thought of being so l33t they don’t deal with small fry nobodies spending less than that.

But I know some companies who have built very efficient systems that let them deal with very small fry, and make a fortune from it:

Google adwords

Amazon

Ebay

Paypal

Granted, this isn’t so much business to business (b2b) but consumer facing stuff, but if it can be done for the consumer why not the small business? Adwords deals with mega-corps, and the little guy like me. I know some people who spend a dollar a month there, I spend many hundreds of dollars a month. Its’s all money, and those dollars add up. Plus, when the small fry start getting big, they remember who their friends are, and who helped them up the ladder.

Some company who won’t deal with positech because we are too small is like me not selling you a game unless you will spend $200. When you buy a game from me, it’s automated, I don’t do anything on a per-order basis. Welcome to 2008, where automated scripts and computers make the cost per transaction close to zero. Has everyone re-engineered their company philosophy to deal with that? because google have. Maybe I have better processes in place than some of those big mega corps that won’t do business with me?

Email day

I made some silly config mistakes today and sent an email to some people who I wasn’t intending to email. There is no ‘harm’ done, but some people who bought Democracy and Democracy 2 got an email from me on the basis of them *not* having bought the sequel.

I screwed up.

Nobody has really complained, which is great, because the minute I realized what had happened, I worried I had committed email sin by effectively spamming. I guess I just have to put it down to experience.

Like a lot of developers, I don’t handle the sending of emails myself. You might wonder why not, and ironically the answer is spam. If you try and send more than 100 or so emails, many ISP’s will block your ability to send emails for a few hours or more. This is a GOOD idea, because it prevents you unknowingly being part of a spammers botnet. It’s also good, because there is no chance of any paranoid, badly configured ISP’s anywhere assuming you are a spammer and blacklisting you (nightmare!).

I use this company:

YMLP

To send my emails. It’s not free, but it’s a worthy investment. I don’t mind paying to send an email to a bunch of people, because it makes you think about the content. I read some wise words from a respected marketing guru, saying that you should only email someone from your business if you would still have sent the email if it had cost you $0.42 (per recipient). Despite my balls up today, this still holds. The number of companies that send me pie-in-the-sky bullshit every week on the sad misunderstanding that I am interested in their megabucks 3D engines, are recruiting Animators, want a job in IT support etc etc, is sad proof that *most* businesses who send email (not spam, but ‘targeted’ emails) wouldn’t send most of it even if it cost $0.01.

Sequelitis

I’m currently working on Kudos 2. It’s a sequel to my earlier game, not amazingly called Kudos. Before this, I did Democracy 2, the same applies. One the one hand, I’m a bit worried that people might think I keep churning out the same games (hopefully not, as the sequels add considerably to the originals), and I’m also very slightly worried that maybe these 2 games are my ‘big ideas’ which I won’t beat. (I have a ton of other ideas, but ideas are not completed, working fun games).

On the other hand, Kudos was a great idea that could have been done a LOT better, just as Democracy was. The really scary thing, is that reading several books recently has got me thinking about a potential Democracy 3, and how THIS time, I could really do the concept justice and kick major ass with it.

I don’t know what I will do next, and I’d like to think I would try something new, but it’s far too early to tell. When I finished D2, I started doing a totally new game, two of them in fact, but neither game idea really seemed to ‘gel’ in the way a sequel to kudos did, so they remain very empty basic frameworks for now.

There are worse things to do with your life than constantly work on a series of games that are popular, sell, and people enjoy. Civilization has made it to 4 games. There are 3 age of empires (and 3 expansions), and Sim City has already made it to SC4.

I’d just like to make as many different games as I can.

I’ve been away on holiday, only got back today.