Make a Video Game from Scratch

Today, more people are playing video games than ever before, which means there's a lot of room for new people to come in and make something great. The process of making a game is complicated, but you can do it yourself with little outside help or money. This article will show you the basics that you'll need to consider to make your game and make it great. Just get started with Step 1 below.

Steps

Setting Up for Success

  1. Understand your game. You'll need to do some planning and thinking about the big issues if you want to keep your process moving smoothly. What genre will your game be (RPG, shooter, platformer, etc.)? What platform will your game be played on? What will be the unique or prominent features of your game? Each answer to each question will require a different set of resources, skills, and planning, as they have different ways that they impact game development.
  2. Design a good game. How the game is designed will be very important, so you'll want to work this kind of thing out before you start making the game. How will players progress through the game? How will players interact with the world? How will you teach players to play your game? What kind of audio and music cues will you use? This is all very important.
  3. Be realistic. If popping out games like Mass Effect was easy, everyone would do it. You need to understand what you can and can't do without a huge studio and lots of experience behind you. You also need to be realistic about what you can accomplish within a reasonable amount of time. If you're not realistic about what you can do, then you're likely to quickly become disappointed and give up. We don't want you to give up!
  4. Get good hardware and software. Making a game anywhere above "mobile" level requires a computer that is, by most definitions, "tricked out". If you're using an older system, you'll find that you are unable to get the game you make to work on your computer. You'll also need some pretty powerful and very specific software for making games. Some programs are free or cheap, but others can cost a lot of money. Good software is discussed in a later section, but know that the software you'll need can include 3D modellers, image editors, text editors, compilers, etc.
    • You'll need a powerful processor (at least a quad core, and preferably one of the new i5s or i7s), lots of RAM, and a high end video card at a minimum.

Creating Your Team

  1. Do small games on your own, big games with other people. If you just want to make a quick mobile game with uncomplicated visuals and programming, that's fine. That's a good project to work on on your own, because you can use it to show future employers and investors what you're capable of. But if you want to make a more serious game, you're going to need to get some people to help you. Indie games usually have a team of around 5-10 people (depending on complexity) and bigger name games can have up to several hundred people working on them!
  2. Build your team. You'll need lots of people with lots of different skill sets if you're going to make most types of games. You'll need programmers, modelers, visual designers, gameplay or level designers, audio experts, as well as producers or marketing/money type people.
  3. Create a design document. Think of this like as something between a resume and a battle plan for your game. A design document lays out everything about the design of your game: the gameplay, the mechanics, the character, the plot, etc. In doing so, it also shows everything that needs to be done, who will do it, what the expectations are, and the general timetable for getting things done. Your design document is very important for not only keeping your own team on track but also for showing to potential investors.
    • Your game design document should be split into sections and include a detailed Table of Contents.
    • Common sections to include cover the story of the game, major and minor characters, the level design, the gameplay, the art and visual design, the game sounds and music, as well as a breakdown of the controls and user interface design.
    • The design document should not be limited to text. You will usually find design sketches, concept art, and even items like preview videos or sound samples.
    • Do not feel limited or too worried about your design document and it's formatting. There is no standard format or required items to include. Just make a document that fits your game.
  4. Think about the money. It takes money to make a game. If nothing else, the tools are expensive and it's extremely time consuming (taking away from the time you could spend doing things that make actual money). It gets more expensive the more people you need to work with and the more complex their skills need to be in order to make more and more sophisticated games. You need to figure out where your money is going to come from and you need to discuss with your contributors how, when, and how much they will be paid before the actual work begins.
    • The cheapest way to make a game is to do everything 100% yourself. But this is difficult if you lack the skills, and many very different skills are needed. For most inexperienced people working on their own, a simple clone app is about the most that can be managed. Even if you make a game by yourself, you'll still need to pay licensing fees for most good engines and many of the app stores and other sales venues. Don't forget about taxes for the money you do make, either.
    • To make an average quality indie game, you will need roughly in the hundreds of thousands of dollars. Major titles often take in the millions of dollars to develop.

Going Through the Motions

  1. Do the programming. You'll need to choose an engine for your game. The game engine is the piece of software that controls all of the little details about how the game works (like AI, physics, etc). Engines require tools, which are sometimes included but sometimes need to be made from scratch, that allow you to interact with and create the game within the engine. Once that's sorted, you'll need to find someone who knows how to script in that engine. Scripting is where you tell the game engine what to do. This usually requires a certain amount of programming skills.
  2. Create the content. You'll also need to start creating the actual content in the game. This means modeling the characters, making the game sprites, making the environments, all of the objects that the player interacts with, etc. Excellent skills with 3D software and visual arts are usually needed to complete these tasks. Meticulous planning-ahead: also good.
  3. Get some betas. You need people to play through your game. Never mind finding the bugs: you need people to play it if only to find out how other people see and experience the game. Something that seems intuitive to you may be very confusing for everyone else. A tutorial or story element may be missing. You never know. This is why it's important to get outside views.
  4. Test, test, test. Once you're done making your game, you're not actually done making your game. You're going to have to test everything. Everything. You need to get through every possible scenario in your game to make sure that there aren't any bugs. This takes time and manpower. Allot a generous schedule to testing!
  5. Show off your game. Let people see your game once it's done. Show it to companies that might want to invest in it as well as people who you think might want to play it! Have a website and a development blog, post screenshots, video walkthroughs, trailers, and other content to show people what your game is all about. Drumming up interest will be crucial to the success of your game.
  6. Release your game. There are lots of places where you can release a game but where will depend on what type of game you made. Currently the app stores and Steam are the most open to newcomers. You can release your game independently on your own site but hosting costs tend to be prohibitive. You'll also have less visibility.

