![]() |
![]() |
![]() ![]() ![]() |
I recently heard a figure that only 1 in every 50 games started is completed, there are several reasons that could account for this. The developer could be in over their head and not able to technically complete the work, the project could be too ambitious and simply stretch out forever or the team could have problems working together and break up. All of these and more are distinct possibilities for why 98% of games do not reach completion.
However, I believe that none of these problems are as great as losing motivation to continue working.
The difference between successful game developers and unsuccessful game developers is not that one group of people is more talented, intelligent or skilled than another group of people. The difference is that one group of people finishes their games.
Talent, intelligence and skill are all great to have and will help you through your endeavors of game programming and throughout life. Let's be honest though, the simple act of typing in instructions to a computer is not brain surgery or astrophysics. While it does take a knowledge of the language you are using and an overview understanding of the operating system the program will run on, most of this knowledge can be gained by reading help files, tutorials, documentation, books and example source code while still not really knowing how everything works.
For a real life example, I cannot make one of those pop down buttons with different choices on it in Windows, however I can make an entire video game with sound, video, animation and game artificial intelligence. Is making one of those little pop down buttons hard? No, it probably is a couple of lines of code, I just have not needed it and you will find this true for your programming also. You can do many things without understanding everything, when you run in to an area you don't understand then you can start reading until you do understand it or at least can implement it. Often my own understanding grew out of simply cutting and pasting example code until it finally made sense to me.
I am not suggesting that it's a good idea not to learn as much as you can about your working environment, simply showing an example of how it is not always critical. If you do not understand the basics of how the operating system is interacting with your program you will definitely have implementation and efficiency problems. Learn as much about your operating environment as you can until you feel comfortable with it and can work easily in it, from this point exploration will be simplified for the individual roadblocks.
Every project takes effort to complete, the longer the project the more effort and the more chances you will encounter pitfalls and roadblocks along your way. Game development is no exception and is really one of the types of projects that are most prone to pitfalls.
Because of the dynamic nature of the gaming industry the current level of acceptable games, both in look and play, can often change dramatically in a very short period of time. What would be welcomed with open arms by the gaming community when you first start a project may be laughed at by the time you finish, especially if you have a particularly long development cycle.
Every time you reach a pitfall you will likely run in to problems with low motivation, especially if you are working on your own. If no one is paying you or expecting results from you it is often much harder to keep the pressure on to produce, hitting a large snag can be fatal to independent game projects.
What motivates a person to work through difficult problems is different for everyone. For some people it may be the need to succeed for personal esteem or some type of reward, monetary or otherwise. For other people it may simply be the desire to create a game they have always wanted to play. Whatever the motivation behind your need to create your game, you need to draw on that enthusiasm and need to pull you through the problem areas in your development cycle. Ignoring problems or stopping for long periods can often be the same as just quitting the project, so be aware of this when stepping away from a particularly difficult problem.
One of the largest keys to keeping motivation high is to consistently produce new things. Every time you create something that is tangible it will give you another stepping stone for work confidence. If you are doing a lot of work and seeing very little results from it, it can be very unsatisfying and lead to low motivation towards working on the project. If you are able to consistently see changes and improvements in the project, it is easier to keep working on and maintain a high level of motivation. This is the main reason why it is highly suggested for people new to game development to start on small projects first; you can see many results in a short period and before you know it, you're done. Long projects can often go weeks or months with minor visible changes, this can be very disheartening for new developers and it often causes many people to quit and never complete their first game.
Taking breaks is an essential part of working. If you do not take breaks you will most likely pay less attention to your work and become frustrated with it. I have heard of studies done on attention spans on large collections of people that say that the majority of them would start losing their focus after doing something for 40 consecutive minutes. Obviously taking a 15 minute break every 40 minutes would waste a lot of your day. Simply going to get something to drink or going to check email or doing anything that even gives you a few seconds away from what your doing can help you keep your attention closer to the subject for long periods of time.
During times of stressful work, it is better to take longer breaks. If you have come upon an extremely difficult problem, it is best to take a break before you start working on it and then one after resolving it. This will give you the best chance of maintaining a strong focus on the problem and it is often better not to interrupt a difficult process. If the process is a long one then take breaks after completing milestones, giving yourself the best bookmark for returning back and picking up again successfully.
Breaks are also an important key to maintaining a good level of motivation while your working. Being frustrated for long periods without relief is a good way to start building up resentment towards your project and increasing your chances of just quitting all together.
It is also important to understand when you should stay and work and when you should finish for the day. If you find yourself in a particularly productive mood and milestones of work are coming quickly, you may be best to just remain at work and do as much as you can. This can help your overall motivation for the project because extremely productive days are like beacons that you can look back on and get a good feeling about. If things are moving along slowly and you are getting aggravated at the progress or problems, it may be better just to finish up for the day. Always make sure when you leave your project that it is in a state from which you can easily resume. This means if you are a programmer, your code should compile without errors. Leaving errors until the next day is a good way to forget what reasons may be causing them.
While there are many barriers to creating video games, you must always be aware of your own personal boundaries and if your managing others, theirs too. Motivation truly is the key to completing your game, and always remember, the successful game developer is the ones that finishes their game.