Year 2007

In the end of 2005 I wrote a short article Promote Your Business Daily and I think the tip is worth repeating also in the end of 2006. You could also use that as “work on your game daily” or whatever it is you are going to commit yourself doing for the year 2007. Don’t forget 1 Hour Solution to Any Problem and 1-Minute Solution to Getting Things Done that can help you out.

I took a brief look into my crystal ball and this is what 2007 brings:

  • will keep updating daily.
  • Edoiki game will be published (one way or another)
  • The framework and code that was made for Edoiki will help me test prototypes for new online multiplayer games
  • More sales statistics and interviews will be published.
  • Insiders will get at least one major service addition to the current pack.
  • Fun pen & paper role playing game idea – something that’s never seen before – just might come true…

I also saw some other visions (although the crystal ball was bit foggy in these parts so it’s provided in “as-is” basis – I’m not taking any personal responsibility for these)

  • More indies will start making games for consoles, especially for Xbox live but also PlayStation and Wii will be targeted. (Partially correct: Xbox live is getting more attention but PlayStation and Wii are not in the reach of most indies)
  • Fallout MMO will be published. (Nope – it didn’t happen, but at least the Fallout 3 is scheduled to be published at Fall 2008)
  • They finally agreed about the finances and will start making The Hobbit movie. (Unfortunately not – shame really… I would really have wanted to see that movie happen.)
  • Sid Meier’s name will be seen in the title of some really cool game that will be talked about years. (Nope – no super-big-mega-hits that carry Sid’s name, but I keep waiting. Certainly it’ll happen)
  • Duke Nukem Forever release date will be published. Getting closer! (teaser here)
  • EA will get fatter than ever, and many smaller studios will be eaten. (Pretty much so, just look at news like this)
  • There will be so terrific graphics in new games that game reviewers have to invent new words to describe them. Correct! (Just one word: Crysis)

I’ll put the ball away now and wish you all Happy New Year 2007.

Thanks for reading. See you here also in the future.

Tip For Better Usability

Here’s a very small and practical tip that is forgotten by many companies when designing interfaces: checkboxes or selection boxes should always be told in positive format. For example, if player can tick to enable AntiAlias then the box should look like this:

AntiAlias Enabled

In no case there should be like this:

Disable AntiAliasing

The first option is much easier for human brain as there’s only one thing to process: “AntiAlias is enabled”. But in the second case your brain will most likely first check if there’s a ticked box and then it will check word “disabled” and then calculate “disabled is enabled so this means that AntiAliasing is disabled”

Here is another bad example with several options:

Not Windowed Screen
AutoRun OFF
Enable Auto-save
Disable Script Debugging
Maximize Screen Automatically
Hide additional information

Better way would be:

Windowed Screen
AutoRun ON
Enable Auto-save
Script Debugging
Maximize Screen Automatically
Show additional information

As you can see, there were 2 options (“auto-save” and “maximize screen”) that were okay, but since the other options were in “negative” way is harder to read those options. In the better solution all options are said in “positive” way which makes it easier and faster for user to understand what he has selected.

Same rule could be said for variable naming: always use positive tense in variables. For example a variable “HideCharacter = True” is bad since as the logic is same as “as hide character is true then show character is false which means character is not shown”. If you would use “ShowCharacter = False” then you could read it as “Show character is false so character is not shown”.

The more variables you have the more complex negative tense makes things.

Very Simple Trick That Will Save Hours When Balancing Your Game

When developers write games they might forgot that it’s not necessary to store all the game data in the actual code. Some programmers simply use arrays to store information about weapons or units. I really recommend using Excel or some other external program for this. If you need to store values for real-time strategy or for a role playing game (besides some other genres) then it’s very handy to use some sort of spreadsheet for this, instead of trying to manipulate arrays.

When you store game information (like weapon or armor attributes) to an external spreadsheet you can export them and use the exported file in your game. Besides, when you use some external file format (like .CSV) then you also give players easier chances to create mods for your game. It’s very easy to change weapon and armor values when they are stored like this.

Here’s an example pic on how we are handling strikes for Edoiki game.

When I need to change something, I simply edit values and export .CSV file and the game reads the values using a small code I’ve made. Believe me – it comes extremely handy when there are lots of modifiers and you need to balance game.

What Game Producers Can Learn From Florists

I remember getting flowers some months ago. I went to a flower shop and asked florist to get me some flowers. She said that at the moment they didn’t have that kind of flowers but he told me to visit an another shop (their competitor) as they might have what I wanted.

I went to the other shop and bought the flowers I needed. Lesson learned? When doing business, it’s your job to help the customer. I had visited the first shop before and this act – helping me to get flowers – made me respect their shop even more.

This same attitude will help you as well. For example, if your players want you to create certain type of game and you have no plans to do that type of game, you can recommend games by some other developers. In this case you lose absolutely no customer, but make them happy as you’ve found a solution for him. If you have a potential customer who cannot pay the price of your product (after you’ve tried to close the deal by making some special arrangements, like split payments) then you could recommend him to try some free software which might help solve his problem to some extent.

The main idea is: If you are absolutely 110% sure that you cannot make a deal with a potential customer then it does no bad for your business if you try to solve their problem without selling your product to them. Maybe they thank you and come back later (if you really have unique product or service) when they are able. And even if they aren’t, at least you get a good feeling about helping somebody.

I’ve always thought that the products and services indies do should be so unique that you can openly tell about your competitors and still show how your product is better than theirs. If your product is not better or unique, then it’s your job to make it better and unique.

