Monthly Archives: March 2006

Fundamentals of Game Project Duration Estimation

Indie game projects easily miss their deadlines. Planned milestones pass, and patches don’t come on time. This article points out 15 reasons for missed deadlines this and gives a clear guidance on how to estimate your game projects duration. Getting better estimates will not lower costs but will help you estimate the time scale and costs related to the project.

#1 – Avoid Over Optimistic Estimations About Your Skills and Energy Level
It’s quite common for people to over estimate on what they are capable of. There might be times when your skills are simply not enough and you need either help from others or time to learn new skills. It’s also notable that your level of energy might change during the project – on some days your diligence and motivation could spike while on other days they might be really low. Estimating projects and believing that you will have 110% energy level every day is over optimistic way to approach.

#2 – Avoid Over Optimistic Estimations About Your Time
How much time you spend on chatting, emails, eating, breaks, phone calls, and organizing daily? You must notice that if your typical work day lasts for 8 hours, you propably use some time for general issues. You propably receive interruptions in different ways. It’s not realistic to assume that you could use 100% of your time for the project. Depending on your assignments it will propably be something like 60-80%.

#3 – Estimating Too Large and Abstract Components
This is propably the key reason why projects estimates miss their targets. If you try to estimate how much would a new multiplayer FPS game would make you would need to list the components/objects. The first list might contain only big components like:
1. “Network”
2. “Server”
3. “Client”
4. “Players”
5. “World”
There’s no way to estimate durations for these. You’ll have to break your big projects into hierarchical list of smaller tasks.

For example: “Players” could be divided into several tasks:
4.1. “Player Design”
4.2. “Player Graphics and Animation”
4.3. “Player Sounds”
4.4. “Player Network Code”
4.5. “Player Scores & Ranks”
Etc.

After you have listed these taskyou would need to divide them into smaller actions: “Player Sounds” for example could have actions like:
4.3.1.”Create death sound #1: ‘aaargh’” – 2 hours,
4.3.2. “Create mock sound #1: ‘you lose’” – 2 hours.
4.3.3. “Create footsteps sounds”, 3 hours
And so on.

Now you could total the hours for each task and you would have a much better idea on how much time your project could roughly take. Breaking large units into small manageable task is essential for you to make realistic estimations. It’s up to you how detailed plans you want to have. Sometimes 2 levels is enough, sometimes 3rd level is needed.

#4 – Fixing Errors & Bugs & Other Problems
Don’t assume everything will right in the first time. There will be always errors and bugs in your program. You will need to revise your code. Putting a 10-30% time buffer for “unknown bugs/problems” is a good way to make a better estimation.

#5 – Remember To Estimate Also the Integration of Different Modules
Besides bug fixes you must notice that integration of several modules will take time. If one programmer codes the server and another one the client then you must also estimate the integration – the time it will take for server and client to work together.

#6 – The Feature Creep
Game developers – whether they are artist or programmers want to make the game perfect. They want the textures to be perfect. The code must be perfectly optimized. The rendering must be perfect. The details must be perfect. It’s very hard to make a decision when something is considered finished, but there are times when you must make sure the project goes forward. Polishing over and over will eventually lead to a non-finished product. There are times when you must make a tough decision – and accept some level of quality. It doesn’t have to mean that there couldn’t be many areas where the perfection is done – it just means making a conscious decision about where polishing is really needed and where you can survive with lesser quality. To make better estimations, be sure to add ‘feature creep’ extra time for some parts of the game.

#7 – Producer Tasks Has to Be Noticed
Meetings, project planning, estimations, project management, design document updates all are tasks which aren’t usually noticed when making game project estimations. All these take time and should be somehow taken into account.

#8 – Unclear Goals and Task Objectives
This is another huge problem in project planning. If your goals or objectives are vague, there’s no way to estimate them. If your goal for making the graphical user interface is listed as “Make a better GUI” it’s not possible to estimate duration that. What does “better” mean anyway? Does the GUI mean also designing the graphical user interface? Does it mean coding it – or is it only making the pixel graphics for it? Make sure you state and write your goals and objectives clearly.

#9 – Wrong Person Is Doing the Estimations
If you are a coder and try to estimate hours for modeling without any relevant past experience there’s no way you can do it. If you don’t have any idea on what a making of MMORPG would take then you shouldn’t do the estimation. You should either find the people who can help you to estimate or learn more about the subject. Use designers and programmers to estimate – let your team participate in the process if necessary.

#10 – If You Cannot Find Answers From the Team Members, Ask Outside
Estimating a massive game project without previous experience is a difficult process. Consider asking other game developers. Go to some game development forum and ask what people would estimate about your project. You propably won’t find exact answers, but you’ll most likely will get some rough ideas about the duration. This might help you to make a better evaluation by yourself.