Finding Resources

  1. Try beginner's game making programs. There are several great programs that beginners can use to make basic games. The most famous are probably Game Maker and RPG Maker, but Atmosphere and Games Factory are also good. You can also use children's programming training tools, like MIT's Scratch. These are surprisingly good at teaching you the basic skills you'll need.
  2. Learn about different graphics software. If you're not hiring a pro to do your graphics works, then you've got a lot of studying ahead of you. You'll need to learn to work a number of complex graphics programs...but you can do it! Photoshop, Blender, GIMP, and Paint.net are good places to start if you want to make the visual elements of your game.
  3. Consider going traditional pro. You'll have a much easier time making a successful game and getting investors if you have experience, education, and a well-known game attached to your name. Because of this, it's probably a good idea to work for a traditional, known game developer before breaking out on your own. This might require going to school or acquiring some skills, but it's still working towards your goal and it will be worth it in the end.
  4. Work your way into the indie community. The indie game development community is strong, supportive and welcoming. If you're good about supporting, promoting, discussing, and helping them with their projects, they'll return the same in kind. Talk with them, get to know them, and let them get to know you. You'll be surprised what you can accomplish with a community behind you.
  5. Crowdfund if you're serious. If you want to make a professional game that can hold its own against other serious games, you're going to need money. Luckily, things have really changed in the last few years and crowdfunding has made it possible for unknowns to make excellent games. Get acquainted with Kickstarter and similar websites. Just be aware that you'll have to really work to run an excellent campaign, which means realistic goals, great rewards, and constant communication.

Tips

  • Don't expect your first game to be a revolutionary benchmark. If you really put effort, hey, that could just happen but it isn't likely. Don't give up just yet, hear from others what went wrong and what they liked. Implement the liked aspects in your second game and improve or remove the disliked or bad aspects of your first game.
  • Keep learning. If you ever need help, ask for it. There are billions of helpful people on making a game so don't ever be afraid to ask or seek for it. And remember, there is always room for improvement so keep studying and learning about making games.
  • Remember to backup your files frequently. You never know when your computer may crash.
  • Practice as much as you can, so you can get better and better at making games, as they say "Practice Makes Perfect!"
  • Test. Test. Test. One of the most annoying and embarrassing things is to find critical errors, glitches and bugs in your game after it is released to the public. Set your game into stages such as "development" (still making), "alpha" (initial or early testing), "closed beta" (a before-release testing for invited or chosen people) and "open beta" (a before-release testing for the whole public). Choose the appropriate people for close-beta and alpha stages and collect as much feedback and constructive criticism as you can. Use them to improve your game and fix as many bugs as possible before the release. Note: Add a "pre-" or "version xx.xx" to your stages to refine them even more. Make sure it is clearly marked as a development release if it is one.
  • Create hype and advertise. Let's face it, you are not the only amateur game creator. You can release a game and it will be instantly shadowed by newer and/or better games being released.To counter this, spread the word about your upcoming game through whatever means necessary. "Leak" some details here and there. Put a release date so people look forward to it even more. If it's appropriate, you may even want to consider paying for advertising.
  • Remember, a team is always better than going solo. You can significantly decrease the workload and time spent by splitting members into graphical and coding then add more divisions such as writing and composing, etc. This is an important area that depends on what software you choose, as graphical game builders such as BGE, Unity and the UDK have poor support for a team workflow, and editing code directly and pushing to a version control system such as git is probably a better idea.
  • Finally, don't ever give up. Creating a game can be a boring, tiring and frustrating process. At times you will feel the urge to just give up and do something else. Don't. Take a break, go out for a while and put it off for a few days. You'll return feeling more confident again.
  • Set a work plan. If this the first time and you want to take it easy and experiment then it may not be necessary. However, it can keep you on track and may be especially important if you have a promised release date. Plan roughly when you want to get it done and then refine it into sub-sections of coding/graphical stages, etc.

Warnings

  • Copyrights! Be as original with ideas of your game as possible. If you cannot think of anything else, a good idea is to borrow some aspect of a game and modify it. If you absolutely must include copyrighted aspects of games such as plot, characters or music, acknowledge the original creator(s). Concepts (gameplay, how you write your code, etcetera) cannot be copyrighted, though characters' names and narrative universes are by default.
  • Make sure to respect the license of the tools you use. A lot of proprietary software (such as Unity) forbids commercial usage (that is, you cannot sell a game made with it) without paying up for an expensive license. This is where open source software can really help as it allows commercial usage. Be careful with 'copyleft' open source software though. The GNU General Public License is an example of such a license. It stipulates that you must release your software under the same license. This is okay for games and you can still sell them if you keep the art assets and such things to yourself. However, you may have legal issues if you use any closed source software library such as FMOD. Additionally - especially if you are a good programmer, you have access to the source code and are now working with a black box all the time and can debug and add features as you see fit. You can find out more about open source (called 'free software' by the founder of the movement - free as in freedom, not price) here.

Related Articles