Wednesday, December 25, 2024
The Success Guide


Create a Video Game the Right Way with These 10 Steps

The bare minimum you should know before diving into the creation of a video game


Tags: , , ,
Disclosure: In our articles, we independently choose products and services to feature that we think you'll find useful. This post contains affiliate links. If you make a purchase after clicking one of our links, we may earn a small commission.

So you want to make a video game? Perhaps you love playing them and want to know how they’re made. Or, maybe you don’t play them much but want to create them as a challenge to your programming skills. But how will you go about creating one? Let’s break down the key steps needed to create your very own video game.

1. Plan Your Game

Like in the “How to Create a Fool-Proof Game Design Document” article, having a strong idea and a written plan is crucial to making a video game. Here are some questions you might address in your plan, often called a Game Design Document (GDD):

  • What’s your “big idea” for a video game?
  • What is the goal of the game?
  • Will this be a 2D or 3D game?
  • Will you use a game engine to build your video game? If so, which one?
  • What genre is your game? Will is be action, adventure, sports, strategy, puzzle, racing, platformer, role-playing (RPG) or a combination of these?
  • On what platform will your game be played? Game console? Computer? Mobile device?
  • What size will your video game be? (Dimensions of the screen; total size of all files; etc.)
  • How complex will your game be? (Make sure you’re not trying to create the next Halo as a one-person team!)
  • What is the objective of the game? How does a player know if they have “won”?
  • What makes this game “fun” and worth playing over and over?
  • What is the style of your game? What will your game look like? What will be the mood of your game? Colors?
  • What are the “rules” of your video game?
  • How will your game flow? Will you have levels?
  • Who are your characters and what are they like?
  • What sorts of special tools, skills and abilities will your characters have? Will players be able to upgrade to more skills and tools? Will they have to pay for the upgrade or will it be free? (Adding special options like tools, skills and abilities does add a significant amount of additional complex coding and tracking, which we won’t get into in this article, but make sure you budget that into your time.)
  • How will you track points, levels, usage of tools, etc.?
  • Will you have music? Sound effects?
  • Who will play your video game? What are the demographics of your game players? What types of games do these players typically like? Are you designing your game for young kids, older kids, or adults? Guys, girls, or both? Will this be for hard-core game players who like deep, complex, challenging games or casual players who like to play a little every day?
  • Will you allow player feedback to tell you what they do/don’t like about the game? How will you get that feedback? From inside the game? A website contact form? A forum? A Facebook page?
  • How and where will you distribute your video game?
  • How will you get your game to go viral? How will you market your game? Encourage live streaming?
  • Who is going to be on your game development team?
  • Where will you get your game assets (graphics, backgrounds, sound effects, music, etc.)? How much money and time do you have to spend on them?
  • How will you pay for your game development?
  • How will you monetize your game (i.e. make money through ads, upgrades, add-ons, game purchase)?
  • What is your exit plan? Would you eventually like to sell the distribution rights to your game to someone else? What if you get tired of managing the development of your game?

Ask yourself questions like these and type our your answers into a planning document (GDD) so you can refer back to your ideas and use them to guide you. Take time to think through every aspect of the creation of a video game. Invite any team members to add their two cents. Remember: This game design document should be living and flexible. As you begin game development, refer to your plan regularly and update it as your ideas and resources change.

Also, don’t make a game too difficult — for the player or you/your team. If you’re a novice game developer, choose to create a game that is not overly complex or lengthy to code. Also, make the game reasonably easy for the player to navigate and play. If it’s hard to level up and understand (particularly in the beginning of gameplay), your player will just give up and stop playing your game.

2. Decide What Platform You’ll Use to Create Your Game

Assuming you don’t create your game completely from scratch, you will likely use a game engine throughout the process of making and building your game. A game engine is a platform that allows the creation and compiling of a video game. A game engine contains a massive amount of preprogrammed code so that you can create amazingly complex games in a fraction of the time it would take to create them from scratch.

Your game engine is where you’ll write code, create levels, incorporate assets into your game, and compile and debug your scripts. To “build” a video game is to compile all the scripts and assets into an executable exe file that a player can install. All player preferences and data files, which are necessary for the game to work, will also be included in the folder. Two commonly used game engines are the Unity Engine and the Unreal Engine. I use the Unity Engine (see photo below from the Unity website).

Unity Game Engine
Source: Unity Game Engine

Tip: Do you use Unity? Unity has documentation and manuals to help you throughout the process of creating your game.

3. Acquire Assets

Assets include the files that a game uses to work, including scripts (which you will make), 2D art, 3D characters, music, scenes (levels), etc. Scripts will be made throughout the creation of the game. This step focuses on creating or obtaining graphics and music for your game.

If your game designer has an idea for the graphics and music that will be made and used, then the game artists will have to start creating those assets before you get too far in the creation of the game. What if you can’t afford a game artist to create your assets? You’ll have to step in and create the assets yourself or purchase licenses to use premade content in your game. You can purchase these licenses through stores like the Unity Store, Graphic River, Game Dev Market, etc.

Below is an example of a licensable 2D game background.

Sample 2D Video Game Asset
Source: Game Dev Market

4. Get Started with a Task List

Now that you’ve decided what you’ll use to create your video game, it’s time to get started. The process of “getting started” could take anywhere from an hour to a day, so you don’t have to expect it to be very fast.

First review your game design document (aka master plan) to get all of the basics of your game set up and ready to go for the creation of the core game mechanics. When I get started on a new video game, I take the time to think through the action items needed to implement my game design document. You may want to start using a task list to keep track of your “to-do” items. Make sure you set some deadlines for yourself and delegate any tasks you can to your other team members.