#11 – Estimations Are Not Updated When the Project Gets More Content
One quite strange phenomena is to create huge timetables and large estimations for the game project and then forget these estimations. If you are going to estimate your project then you should update the estimation when you add significant changes into it. Otherwise it’s no use.

#12 – Time is Not Tracked
Without tracking your time spent on different tasks you won’t learn. You’ll estimations will remain on the level they are now – and if you don’t track your time you propably will live in a dream house believing your estimations are always correct.

#13 � Nothing is Learnt From the Earlier Projects
If you have completed or progressed in some previous projects you should store the estimations and actual durations. If you have past experience about estimating a project it can come handy when doing new estimations.

#14 – Quick Estimations
One of the worst ways to estimate projects is to do it in haste. If estimating a project takes 30 seconds you can bet that person is not doing a good job. I’ve asked many people “How much time will that take?” and listened them to answer right away: “It’s 90% complete, will be finished in two weeks.” After two weeks the same person is in the same point giving exactly the same answer. If you make estimations – don’t make them quick.

#15 – Don’t be Afraid to Be Wrong
Bad estimation that is tracked and learned from is much better than no estimation at all. If you want to make better estimations, start tracking time and making your guesses. Note how much time it took, and what changed during the project. If you want to learn, you must accept to make mistakes. Start learning, and get better on making estimations.

What Big Game Houses Can Learn From Indie Game Teams?


Before the Battle For Middle Earth 2 was released, there were public complaints about the network code in BFME 1. Especially in the player made maps, the out-of-sync error happens quite often.

There was rumour in the BFME1 forums before the release of BFME2:

The BFME2 network code will be much better than in BFME1

I’m not sure who started the rumour, but I believe it must have been heard by the EA/BFME’s producers.

Now, just about a month after the full game is out, we hear the following story:

In an effort to resolve the desync issues in BFME 2 patch 1.02, EA is asking for help regarding the circumstances that are creating desyncs.

It’s a shame that they still experience network problems. I realize sometimes you just have to ‘cut the corners’ to get the game out as possible, but it’s shame that it causes problems to player. I think that BFME is a great game, and can bear the network code – but there are people who won’t. Same applies for BFME2, I believe.

There’s quite important lesson to be learned from this: If you have an online multiplayer playing option in your game, make sure people can play online. In online multiplayer games it’s more important to get to play the game rather than making sure everybody is at 100% sync all the time. It’s acceptable to have some lag and wrong positions, but it’s not acceptable to end most of games by saying that ‘game has gone out-of-sync’.

It’s wonderful to hear stories from indies who can delay their game launch for couple of weeks just to go the extra mile and fix the problems. Delaying the launch is something that big game houses cannot do due deadlines and huge marketing process. They aren’t agile enough – at least not always. Small indie companies are simply more flexible, and that’s our competitive advantage. It’s something that big game houses would need to learn from us.

Sales Stats: Titan Attacks

Title: Titan Attacks
Developer: Puppygames
Released: 5th March 2006
Current version: 1.2
Team size: 2 part-time + 2 contracted
Time of development: 6 man-months
Platforms: Windows, Mac, Linux

Sales
Price: 9.95 USD
Units sold: 457 as of 27th March 2006 (in 22 days)
Downloads: 9658 as of 27th March 2006 (in 22 days)
Conversion rate: 4.7%

Expenses:
* Sound: 351 USD
* press releases: 99 USD

Revenues:
* Direct sales: 3810 USD
* Affiliate sales: 70 USD

Advertising & Promotion methods:
* Press Release
* Apple.com front page coverage
* Promosoft to PAD download sites
* Free listing on download.com
* PPD on download.com
* Finding review sites and ask for reviews
* Choosing affiliates carefully

Additional information
Author, Caspian Rychlik-Prince, added:

Essentially all the success has been down to Apple.com exposure; game would otherwise have floundered in obscurity forever. When Apple.com exposure finishes we expect sales to drop back down to the usual mediocre levels. We’ve had an unusually large amount of fan mail about this game.

I asked the author how they ended up in the the apple.com’s front page, and he responded:

I think they just liked the game :) Happened to Ultratron too.

Thanks for the info Cas, and good luck with the sales.

P.S. There’s a recently started puppy games blog now available. Click here to visit the blog.

IGB: Business Solutions For Game Developers

Indiepath and Polycount Productions launched indiegamebusiness.com – an online business solution for game developers. The service has three major components: a newsletter tool, a press release tool and an online highscore system.

If you are a game developer/producer sign up for the free trial account. Costs you nothing and let’s you play with the system. If you are a member of the press (journalist, game publisher, reviewer or other) subscribe to the press list and start receiving quality press releases from professional game developers.

