Pitfalls in Game Programming
Now how can having a dream make you fail, you ask? It is quite simple to reason so lets give it a try. First you have a goal such as listed above. Now that you know your target, many people will spend days, weeks, or months thinking about the different features they would like to have. Many times these features are seldom fleshed out in a usable form, rather are left at most as ambiguous thoughts. And this brings us to the first and most common pitfall in game development. No solid design. You can look on any online forum and see a post like, "I have a great idea for a new MMORPG that is going to change the way they are played and it has Elves and Trolls in it. You can be powerful wizards or assassins. It will be an online game where around 1000 people can play and the world will be huge with all kinds of quests."
Anyone that has been programming for a little while can see the obvious flaws in this "idea". Lets beak it down and see what usable information we have to work with.
MMORPG Elves, Trolls Wizards, Assassins Online (could get that from MMORPG) Server support for 1000 players Large World Quests
So in essence, we don't have anything to work with. I know it is hard for a new programmer / game designer to visualize what a design concept should look like but it isn't what you commonly see. Before anything else you have to understand the computer is simply a tool that will accept input and follow a predetermined logic path based on that input. What does that mean and why is it important to us?
That is a good question and one worth a real answer. A detailed design is the most important tool you have as a game developer. It gives you an opportunity to "see" the game in its entirety before you waste time on a single line of code. It will let you test your logic, program flow, and find any flaws in your idea. It will also give you an idea on the system resources you are going to need to play the game. But the single most important aspect of your design is that it will give you a complete list of things that need to be done to finish the game. This will help keep you on track and not add a bunch on new features in the middle of development.
As an example of the level of detail you need, I'll pseudo-code the instructions you would need to say, turn on the TV with a remote control.
Most people would say, easy, pick up the remote and hit the power button and everyone that has ever touched a remote would know exactly what you were talking about.
A computer doesn't have that luxury. It is a clean slate and needs to have every detail listed. For example:
1 Check left hand for remote (if true jump to 5 ) 2 Check right hand for remote (if true jump to 5) 3 Search for remote 4 Was remote found? (if false jump to 3) 5 Use thumb to press power button 6 Use thumb to release power button 7 Did TV turn on? (if false jump to 5) 8 Enjoy favorite show.
Ok now that we have an understanding of the level of detail a real design requires lets move to the second pitfall of game design.
We have our dream game designed and completely fleshed out, now what? Well now we have to evaluate our resources. But what do you mean? When I say our resources I am talking about everything that is going to be required to make the game. Just a few that should be mentioned up front are, programming skills, API knowledge, graphics / sound resources, time, and the financial resources for things like servers and contractor costs.
Not all of these will be as important depending on the type of game you make. An example would be making a version of PONG (see the http://groups.msn.com/cgameprogramming CGP Group Project ) This game can be done in a relatively short amount of time, with very few resources and none of which couldn't be done by even the worst artist (ME). But as the project becomes larger and more complex the resources are, the costs, both financial and available time become significant factors.
So what is the biggest factor that contributes to project failure in this group of pitfalls? There are many excuses and some or all may be valid but next to poor project design, a lack of programming skill has to rank #2 all time pitfall. Most new programmers want to make the next great game on the block but fail to take the time to learn the foundation of their language of choice. Then further down the road when they should be writing games they end up struggling with concepts they skipped and get frustrated and quit.
The last major pitfall comes when a developer / programmer tried to create a game project that is too large or requires resources they don't possess. This could be any of the resources listed above but a prime example would be.
Lack of solid design with inadequate programming skills on a project that is too large.
That sums up about 70% of new project failures. Certainly there are exceptions to every rule but exceptions are rare.
So what is a new programmer to do? Stick with the basics. Choose game projects you know you can finish. If you are going to try a new concept it is better to use it in a project with a high probability of success. Never underestimate the importance and the value of learning the basics. Anyone up for Tic-Tac-Toe?
Related Tags: design, free, programming, c, game, tutorial, programmer, coder
Steven Bradley
Your Article Search Directory : Find in ArticlesRecent articles in this category:
- Improper Way Of Marketing Reflects Poorly On A Company.
New business, product or service everything requires visibility, awareness in order to come into the - Replacing Paper Prints With Online Versions
Nowadays saving out on resources and being additionally informative are both aspects that are in. In - Stop Smoking Effectively
If I told you of a way that you could stop smoking harmful tobacco would you believe it? Most people - What Is Runtime Error 182? And How To Fix It
Are you finding an effective way to fix runtime error 182? Do you think fixing runtime error 182 is - Do You Know How To Fix Runtime Error 87 In Minutes?
Are you finding an effective way to fix runtime error 87? Do you think fixing runtime error 87 is to - Knowledge About Avi, Avi Player, Avi Converter On Mac
Knowledge about AVI, AVI player, AVI Converter on MacWhat is an AVI?AVI, an acronym for Audio Video - Buy Your Highly Successful Email Survey Software Today
Email Survey Software- Boost Your Business and Increase ProfitsAn email survey software could be one - Xrm - The Anything Relationship Management Solution
I recently attended the Microsoft Dynamics West Region FY11 Sales Planning Retreat. This year's meet - What Are The Benefits Of Working With Electronic Medical Records
Recording medical information is a vital part of health care services. These records are necessary f - Basic Factor To Make Website Business Oriented
Internet is home for millions of websites. The online business is becoming more and more competitive
Most viewed articles in this category:
- Parental Control Software
Parental control software is software that can help parents protect their children when they are onl - Digital Asset Management Software
Managing and organizing your organization's documents is a critical component to your business's suc - AdobeRGB vs. sRGB
Understanding color spaces I'll try to explain it very simplified, but understandable for everyone - Confessions of a Prankster
I wanted to get a jump on April Fool's Day, partially because of the long, cold winter blues, and pa - Malicious Thoughts About The Spyware Ills Of My PC
Who would think I was capable of such revengeful thoughts about the parties responsible for inflicti - Recover File and Recover Deleted File Tools
Data recovery software is a very effective way of retrieving data from a worn or damaged hard disk d - Life without Windows
Ubuntu, a user-friendly version of Linux, has been running so nicely on my home PC that I decided to - What Benefit Does an Online Software Download Site Offer You?
Are you having a problem that where you find a good softeware when you consider to have a try or wan - Maintaining A Website
There was an era when people were talking about how to create a website using html coding or some ea - Benefits Of Proper Time Tracking
Have you ever written down time when you have started and finished your work? Maybe you have had mul