The Secret of Great Multiplayer Code

While we are waiting our animator to make our characters move, we managed to put most of the objects (diplomat, props, the famous pig among other thing) in the game. The multiplayer code received some additions as the level editor system was being integrated with the rest of the game. This caused some problems in the multiplayer code: basically the server crashes now and then as client sends invalid information (I’m investigating on this).

I started putting heavier methods to debug the multiplayer and realized that I should have done this much earlier. I realized one secret of a great multiplayer code: making sure your multiplayer code can easily catch errors.

I will get back to debugging and tracking the crash problem. It might take some time to find it, but at least now I’m putting even more effort on making the system stable.

The 10 Worst Game Production Mistakes

Game production is something where you can always learn something new. Sometimes the lessons can be really dramatic, and sometimes they can be very tiny. Here’s the 10 worst game production mistakes that came to my mind.

#1 – Changing plans
I’ve mentioned this in the past (and you can rest assured I will mention this also in the future): changing plans is by far one of the worst mistakes there is. It’s okay to revise and update plans – and adjust them, as long as you move towards the goal you’ve set. If on the other hand in one week you are doing a casual 3-match game and the next week you decide to do a million dollar MMORPG, something is wrong.

The more you change your plans – the more it might require time. For example, let’s suppose you’ve thought about having 3 male characters in your game. Your artists have just finished modeling one. Suddenly you come up with an idea of having 7 female dwarves in the game instead of the male characters. 3 male characters are trashed, and new work begins. That’s wasting time

Be careful when changing plans.

#2 – Not having specific and clear objectives
This mistake is pretty much as serious as the previous one. If you don’t have clear idea on what you are doing… then you will eventually waste time in doing useless tasks. You will spend time on useless emails. You will waste time coding useless modules. You will waste doing “something” which might never be used in the actual project.

The way to overcome this mistake is to make definite objectives. Even if the goals would be small, that’s fine. It’s much better to aim to something than not having a clue what you want. This lesson goes with life in itself.

#3 – Not firing people early enough
Even hobbyist teams should be aware of this mistake (or perhaps I should say: especially hobbyist teams). Years ago I remember I wasted time with people who couldn’t produce the results they promised. There were always some excuses (ranging from hard drive failure, to lack of internet connection to simply vanishing) – and some people never got done anything.

I believe getting rid of “bad blood” is crucial. It’s extremely difficult to do – but something that must be done.

If you work with your friends, that’s fine – as long as you make clear that your friends actually need to do something if they want to be part of the team.

#4 – Not giving clear instructions
I’m probably doing this still, but I try harder. Clear instructions are must to have. Giving “artistic freedom” is okay (and I try to give that as much as possible), but you have to define what you want – and define it clearly. Use videos, images, notes, text – anything to make sure that your message is received. Ask the other person “if there’s anything that is unclear” or “if there’s anything he would need to know more”.

Giving clear instructions will save everybody’s time.

#5 – Assuming others will know what you mean
This is related to the previous mistake, but still something to consider. There have been times when I’ve given pretty clear instructions, but after some time I have had to ask why the task wasn’t done – and the answer was something like this: “oh, I was waiting Mr. Other Artist to first do his job – I thought that’s how you wanted it”.

Basically I was assuming something that I shouldn’t have. If your team members don’t have a clear idea if something needs to be done (or haven’t done what “you expected them to do”), then first examine your own actions before judging the other and blaming “how he couldn’t do the job”.

#6 – Not enough resources
Lack of resources are problem for all projects. Not having enough money, time or the right people is problematic and must be overcome somehow. Sometimes these problems can be fixed by simply cutting features (a very good option actually), and taking action to arrange the necessary resources. Money doesn’t come automatically, so budgeting it is needed.

While there isn’t simple solution to this problem, you can still try to estimate your resources before the project so you can decide whether to start working on it or not.

#7 – Wasting money
This mistake can lead to the previous problem. If you waste your money to useless tools that get you nowhere, you are not heading to the right direction. By defining what you really need (getting stuff that you need “now or very soon” instead of buying stuff that you “might need in a distant future”) and getting it when needed, you will have better chances of not wasting your money.

#8 – Not spending enough money
Yet another mistake: I’ve seen people who work part time to earn $500 a week, spending 2 years to a game engine that they could have bought for $200. If they would have taken couple of extra days to work harder at their jobs – they could have saved 2 years in making the engine.

Same goes with physics libraries, network libraries, art, sounds, music – $100 might sound “expensive” for hobbyist, but if you look at your own hourly income, you may realize that by spending some money, you can actually save tremendous amount of time – and money!