What Screen Resolution Is Best to Design For? (2006 Statistics)

Screen resolution is important for those who make 2D games – they often need to figure out which minimum resolution they should support. Here’s some statistical information which might help out making decisions regarding screen resolutions (this might come handy also when you design a website…). It looks like 1024×768 screen resolution as the minimum is a good choice – and there’s no point considering 640×480.

Out of almost 90 000 visits roughly 97% percent of visitors had bigger screen resolution than 800×600. Only 2.77% had 800×600 and only 0.04% visits were made using 640×480 resolution (that’s 40 visits out of 90 000 using 640×480 – which sounds very small to me). There were some tens of visits made using bit more strange resolutions like 480×272 or 240×160, but the great majority supported bigger screens.

Here’s an image about the situation.

While it’s true that there are some considerations (like the fact that I’ve designed the site for screens wider than 800 and that those people who have smaller screens might visit more often if the website was designed to suit their screens better) I must point out that the stats looked quite similar when my site design was made for 800×600 screens. The small number of those resolutions made me decide to use wider layout.

Anyway, this is only one piece of stat, and I recommend checking out some other statistics (from year 2006 – not any older) from other sources if you have trouble making the decision. But – to me – it looks like 1024×768 as a minimum should cater for most people. If you are planning your 2D game, it looks like there’s no need to plan for 640×480 resolutions. 1024×768 should be fine, and 800×600 as a minimum is definitely okay.

You Don’t Need to Be Busy

Some busy people always complain how busy they are. Some might even feel little proud of being busy. If you are busy, I think it’s better to ask yourself a question: “Why are you busy?”. If the answer is “school, work, hobbies, etc. – all the stuff I need to do” then you’ve responded wrong. You are busy because you’ve chosen to be busy. Nobody forced you to work or take so many classes or hobbies. You have put yourself in that situation, and it’s your responsibility to deal with it. Simply delegating work and learning to say “no” can help you.

Being busy is not because too much of work, being busy happens because of accepting and taking too much work.

3 Practical Tips For Getting 3rd Party Tools

A few days ago I mentioned that while 3rd party tools are necessary for production, they are also likely to cause minor problems in game production. Here’s are some practicals tip for anyone considering getting libraries, game engines or other software to help your game production.

[1] Make sure the tool provides real help in your issue: Some time ago I bought 3D World Studio to help me out in making game levels. While initially the tool seemed to suit well (multitexturing support, lights etc.) to my needs there were many minor problems that caused bigger problems. While I wanted multiple textures, the tool couldn’t handle more than 2 textures (and I needed 4). The lights were not good for Blitz3D terrains and the exporter format for Blitz3D was not suitable to my case (as I wanted to use use Blitz3D terrain format rather than .B3D file format). So before purchasing, make sure the tool can really solve the problem rather than create more. I don’t blame 3D World Studio or say that it would be a bad tool, but for my specific needs it didn’t fit so well.

[2] Don’t be afraid to spend some money: I think indies generally won’t spend much money on tools when they really should. I think whenever tools can provide help, you should consider getting them. Many indie game producers have contract or part time jobs, so I think it’s good to calculate your hourly rate. If a $110 tool can save you 50 hours of work, I bet it’s a good investment. You don’t need to do everything by yourself.

[3] Tools require time for learning: While some libraries can save countless hours, you must remember that they often require training and learning. I spent many hours trying to solve problems with the world builder just to find out there didn’t seem to be a solution, only recommendations like “you shouldn’t use Blitz3D lights as they are poor” or “it works fine for me” – so be sure to count some hours for learning and solving problems.

Getting Rid of Stress

Many people in IT area experience stress. Many game producers and programmers have stress. Those who do might blame external issues. They might think that other people, work, cars, Christmas etc. cause stress, but that’s not true. Stress is internally developed and while external issues will have an impact – the one who controls stress is you. You are in charge whether you experience stress or not.

It’s okay to have stress – there’s nothing wrong with that – and it’s not always easy to be stress-free in every situation. But even then, you are in control. You decide whether to have stress or not.

Here are some ways to reduce your stress level: exercise (decent load of sports will give you something else to think about), get rid of workload (I’m sure there’s unnecessary workload that you could delegate to somebody else), meditate (haven’t tried, but so they recommend), reduce the amount of uncertainty (for example, if you are worrying about whether you can find a fire exit in case of emergency, a good way to reduce stress is simply go and check out where the fire exits are)

Dalai Lama has said:

“when something is troubling us we tend to blame other people for the problem. Instead of reacting instantly, we should examine the problem with a cooler head. The first step is to see if there is a solution. If the problem can be solved, there is no need to worry about it. But if the problem cannot be overcome, worrying about it will do no good.”

I think that’s a great quote to remember.

“What’s Good in This Situation?”

Few days ago I spoke with one friend of mine who was really pissed off about something. He cursed about the bad situation and telling how bad he felt.

I asked him a simple question: “Can you find something good from this situation?”

He pondered a while and said yes – he found one thing that was actually a good thing for him.

I asked if there’s something else and he immediately said another good thing and whispered “this is working”.

I continued to ask “and?”. Again he didn’t need to think much as he thought third good thing in the bad situation. He thanked and said that he already felt 10 times better than a minute ago.

Asking “what’s good in this situation” is not my idea – it’s probably mentioned in many success, philosophy or leadership books but it works. When you are facing some terrible situation, you can always ask yourself: “What’s good in this situation?”. If you think about it for a while, I guarantee that there’s always something good in those bad situations. Always.