Developing Commercial Video Games
Four years of experience through trial and error
By Vincent Aliquo
Each game, commercial or not, you create adds another important lesson to your developer’s toolbox, which can, in future games further diminish your chances of making the same rookie mistakes and ultimately increase the development speed, and product quality. However, there are some aspects of game development that are better learned by looking at others’ experiences rather than through trial and error.
Video games are an incredibly unique art form. It requires a multitude of talents to pull off, but if you have plans to commercialize it you ultimately sacrifice your creative freedom in hopes that more people appreciate what you have created. Games are expensive and time-consuming to create, and creating an unsatisfactory product can diminish your chances of creating another game due to the negative stigma attached to your group or company. Even if you do not require a lot of money for your next game, if no one is going to enjoy it, then the hundreds upon hundreds of hours spent creating it might seem like wasted time. Nobody wants this, but every developer runs the risk of creating a game just like that, untouched and unloved.
At times, after the accumulation of long creative meetings, bugs, and unpredictable software problems, developing games may seem not that fun, but only when you stand back and observe what you created can you really reap satisfaction. Watching people play and react to your game is one of the most unique, rewarding things about game development. This can also prove to be the most hurtful. As the developer, you know how your game is supposed to work and how the players are supposed to react, but telling them would ruin the experience you have tried so hard to create. Seeing people react differently to your game than how you expected can be difficult, especially if you are trying to elicit a specific emotional reaction from them.
Knowing how to filter through feedback and how to not take all negative comments to heart is very important. Some people do not have the proper vocabulary to describe what they are feeling and are unable to provide constructive criticism of your game. Accepting this and moving on is crucial when getting feedback from playtesters or just about anybody.
In the early development stages, you must determine screen size, fps, and whether you will have bindable controls. Not discussing any of these right off the bat will severely handicap your project much later in development when it is much, much harder to make changes to those three things.
Early on, it is important to discuss as many interesting ideas as possible and giving a week or so to test them. This will allow the group to quickly refine those raw ideas into a few core mechanics. Keep these core mechanics simple, but dynamic. The dynamism of those core mechanics can be evaluated through how the other game mechanics revolve around them. As it is highly encouraged to have a mechanic that serves more than one purpose.
Always try to figure out how each mechanic could be broken or exploited, this will help strengthen your overall design and polish the game experience. Constantly give your game to your playtesters, and ask them to try to do anything to break your game. You do not know what is flawed until someone points it out.
Knowing how you want your game to play and look like should direct what kind of engine you will use, but choosing an engine should be one of the last things you do, as you never know if the engine you are most familiar with might not support your original idea.
Play and analyze other games that have similar mechanics as yours, and break down how they work in those games, as well as how they do not work. Almost everything has been done before, so it never hurts to see how well those mechanics work when applied to a finished game.
Make sure that every division of your development team is in constant communication. Ignoring this will create a disjointed experience, impede overall progress, and generate endless amounts of frustration amongst your team.
Keep as many backups of your video game as possible, so many things can go wrong in the shortest amount of time. Generate backups often, as this will save an incredible amount of time in the event something is accidently deleted, corrupted, or broken beyond fixing. Having some sort of version control is very important, use software like GitHub, Google Drive, or Dropbox. All three of those have built-in version control for all uploaded files.
Generate a schedule and prioritize the core elements of your game that make it functional and fun. Break those elements into what is necessary to finish them, like what graphics do you need, sounds, and programming. This will allow you to quickly develop a fully fleshed out schedule that separates all the tasks between the team, and will further encourage communication between divisions. This will also help with generating the scope for the project by asking each member to discuss how long each task will take to complete, based on what art, sound, programming, or writing needs to be completed for it.
The best thing you can do is be willing to sacrifice some weekends and social gatherings to get essential work done, most games take over a year to complete, and if you are working on a tough deadline, there is not much room to accommodate for free time. If you are working on a flexible release date, you must remember that the chance you will meet any proposed date is almost impossible. You can never account for all the unpredictable issues that can occur in development. The best you can do is approximate, but that will most likely be completely off.
Creating commercial video games can be incredibly stressful, agonizing, tiring and, depending on your deadline, socially destructive. Be sure to have fun creative breaks in-between workloads, as it is one of the only ways to stay sane through the whole thing. But in the end, seeing someone enjoy what you and your team have created is all that you need to make it all feel worth it, and you will want to do it all over again.