#9 – Not learning from mistakes
This is the mother of all mistakes: making mistakes is fine, repeating them not. It’s okay (and necessary!) to make mistakes. That’s the greatest way to learn and improve. Making same mistakes over and over on the other hand is not needed.

Make lots of mistakes, and learn from them. That’s something they call living.

#10 – Allowing artists to help in game design
As soon as you give artists the opportunity to design something to an ancient kung fu game, they come up something like this:

A pig.

Yeh, that’s what our modelers came up when I asked if they could “create a prop that could be broken in the game”.

A pig.

(…to make sure I leave no doubts, I wasn’t serious about this last tip – it was actually a great idea that really helped to make gameplay better. It’s a mistake NOT to ask others for game design ideas.)

How to Buy a Domain Name

Buying domain names (website addresses, for example “”) is very simple – if you know how to do it. If you are just starting out, then here’s a very simple 2-step guide on getting the domain name you want.

First step is to come up with a good domain name
Many of the fanciest .com and .net domains are already taken, so you might want to come up with alternative ideas. For example, if “” is taken – you could try to see if “” or “” would be available. I’m using these two free tools to help coming up with good names:

  • – plenty of ideas & suggestions. Try different categories or themes that’s displayed in the bottom of the page.
  • – Easy-to-use suggestion tool for domain names (I’ve noticed the “availability” might not always display them right)

The next step is to get your domain
I’ve used for half a decade, and I’m extremely happy with them. While their name might sound suspicious, they are Enom registrar (which basically means “proper registrar”) and I’ve never had a single problem with their service. Their prices are good (they have been charging close to $8.88 since I’ve been there), and I warmly recommend them. Feel free to get some reviews at in case you need more opinions.

The last thing you need to do is to point your domain name to a webhosting service (which you can do by yourself – or simply let your webhosting service handle it), and that’s it. Now you’ve just got your very own domain name.

Conquering the Internet is pretty simple – you just need to spend some bucks.

Google Analytics Just Got Worse

I’ve been recommending Google Analytics since I first heard about it. The system is free, easy to use, detailed, filled with features – it gives almost everything I need to know about visitor tracking.

And now they managed to make the interface worse: the new interface will completely replace the old one in just a few days.

Here are some things that the new interface does worse:

  • They say that now it’s possible to customize the dashboard, but if you try to get rid of the “overview” (or make it smaller) which is eating most of the space, you realize you cannot do that customization as you’d like. I’d like to get a much smaller font on that “overview” and watch a much smaller monthly graph.
  • Second big minus is that it takes 3 clicks to change the monthly statistics! In the earlier dashboard you could do it by clicking once.
  • Similarly you could select the range from the left side, and then browse different systems (like pageviews and visits) automatically. Now you have to click right side, move your mouse to left side, click a radio button (that displays pageviews etc.) and again if you want to change: you need to repeat that procedure. You literally have to move the mouse cursor across the screen to get what you want – why? Why couldn’t they place the “visits” tab to the left side, or alternatively move the options to the right side?

In summary the new interface uses too big graphs, has too big font, doesn’t really let me customize the way I want. The graphs take too much white space (I didn’t need to scroll stuff on the earlier interface) and is (annoyingly) removing the old interface. I’m certain that they had marketing people and technical people sketching the new system, but for some reason I feel that the usability doesn’t match the quality of the system.

Oh well, it’s still free so there’s not much to do about this but hope that they either improve the UI, or switch to some alternative system. Or simply get used with the new interface.

The 7 Worst Game Design Mistakes

Mistake #1 – Designing a game like “hit game” but better
I’ve guilty of this. I remember wanting to create games like “Warcraft or better” or like “Diablo but better” (10 years ago) and there’s couple of reasons why this is bad: first of all it hardly brings much innovation in the genre. And secondly, that design (and business opportunity) has already been taken. Designing a game that’s already been seen won’t simply bring creating innovative games – and might not be financially intelligent.

Mistake #2 – Copying design from other games
Blatantly cloning some hit genre can be a good strategy in some situations (if you are fast, and can make it work), but it won’t work for long since others are going to do that same faster than spam spreads in the Internet. If you simply copy some other game, without adding any depth into it, you are simply cloning something that won’t help you much.

While sometimes “making bit better games” or even “cloning games” might be okay, I really wish to see some things made really good and polished.

Mistake #3 – Not copying design from other games
I think it’s also mistake not to copy something from other games, and trying to come up with totally 100% creative design. I think the groundwork for designing games has been done to help you design better games – so there’s no reason why not take something that works, and build on that.

You may also “borrow” design from other game types. Look board games for example: there’s lots of turn based board games that would make fine real-time strategy games, if you add some depth into them. There’s lots to learn from other games.