iNewsletter: the newsletter tool
This quote is directly from the official IGB press release (You can subscribe to the list or syndicate press releases using rss2):

* iNewsletter: A self-service solution for the creation, management and deployment of subscriber lists, newsletters and e-zines. The web-based software is feature rich and very simple to use. The iNewsletter management features, reporting and assured email delivery make iNewsletter the perfect choice. Keeping in contact with visitors and customers has never been simpler!

Basically iNewsletter is a sophisticated, but easy-to-use newsletter tool. I use the IGB newsletter tool here at gameproducer.net, and those who have subscribed to the newsletter get my emails. Nice and easy.

iPress: the press release tool
Quote from the announcement:

* IPress: A self-service press release solution; customers provide the content and IGB assure the delivery. All of the press contacts held within the IGB database have subscribed to the service through an opt-in process. The iPress service is considered as the hub connecting the gaming press, business and developers. Members of the press, business and other organisations have opted in to the service to ensure they get the news that really matters, YOUR news! IGB publish all the latest press releases on the IGB RSS feed to ensure news information is distributed as far and as wide as possible.

Now, this is really something. Writing good press releases can be hard, but letting the world know about your press releases is even harder. The IGB’s press release system takes your story… and emails it to press contacts automatically. Press people who have syndicated the rss feed (really simple syndication) will receive your story in their computer through the feed. When our ‘secret game project’ is ready to be launched, we’ll use the IGB iPress for finding potential publishers/distributors. We’ll also announce about the game launch with iPress tool.

Here’s an image about how the iPress functions:

The process goes:
1) Write a story (a press release) about your game
2) Send it & let IGB handle the distribution.
3) Wait for the press/publishers/other media to grap your story
Simple as that.

iNET: secure online highscores and more
Quote from the press release:

* iNET: A secure, subscription based, hosted high score service. Designed for ease of use, IGB supplies the client libraries; hosts the data and provides it’s customers with the web-based tools to make score management a breeze. In fact the system is so flexible it can be used to manage all kinds of data such as the status and locations of on-line games, multiplayer lobbies and server-side versioning control!

So, in a nutshell it’s a secure online highscore system – but the nice thing with the .dll is that it’s very flexible: you even could create an online in-game chat, a game lobby or a server list for online multiplayer games. Our Hightailed game’s newest version (not released yet) has the online highscore system, and it works fine. The ‘secret project’ will use iNET for server list purposes.

More information
Now go on, get some more information at indiegamebusiness.com and get your game some coverage.

Conversion Rates

Conversion rate (or CR) means the ratio of downloaded compared to purchased product copies. If your game is downloaded 1000 times and purchased 10 times then your conversion rate would be 1%. (sold copies / downloads = rate). 0.5% – 1.5% rate is concidered somewhat a “shareware game industry average rate” but it’s just figure, and doesn’t really tell you what kind of rate you need to expect.

If you wonder why your game is not selling then it might be useful to count this ratio for your game. If you have sold 20 copies of your game and it has been downloaded 500 times then the conversion rate is 4%. This kind of high conversion rate would suggest that you don’t need to continue adding features, instead you need more exposure. You need to get 5000 or 50000 more people to download the game.

But if the game sold 10 copies and was downloaded 5000 times then the conversion rate would be 0.2%. This could suggest that your game is getting needed downloads but you need to improve the quality. Maybe add features, have better instructions, add “buy” buttons inside the demo etc. etc.

How To Get More Traffic to Your Site?

The golden rule applies here: You must have useful content in your site – or nobody won’t visit there. First you must earn the traffic. After then you start getting it. People who have been long in the business have earned their reputation. If they set up a blog, you can rest assured that their blog will receive lots of traffic.

Seth Godin (a marketing professional) describes this very same point in getting traffic:

The problem, of course, is in the “get.” The request has at its foundation the assumption that what you’ve built has somehow earned attention. “Our business model is working great–we just need more traffic…”

People never say, “how can I earn more traffic?” or “How can I rethink the core of what I’m offering so that it organically attracts people who want to see it?”

The 3 strategic points:

  • First of all, your site must be online when people want to visit there. Cheap web host won’t get you far away.
  • Secondly: there must be useful content in your site – or nobody won’t visit there.
  • Thirdly: Have a long term plan. 6 months is nothing when building a high traffic site.

14 tactics for getting more traffic:
Here’s some fast & easy tips for getting some traffic to your site:

  • Make press releases
  • Participate in different forums
  • Remember to use forum signatures
  • Write articles
  • Create a blog that supports your game site (it can establish credibility)
  • Include your blog link to your game site – and from game site to your blog
  • Include your website url in your emails
  • Share business cards (remember to have website URL there)
  • Mention your site to your friends
  • Mention your site when you play online
  • Exchange links with people
  • Submit your site to different search engines
  • Submit your site to different news
  • Get interviewed

