Thursday, June 22, 2006

Know your market - OPTIMISE!

Going back to Yoda Soccer, I had earlier talked about performance issues on my 1ghz laptop. Upon reporting the problem, I had this response:

This is likely because the game requires a graphics card with 64MB of video ram.

Let me get this straight. A remake of Sensible Soccer - a game that ran on the Amiga 500, an Atari ST, the SEGA Mega Drive, and a 486 PC - requires a 64mb graphics card? That is ludicrous.

If you are making an open source game, know your market. Your market is typically not people with high-end graphics cards. If anything, it's people with older PCs who have less cash who do not want to invest in an uber-PC to play games. Of course, you have the ideological few who purchase a Cray to play Supertux, but they are the minority.

So, with your market in mind, and knowing the kind of graphical and computing intensity your game requires, an open source developer should not be satisfied with something that performs badly.

Optimise, and optimise early.

Why optimise early?
  • Your game will be respected more by players if it performs well, regardless of how complete it is
  • More people will come to play your game and spread the word about it
  • You will understand the underlying architecture of your codebase better if you focus on refining it
  • Your codebase will become cleaner as you work on optimising it
  • You will naturally eradicate bugs and improve user experience during the course of optimisation
  • You'll become a better programmer through learning while optimising code
  • Future development of your game, by yourself or by attracting new developers, will be easier because of the above reasons
Is your game slower than it should be? Why are you waiting? Stop feature creeping and start making it faster and smoother. A simple game that plays well is better than a complex game that barely works. Of course, the pragmatic position lies somewhere between those two extremes but err on the side of the former because that is what will impress people the most. It will also help keep you motivated because of the reasons I have mentioned.

Certainly, requiring a 64mb video card for a game that was written on 15 year old hardware is outrageous. Perhaps it is because they use BlitzMax, but surely BlitzMax can't be that inefficient. Hopefully in the future the Yoda Soccer developers will consider porting away from BlitzMax so this game can be enjoyed by those of us who are not using fast machines.