5. Develop the Core Mechanics

In this step, all of the main mechanics are created and worked on. By mechanics, I mean movement in the game.

Before you can add the mechanics, you should pull in your most basic assets. Now is the time to put in some basic surroundings (scene and related assets). This gives the characters boundaries and a scene to work within. It gives the action context. If your character and object actions are not complete at this point, you can use placeholder images/objects in the meantime.

At this point, I’m ready to work on the actions (movements) of characters and objects in the game. Make a list of every capability you want every character to be able to perform. Then start programming the functionality of each action. You’ll need to refer to your game documentation to learn how to specifically code certain actions. User forums can also be great places to find code references and ask for help if you get stuck while coding.

I start with programming the actions of the main player’s character. If in my game the player needs to jump and avoid obstacles in order to reach the goal, all of that player movement would be created first. That means that input needs to be tracked for the player to act accordingly.

Once the main player’s character can perform all the actions he needs to do, it is time to program the obstacles and enemies. The enemies and obstacles likely have their own mechanics. If the enemies were to chase the player, they’d need to be able to find the player and move after him.

Once the enemies and obstacles do their jobs, other main mechanics will be created. By the end of the development of the core mechanics, the player should be able to have a decent experience playing the game. However, the game won’t be perfect yet, as there is still much to do.

In all of this, you’ll need to make sure that you’re tracking points, skill usage, lives/stamina, etc. for each of these actions. You will need to check the documentation for your particular game engine to know what tools are available for tracking key data.

6. Incorporate all your Assets into the Game

All the core mechanics are now made, so all your pretty, glossy, finished graphic assets can now be pulled in (replacing any placeholders), making everything look more professional and engaging. At this stage, your player, enemies, and other core mechanics should all look like you envisioned them to appear in the final product. Before you go any farther, test your game to make sure that the assets are working as you expected. If you don’t like the look and gameplay, now is the time to make changes before you get too much farther along.

7. Add a UI, Track Points/Stats and Set Up Your Game Flow

The core mechanics are all tackled, and your game doesn’t look half bad. But there is only one level so far, and the user can’t play again once he loses or wins. You have to add a user interface (UI) and establish a game flow so that users won’t feel that the game is flat and boring.

The UI is the “screen” that the player interacts with. The UI typically consists of an intro splash screen (which can advertise your game development company), start screen, options screens (for the player to make choices about the game) and the main gameplay screens.

What do you put on the UI? The UI typically displays buttons, text, images, scrollbars, input boxes, and more. Again, you can code this manually or use the options available in your game engine. Ideally, the planning of the UI and game flow should have happened long ago in the planning stage. I recommending drawing out on a piece of paper all the screens you plan to display.

Make sure you identify the “trigger” for loading each screen. Will the trigger be automatic or after a player reaches a certain number of points? Loses “lives”? Runs out of “stamina”? Some game programmers like to use a flow chart to show these triggers and map out a  what happens next (e.g. which screen is loaded, what action is performed) at each point in the game.

Remember: For the gameplay screens, you will likely want different scene views and multiple game-play levels. Sketch out what you want each to look like and number/order them to indicate how you want them to flow with particular focus on scene and level changes.

A sample UI / Game Flow structure might be:

  • Splash screen (visible to the player). This is where you should load scenes in the background.
  • Load start screen (visible to the player). From this screen, the player can start or resume the game and access options.
  • Load main gameplay screen(s). Once the player starts the game, the game may automatically resume where he left off, or it may show a scene with all levels. Then, the player clicks a level, and the fun begins.
  • You may want to incorporate an “options” button into your main gameplay screen where your player can choose weapons, potions or other “tools” to be used in the game.
  • As the player levels up or moves to a new area, new screens are loaded.
  • When the player wins or loses, a win/lose/level-up notification screen should display, leading to a separate screen that shows the game stats, next level screen or goes back to the start screen.

Now, your game has a basic flow that allows for playing, changing options, viewing stats and replaying the game.

8. Polishing

You now have all important mechanics and game flow down. It is time to add the extras and better the quality of your player’s experience. In this phase, you should add background music (with an option for the player to turn it on/off), add sound effects to your actions (if you haven’t already), complete all levels, make sure you have solid points tracking and include any necessary UI elements. If you feel there is anything missing, identify what it is and integrate it into your game. By the end of the polishing process, the game is practically finished.

9. Testing and Debugging

Before you release your game, you need to test it and debug any problems. I strongly suggest that you not tackle the testing and debugging all on your own. Find experienced QA professionals, avid gamers or even total game novices to poke around in your game and find any problems. Hopefully, you tackled any bugs as they showed up, but these last series of tests should reveal any problems so they can be fixed. If you every need any help, refer to documentation or forums. Some game programmers like to set up an issue tracking site to track all the bugs, prioritize them and mark them as fixed.

10. Monetization and Release

How are you going to pay for all the time and money you put into the game? Monetization is the last step in the creation of a video game. Once you build your game, you should find app stores to sell it on. If your game works on specific platforms, you may have to do some research to make sure you are doing what is required to reach the right audience. This whole process is necessary so your game can be available, and so you can make a living off of it.

Monetization is also extremely important. Whether you use IAPs (in-app purchasing) or ads or just sell your game for a set amount per unit, you need to find a way to money off of your game.

No matter what type of game you want to create, making a plan and following through with it is very important. You may not know what to do at first, but once you have a plan, you’ll be able to steer yourself in the right direction.