Mistake #4 – Leaving too open design
I think that it’s better to get something small finished, than leave something big unfinished. I’ve seen people designing games by leaving the design so wide open that it scares me. They tell (and I’ve been guilty of this as well) that in this game “everything is possible” – and they want to make sure that game design is open for changes. While changes are necessity, leaving big design totally open will most likely belong to category called “almost finished” – something that probably won’t ever be done.

Mistake #5 – making too strict design
The other mistake to do, is to make too strict design that isn’t open for changes. There might be reason for having certain design and stick to it… but if for some reason players don’t like the design – then it needs some changes. And if you don’t allow changes in your design, you are facing a big problem as people simply won’t like your design.

Mistake #6 – Forgetting little things
We all should learn from Japanese. Just watch some anime series (like Fullmetal Alchemist) and pay attention to the details the drawers do. They draw beautiful scenes that might be seen like 2 seconds. They spend a lot of time for something that has no pretty much practical value: There’s all kind of details that please the eye. While these details aren’t the core of the series, they show that these people are dedicated to bring quality work – and it shows.

Similarly it’s good to put some effort to making details in the game design. They can be anything from butterflies that give you extra points, or special animations that might have nothing to do with the actual gameplay… they might be anything in the design that really doesn’t matter in terms of points – but matters in terms of seeing a polished games. Tiny details are important, don’t forget them. They can give your player the feeling of playing a polished game.

Mistake #7 – Forgetting big things
While tiny details are important… I wouldn’t base my game design on small things alone. The big or major things that define the main design must be finished first. That’s the heart of the game – and it must be fun. I’ve started designing games from points like “collecting rocks” (still have open ideas what to do with this game – and the big thing might be missing here) and “piling boxes” (very basic concept, yet pretty fun according to players – the big thing was remembered here) and that makes all the difference.

Bottom line
Concentrate on big issues, but don’t forget tiny details. Don’t clone games, instead learn from them. Have a clear design that’s open for changes.

New Level Graphics for Edoiki – And a Lesson Learned About Tiny Things

Click here for a larger view

Edoiki is progressing: we have been just contacted a new animator who should get into work soon. There are four different characters to be animated, so the job is not huge – but something that really needs to be done.

One quite strange “problem” occurred when I got the new house. I realized that my plan to have players move only in ground level (their Y position in the world would never be higher than zero – meaning they would keep they feet in ground always) is going to a trash bin. Originally our level builder didn’t plan the stairs… but as they looked cool he added them. We could get rid of them, but as I think they add additional detail they are fine: we’ll just have to set up some code that allows players to get over those steps.

For any non-programmer this might sound quite silly to even talk about a task like this (“shouldn’t it be pretty simple to get characters to go over those steps?”). In reality these kind of “tiny issues” always require time. We have to make sure the network code is fine (we’ve taken care of that), we have to make sure the collisions work properly, we might have to think about how the unit moves when he faces a step and so on.

Or like our artist put it:

it is funny how I cant understand how hard it is to get it up the y axis

It’s almost the same as programmer asking “how rigging one simple character can take that much time?” I know it can take – and I’m sure all the artists know that as well. Basically you have to see things from both sides, not just from yours. There’s lots of tiny things that need to be taken care off.

And that’s probably one of the reasons why some games take 21 hours, and others 21 months to produce.

But now we have a new graphics, and that’s good.

What Resident Evil and Tetris Has in Common

There’s something strangely addictive in zombie slaughtering games. Yesterday I watched Dawn of the Dead movie, and while it’s very bloody (and perhaps not suitable for all ages) there’s still something strangely addictive and thrilling in that survival genre: there’s the atmosphere where you have to be on your toes all the time. Basically the movie plot is that undead zombies walk and try to attack (and eat) everybody they see… and the main characters have to survive.

Resident Evil game series use the survival theme to make the game enjoyable. While I’ve never played a lot of these games, I’ve always thought there’s something fun in shooting those zombies (and this opinion comes from somebody who also enjoys reading Dalai Lamas or Gandhi’s texts – I suppose I try to be pretty open to different things). I suppose there’s something similar with why Tetris is so addictive: more and more blocks come and you have to “survive” – and finally there will be so many blocks that the game ends.

Compare that to some zombie games: first there will be just a few zombies that you can shoot, then there will be more… and more. And finally there can be so many zombies that you might not be able to handle as you desperately try to shoot what you can. This comparison with Tetris is a slightly exaggerated, as these big budget games (such as Resident Evil) usually carry some sort of a plot. The gameplay is based around the survival, just like in Tetris.

