views
- Craft a design and vision document to help you guide the development process.
- You do not need to learn how to code to make a game. Instead, learn a game engine, like Unity, to build your game with preconstructed assets.
- Use pre-rendered stock sounds, animations, and objects if you don’t want to manually create all the art for the game.
Developing Your Idea
Choose the genre of game you want to make. While every successful game is unique in its way, almost all of them fit into a specific genre. Decide what kind of game you want to create, and look at what other games in the same genre do. Some common genres include: Arcade games and platformers Shooters (first or third person) Puzzle games Racers Adventure games, RPGs, and JRPGs Visual novels Tower Defense Horror Fighters Survival
Pick your platform and controller scheme. The platform that you choose to develop your game will significantly impact the way you develop it. All games are developed on a computer, but the intended platform influences the way players control the game. Smartphone games are typically touch-and-tilt-based, PC games typically use a keyboard and mouse, and console games use gamepads. Note that most commercial PC games also support gamepad. There are exceptions to all these rules, but you will generally find it easier to design the game around a specific control method. If you want to make an iPhone game, you will need to submit it to the Apple store from a Mac computer. However, one exception is the Godot Engine which also allows you to create for iPhone on Linux which is useful if you don't have a Mac. Another exception is Nintendo. You cannot develop with Nintendo assets without prior consent, and porting games to the Nintendo is extremely difficult.
Compose a basic preliminary design document. Write at least one page that describes the basic plot, the heart of the gameplay experience, and the main gameplay loop. It contains the fundamental concepts of your game and will allow you to see if your idea is viable as a video game. The main gameplay loop refers to the very root, basic behavior players will do. In Halo or Call of Duty it’s “move and shoot things.” In Animal Crossing it’s “explore and find resources.” What will your players, at their most basic level, be doing?
Choose a core philosophy to guide the tone and mood. This statement will serve as the motivating force behind the game. These are very simple statements that get to the heart of what the game is. Revisit it often to ensure that your game is still meeting its basic goals. Some example core philosophies: This game simulates a space station economy and will make players feel like a trader. This game lets you play as a living car and is about going fast. This game is about testing the player's reflexes and keeping them on their toes.
Write down any features you want to include. The features are what sets your game apart from others in the same genre. Start by listing your ideas and concepts. A feature is basically any element of gameplay outside of the core gameplay loop. Turn those concepts into action-driven sentences. Shoot for between 5-15 features (the more complex the game, the more features you’ll have). For example: Concept: space station construction. Feature: Build and manage your space station. Concept: damage from asteroids. Feature: Struggle to survive against environmental hazards, including asteroids, solar flares, and comets. Writing down your features first will allow you to flesh each one of them out later in the design document. Having your features listed in the beginning will keep your project focused and prevent “feature creep,” where ideas keep getting added later on in the process. Continue revising your features until you’re satisfied that they represent the game that you want to make.
Take a break and revisit your design doc periodically. Put the preliminary design in a drawer and try not to think about it for a week or two. You want to be able to go back to it with a fresh perspective. This helps you determine which elements of your game idea need revisions, additions, or if you need to go back to the drawing board and make bigger changes. If you’re hyper-confident in your design, feel free to get right into the next steps!
Writing a Team Plan (Optional)
Develop as many of the nitty-gritty details as you can. The team plan design document is the backbone of your video game if you’re working with a team. It contains detailed descriptions of your game's mechanics, plot, setting, aesthetic design, and more. The format of the document is not as important as the content. Important note: A fully fleshed out team plan design doc is only necessary if you’re working with other people (programmers, artists, writers, etc.) so that you all stay on the same page as you work on different parts of the game. Skip this section if you’re an individual dev. Not every game has a team design document, and no two design documents will look alike. Use these steps as a guideline, but feel free to tailor your document to your game and team’s needs.
Formulate the table of contents to provide an overview. Every single aspect of the game needs to be addressed in the table of contents. The only thing you don’t need to include is the story, unless the story is fundamentally connected to the mechanics of the game. Approach the table of contents like it’s a game manual. Start with broad sections, such as Character Creation, Combat, and Main Interface, and then flesh each one of these sections out with subsections. Think of the table of contents as an outline for the game. You will be going into much more detail for each entry in the table
Fill out each section of your document. After you have the table laid out, start expanding on the mechanics. Take the time to go into detail so that there is no confusion when you start programming. Explain each mechanic in full detail so that there is no confusion when it’s time to implement it.
Run the doc by your team and make revisions as needed. Depending on your approach, game design can be a very collaborative process. Insight from others can help keep your game focused, and can point out areas that aren't as well thought out. Don’t force through design elements that your team isn’t on board with. Game development is a collaborative process, and you and your team must align on a vision.
Programming Your Game
Choose the game engine you’ll use and download it. The engine is the underlying base of the game. It contains a host of development tools that ease the creation of a game. It is much more time-efficient and less complex to create a game using an existing engine than to create a new one from scratch. Here are the most popular options: Unity – The single most popular engine available today. A 3D engine popular for its ease of use and portability. Unity also supports 2D game development. Unreal Engine – An engine that can be adapted to a wide range of uses. Many AAA games were built on this engine. It also has visual scripting called Blueprints by default. Godot Engine – A Free and Open Source Engine that has become popular recently. More features are added by contributors on every release. Has Visual Scripting and supports multiple programming languages. Can do both 2D and 3D. GameMaker: Studio – One of the most popular 2D game engines. Also, it’s considered very easy to learn compared to other engines. RPG Maker Series – A scripting engine designed for 2D RPG is the traditional JRPG style, like Pokemon. Source – A very popular 3D engine by Valve that is consistently updated and modified. We don’t recommend Source for first-time game makers unless you’re familiar with a coding language, since it’s pretty complicated.
Learn your engine or hire someone who knows it. Every game engine is different. Even the most basic engines will require time to understand how to manipulate them, so once you’ve downloaded the engine of your choice, complete the tutorials it includes. If you don’t want to program the game yourself, hire a developer to do the coding for you. The only extremely complicated engine is Source. Every other option we’ve mentioned above will take around 1-3 months to learn, so don’t get too overwhelmed. You can hire an experienced freelance developer on sites like Fiverr or Upwork. This will be the beginning of your team-building phase. If you are unable to program, your first hire will need to be a programmer. You can worry about art and sound later; you need to be able to come up with a working prototype before the project can continue
Build a prototype of your game in the engine. Once you are familiar with the engine you have chosen, build a prototype of the game that includes the core gameplay loop. This prototype will serve as a basic test of the core functionality of the game. You don't need graphics or audio for the prototype, just simple placeholders (like a cube or a stick figure) and a small test area in the engine. Test and refine the prototype, again and again, to ensure that it is functional. Make note of anything that doesn't work or feel right, and readdress the mechanics involved. There will always be features that seem easy or feasible that just won't work when it comes time to make the game. Expect the prototype to change multiple times as you tweak what works and what doesn't.
Refine the controls every time you add features. The most basic functionality of the game is the player interacting with the game through some sort of control input. Use the prototype to ensure that the controls are as perfect as they can be. Every time you add game elements, features, or mechanics, re-test your controls to make sure everything works as intended. Games with poorly-implemented controls will frustrate players. Games with perfectly executed controls will be rewarding to a player's skill and feel intuitive to use.
Creating or Borrowing Assets
Consider the amount and type of art your game needs. Depending on the scope of your project, your art needs can vary significantly. Some games only require simple shapes and colors, while other games feature complex worlds created by vast teams of artists and sound designers. Be realistic with your goals for the assets in your game, and hire or plan on a work scope accordingly. Most independent games are created by small teams, oftentimes one person. If you are doing the entire project yourself, you have two realistic options: Create the art yourself: Are you skilled in Photoshop and Illustrator? Do you love to draw? If so, this is a viable option. Use pre-rendered assets: Every game engine has assets you can use in your game. You can also buy and download asset packs online at sites like GameDevMarket.
Choose a program to make your art if you’re going DIY. Depending on your art style, there are different programs you can use to create your art assets. Some of the more popular programs include: Blender – This open-source program is one of the most popular 3D modeling solutions around. There are endless tutorials available online that can show you how to get up and running quickly. Photoshop – Using Photoshop is usually mandatory if you want to add 3D textures. It is expensive, so if money is a concern, consider trying GIMP, the open-source, free alternative to Photoshop. GIMP has most of the same functionality. Paint.net – This is an open-source alternative to Paint Shop Pro, and will allow you to create 2D art with ease for free. This program is especially useful for creating 2D pixel art graphics. Adobe Illustrator - This program is good for vector art. It does cost money, so consider trying trying Inkscape, the open-source, free alternative to Illustrator.
Create or choose the key art you’ll need for major assets. In order to start getting a feel for the visual aesthetic of the game, start by composing or selecting the art for the main characters, key items, and major world objects (like weapons, cars, items, etc.). There are a variety of styles that you can use. Pixel art (intentionally retro) is one of the most common styles employed by independent developers. This is because pixel art is typically the fastest and least-expensive art to produce that still results in a “good looking” game. If you have more time and manpower, you can consider using 3D art. Basic 3D modeling is possible with a one-man team, but more complex details will take significantly more time. 3D models need textures on top of the model.
Design the world, or structure, of the game. Once you have the key art figured out, start constructing the assets for the game world. Depending on the style of game you are making, you may need to create levels or playing areas. If you are making a puzzle game, then you can start designing your puzzles. There’s no right or wrong way to go about developing and constructing the world for your players.
Assign your audio assets and record dialogue, if necessary. Sound design plays an essential part in the immersion when playing a game. Whether or not you have music, when and how you use sound effects, and spoken dialogue all affect the way the player connects with the game. Either add sound effects from a pre-packaged folder you downloaded, or record the sounds and dialogue yourself. You can find millions of free pre-recorded sounds at Freesound, ZapSplat, or Pixabay. You can always outsource the audio work to an audio programmer if you don’t want to deal with it.
Putting It All Together
Playtest your game as much as possible. As you build each aspect of the game, keep playtesting it to ensure that it remains fun, cohesive, and functional. If an area or idea feels weak or poorly implemented, refine it or cut it. Once all of your levels or puzzles or play areas are complete, play through it to make sure it is fun from beginning to end.
Fix bugs as you find them. As you’re playtesting, you’re likely going to come across glitches, bugs, and other problems with your game. Finding the bugs in your game and squashing them is essential to making sure that as many people can play it as possible. Whenever you find a bug, document it. After each playtest, go into the dev program and fix the bugs.
Limit test by trying to break your game to find issues. Every conceivable way a player can interact with the game needs to be accounted for. Make sure that your game rules can't be bypassed or broken by attacking those rules as much as possible. If you’re building a racing game, try driving as fast as possible and collide with game objects. If it’s a shooter, try moving and shooting as erratically as possible to see what happens. Bug testing and limit breaking can take a significant amount of time, even as much as the game took to create. The more people you can get to help with testing, the more problems you will be able to find and fix!
Ask other people to playtest the game and give you feedback. Invite some friends over and ask them to try your game. Watch how they approach your challenges and how they interact with your game world. Chances are they will try to do things that you never even thought someone would do. Use their gameplay as feedback and make additional changes as needed. For example, if a bunch of your friends keep trying to reach an area that they’re not supposed to go to, it’s a sign that the game’s instructions or the level design are creating confusion.
Publishing Your Game
Check with your engine on the rules for releasing your game. Each engine supports specific platforms, and some require different licenses to release on different platforms. For example, with Game Studio, you can release on Windows and Mac OS, but need to upgrade to the Pro version and pay an extra fee to release mobile versions.
Hype your game up to attract attention online. Once you are nearing your game's release, start trying to attract some attention. Release some screenshots and video clips of your game in action on popular gaming forums, like Reddit. Contact gaming news sites and let them know that your game will be releasing soon (be sure to include how to get it, how much it costs, and a summary of the game). Send copies of your game to popular streamers and influencers and partner with them to get them to promote your game. Create a game website during production so that you can start building followers. Host a forum or reddit AMA to get fans talking to each other. Regularly update your site to draw more attention.
Upload the game to your platform of choice. Some independent developers will host the game on their website, but you may find that demand costs you a significant amount in hosting fees, and some hosts can't support the load that a successful game requires. So, upload the game to a popular platform so people can play it. The most popular outlets for releasing independent games on PC, Mac OS X, and Linux: Steam (Steam is easily the most popular platform today). Epic. GOG. Itch.io Mobile games typically need to be released through their prospective stores (Apple App Store, Google Play Store, etc.). The same goes for console games (Xbox Live, PlayStation Network, etc.). Different services will take different cuts on the sale of your game. Research each one to see if they are right for you.
Support your game and interact with the community. Once your game is released, support it as much as financially possible with bug fixes and more content. The age of digital distribution means that games can be updated quicker than ever before. There are bound to be bugs that appear once the population at large has access to your game. Do what you can to fix these as soon as possible. Respond to queries and reviews online to let players know you appreciate them.
Comments
0 comment