Example case:
GameProducer.net visitor amount has been increasing all the time, but during days 20-22 there was a small decrease in numbers. I decided that I need to earn the traffic, so I thought about writing a really, really interesting post – and shared some insight information about the secret game project. The story also contains an image which makes it more interesting – at least in my opinion. I decided to go through the forums I visit (as mentioned in the ‘tactics list’) and made announcements in each forums. The next day I had a 5% increase in visitors and about 10% increase after two days. Also the number of newsletter subscribers went up right away. Now I’m going to re-visit those forums and reply there.

First have content somebody wants, then let the people know about it. It’ll bring traffic.

Challenge #1: How Small Things Have Big Impact

I’ve decided to bring up a new category: Challenges. I’ll be giving some puzzles or trick questions, and let you people solve it. The ‘right’ (if available at all…) answer will be told when somebody has quessed it.

Okay, here’s the first challenge:

How is it possible that 70.49 did not equal 70.49?
We encountered this problem. We had the following clause:

IF ($a == $b)
print “This is TRUE”
ELSE
print $a + “does not equal” + $b
ENDIF

The output was: 70.49 does not equal 70.49.

How was this possible? How is it possible that 70.49 does not equal 70.49? How was it possible to give us FALSE condition?

I assure you, in this case small things have a big impact. Feel free to participate: comment to this post and tell me what your answer would be?

P.S. Tim (Indiepath) – you are not allowed to participate. ;)

‘Secret Game Project’ Concept Art, News & Plans

Concept art:
Our artist send me some concept art. We decided to go with the fantasy style (it will suit better in game). Here’s some evil side units:

Remember: if you are interested to hear about the project when it’s finished (and perhaps in the meantime…) be sure to subscribe to the gameproducer.net’s newsletter.

News:
Our main programmer Arex left the team and is heading to Hybrid Graphics, a Finnish based 3D/2D graphics technology company. Arex is a very talented programmer and it’s a shame he left, but I cannot do else but to congratulate him for that job. It’s a great offer for him and I’m really happy for him.

Of course this means the programming side of the game comes more and more to my shoulders.

Plans
I’ve have been working on IGB – a business service for indie game developers and that’s why the programming of this game has been bit slower. Luckily the service is now finished which means I can put more energy in the game programming.

Even though these 2 factors (Arex left, IGB) are have slowed down the development I still stick with the plan to release the game in just 2-3 months (read: 3). One month is passed, and there’s much to do – but we’ll going to work the plan and finish the game. The basic system for the game (network connections) is pretty much done (which means we can test the game online) and the structure for gameplay & rules exist (in paper). The GUI is designed to be quite intuitive: we won’t be needing many GUI elements in the game – that makes it bit easier to code.

Production continues.

Free Games for Bloggers

“Free Games For Bloggers”

Quite nice marketing trick, eh? Free is always so catchy even though there’s dangers) I think Binary Moon has found a great way (and cheap too) to promote their games – if it happens to hit the right spot. Player writes a review, and directs people to download & purchase Binary Moon’s games. Very easy to set up, very cheap way to promote.

The biggest issue here might be the quality of the review & blog. If it’s just some player with a low-activity blog… then this approach can be harmful: the players who want to play the game now have chance to get the game for free (instead of making a purchase) – and if it happens that the person has a low-traffic blog, then the cost of this kind of advertising gets very high (potentially lost $20 for couple of downloads does not sound good to me). In this case, it might been easier just to visit some blogs and comment there… and get people linked back – but it’s not easy to tell what blog will be beneficial for them. I’m not sure whether it would be better idea to approach ‘real’ game reviewers than (random) bloggers – but I like this idea, and would give it a chance. After all, some bloggers won’t generate much traffic. How much traffic this experiment will generate, that’s hard to say.

But the fact that even game developers & producers (like me) are mentioning their story means that their marketing gimmick could generate more buzz than expected – not only from reviewers but also from other type of bloggers. (But who knows what they expected…)

I think this is nice way to promote your game, and propably will work with other kind of items as well (software, physical products and so on). It would be nice to hear the results from Binary Moon, after the campaign is been online for some time. I’ll try to get the information online in the future.

Now go on, click on that banner, write your own review – and get your free game.

Easy Way to Kill Team Motivation

If you want to frustrate your other team members then easy way to do that is to change your game plans and goals in frequent times. Maybe even stop doing your current game and starting another. Again and again.

One way to break this habit of constant need for change is to think bit longer before setting project goals and game plans. Think about them a bit more and ask “Is this what I really need right now? Am I 100% sure about this feature?”