Here’s a resent video of Resident Evil 5.

While the video might look like something that we could see in PC, it’s quite interesting that the horror survival genre is concentrated on the console side: Xbox and Playstation have these type of games… but if you look at the PC offerings: almost zero. Zombie themed survival horror games are for some reason published for the consoles.


I suppose the market decides what it can bear, but I’ve seen other survival games that have done quite well (not just Tetris, but even independently developed games such as Shadowgrounds). It’s bit of a surprise that there are no big survival game hits for PC – or at least not many that would have sold loads.

The zombie survival games have a lot of common with famous PC titles (like Tetris), yet for some reason these survival games are often published only for consoles.

Maybe that could be an open market opportunity for indie developers?

Spooky Lesson About Colorblindness and Game Production

Couple of months ago I encountered one of the strangest lessons in game production so far. I learned that red and green are not good choices for colors. Basically, we had been using red, green and black colors to represent players in our (non-public) game play demo.

When I was showing the game to our new composer, I wondered why he couldn’t test the game properly. His assassin was always getting caught by my guards. I tried to explain to him that he must stay away from the green guards. At that point he gave a really good reply:

“I cannot see green or red well, I’m colorblind”.

I was stunned – and asked if he was kidding. No he wasn’t. At that point I simply said: “Then there’s nothing more to show about the game play”, closed the demo and used messenger to explain how the game works. Eventually we managed to find common understanding. I assure you, it was an interesting lesson – and has never occurred to me before.

I really think this should be planned in production: there’s lots of colorblind people out there, and if your game design relies on colors (like we had in the alpha version), you should make sure they aren’t red or green or it will be tough time for (some) colorblind people. Our composer then continued by giving then some statistics: 5%-8% of men and 0.5% of women are colorblind. Women carry the gene, but it doesn’t affect their vision. (At least this is what he said – but I suppose he knows what he is talking about)

Spooky things you can learn while producing games.

Closer Look at Blogroll & Links

I have some blogs and RSS feeds I frequently read, and I would like to hear recommendations from you (regarding marketing/business/gaming blogs). I thought to also tell what’s on my blogroll in case you haven’t checked it out yet. Here’s all blogs in my blogroll – fell free to throw new suggestions for good blogs to read.

A Shareware Life – lots of cats ;) and pretty good information from an indie gaming industry veteran.

Addicting Entertainment – video game stuff.

Adrian Crook (Relic Entertainment) – producer’s personal blog. Did an interview with him in the past.

Bonebroke – developer of upcoming nano game.

Carnival Blog Directory – if you want traffic, write articles and then submit to carnivals (like the one I’m hosting)

Casual Game Blogs – blogs syndication.

Cliffskis Mumblings.. – industry veteran, worshiped my many. My interview with Cliff Harris here.

Critical Hits – RPG stuff (and a fine domain name)

Dark Moon Blog – shareware game maker.

Digital Sailor's Diary – TIGRS casual game rating and more.

Doolwind's Game Coding Journal – gaming stuff.

Entrepreneur’s Journey – Yaro Starak, guy who makes a living online, recommended. Recently published a free blogging resource.

Free Games News – games & news.

GameDevBlog – industry professional Jamie Fristrom.

GameThink – game development articles.

GBGames' Blog – interesting thoughts from an indie.

Gibbage – guy who never stops shouting “buy Gibbage! Now!”, fun stuff.

Grey Alien Games – video game developer and friend Jake Birkett.

Grumpy Gamer – Hint: Guybrush Threepwood… Monkey Island…

Guy Kawasaki – Art of Start among lots of business insight.

Hanford Lemoore – design, electronics, video games – good stuff.

Jay is Games – casual game reviews.

Joe Indie – long time indie, planning to write novels…

Joel on Software – software industry veteran. Check out their forums as well.

Kloonigames Blog – rapid game development. Good stuff.

Mr. Phil Blog – video game developer and Insider.

Only a Game – narrative gaming.

Phil Steinmeyer – casual games, inside-out.

Planet MicroISV – for small business owners. – the blogging resource.

Producer's Point of View – industry veteran.

Psychochild’s Blog – developer’s thoughts.

Raph Koster – industry veteran (his website has changed a lot since my last visit, what has happened?)

Shoe Money – practical lessons from guy who really knows how to benefit from the Internet. One of the recent post How to fire someone caught my eye. (Not that I’m planning to fire anyone)

Techcrunch – what’s happening in the web 2.0 world. – games & development.

Video Game Marketing – game marketing.

Zen of Design – designers insight.

And naturally there’s lots of other blogs that link here. Feel free to check out them as well.