How do you learn how to make a Video Game?
In order to make a game or teach how to make a game, you have to look at the components of video games, and the process of bringing those components together into a finished product. This site is designed to look at the big picture of creating a game, branch off to examine various components, then make connections in tutorials and projects.
Learning how to create a game is a very rewarding, challenging, frustrating, exciting and fun. The process of creating a game let's you create digital media rather than just watching movies or playing games. Let's get started!
How do you teach the process of making a Video Game?
Teaching students how to create games is very rewarding, challenging, frustrating, exciting, and fun. It engages them in the creation of digital media. Students are often very used to consuming media, as the audience for a movie or the player of a game, but actually building a game uniquely combines art, storytelling, graphic design, logical sequential thinking, music production, and much, much more. It's an outstanding method of introducing computer science, physics, and vector math. Games can be created in teams, or as individual students.
I do encourage students to work together to solve problems, offer suggestions and encouragement. We generally do self and peer assessment as part of the design process. Let's get started!
Where's the Fun?
It's a bit obvious but a game needs to have something that appeals to the person playing it, or what's the point?
Even if your motivation for making the game is purely commercial, why would anyone buy a game that has nothing enjoyable about it?
If you play games, you have probably developed preferences for certain types of games. How would you describe the games you enjoy? What you describe is the EXPERIENCE of playing the game, as well as specific parts of the game. The next two sections, GAME DESIGN CONCEPTS, GAME DESIGN ARCHITECTURE, examine a couple of different ways of working out details of a game before starting on it, or as you begin to develop a prototype into a full game. It's very important, however that you don't become obsessed with the genre, the story, the controller mechanics, or visual effects, and forget to make sure THE GAME IS FUN TO PLAY.
Playing a video game is an extremely complex experience, including the rapid presentation of text information, graphics and visual effects, audio effects and music, and relying on hardware and software systems to display it. It's so easy for something to go wrong. Your job, as a game developer is to fine tune the experience as much as possible, so that the player's experience includes "Fun" at least as much as it includes "Frustration".
In the next two sections, in the first the topic of video games is examined like a novel or a movie. In the second video games are analyzed in Engineering terms. The elements of a game can be organized in terms of the function they perform as the game is played.
The trick with a video game is that ALL of these aspects to video games, must be considered from the point of view as the player as you build your game. The closest comparison for me is not a book or a movie but a building. There are many types of buildings, for many types of functions, some are well constructed, others not. Some are a pleasure to be in, others are frustrating and annoying to enter. Your job is to build a building that the player will want to experience, at least once, but hopefully again and again.
Game Design Concepts
Playing a video game is a sensory experience. A successful game should blend visual, auditory, and physical stimuli. If we want the player to keep playing or play again, the experience has to be an interesting one. It might be frustrating, frightening, funny or frenzied but whatever you do don't make the player feel bored.
A video game can be described by it's genre, the degree in which a story drives the action in the game, the visual style of the game, the number of different events and the level of detail in which they are described. These are all much like a literative or cinema. Literature doesn't include sound effects or a music track, but cinema does. Cinema and literature both include a point of view, though Cinematography has stronger visual connection to game cameras. The interactive nature of games, and the variety of platforms on which they are played is what makes it a uniquely different art.
There are many different genres of games, First Person Shooters, Real Time Strategy, Turn Based Strategy, Massive Multiplayer Online Role Playing, Sports games of just about any kind. Whatever the genre, a new game should do more than just remake what has already been done many times. There is a nostalgia market, however, for reliving childhood gaming favourites.
Whether a game is episode 5 of a best selling console game with an elaborate story or a simple puzzle game, the player goes through a sequence of activities, succeeds, fails, quits or tries again. How well the player engages in their progress in the game determines whether they will want to keep playing. The desire to keep playing or play again is a critical factor in the success of a game. This may involve buying into an elaborate story, or it may involve solving more elaborate puzzles. In either case if the game is too repetitious or difficult, the desire to play is lost.
The visual style of a game can be a major factor in it's success if the style has elements of originality, or technical quality that connects with the player. It's also a major part of the marketing of a game. It's hard to market a new server system, but a great logo, screen grab or twitch.tv session can have a major WOW factor influence on a games success.
Game Platform and Scope
Every game has a target platform, whether it's a simple game to play on a web page, or an AAA console game with online multiplayer elements. Every game has a scope, a degree of complexity and detail required for the finished product.
Game Design Architecture
There are many ways of conceptualizing a game. One of the more useful ways I have found is to break down the structure of a game into elements based on the function they play in a larger system. This is different from Game Architecture in programming which is basically a flow chart of how various programming elements interact and provide functions for the game. Game Design Architecture includes the visual elements of the game as well.
In most games there are elements such as background elements that act as a "Stage" for the action of the game. these elements can be as simple as a color, or as elaborate as highly detailed 3D models, with textures and lighting applied. It might also include files for scenes or levels of a game. This includes all programming required to make them functional.
These are elements such as buttons, sliders, text blocks, that allow players to pause and restart games, view their progress or health level, and read messages generated in the game. This includes all programming required to make them functional. Ths may include external services such as a server and databases.
Moving Elements and AI(Artificial Intelligience) Elements
Moving elements are graphic elements or objects in a game that move during gameplay, without being controlled by the player. These elements might include scrolling backgrounds, or targets that rotate or move. AI Elements are similar to moving elements, but the programming on AI elements responds to actions by the player. This might be as be as simple as a door that opens when a key is pressed, or a complex AI system that acts as an opponent in a strategy game. This includes all programming required to make them functional.
If it's a game, then the player has to have a way of affecting the outcome. Controllable elements are elements in a game that are controlled by the actions of the person playing the game. This might be as simple as clicking to select an answer to a puzzle or bonk a gopher on the head, or performing a complex button press combination on a game controller to make special moves with a character. It includes all programming to make them functional
Camera objects are a unique class of object, since they determine the player's point of view within the game. This is very specialized role within the production of the game. Whoever determines the camera positioning must consider aspects of Cinematography, how shots are framed, how the camera moves in relation to the player or other objects. These decisions control how the camera provides a visual display of the game as it unfolds, and influences the players decisions. It includes all programmming to make them functional
The Game Design Process
The game design process is a creative one, which usually means it's not linear. The process might begin with a spark of inspiration about game play, reading a great story, or doodling a character on a napkin. Frequently it begins with talking to other people about games. The "wouldn't it be awesome if..." kind of conversation can be very inspiring.
Most game developers will tell you though, that getting the idea is the easy part. All of those conceptual components from the Game Concepts section have to be considered, evaluated and connected. All of the architectural elements, static elements, ui elements, AI elements and controllable elements must be created, and included in the game project. It's not a random process. It's not an easy process.
GAME DESIGN PROCESS STEPS
- Idea Generation
- Concept Generation
- Game Design
- Review, Revise, Rebuild
- Production Planning
- Review, Revise, Rebuild
- Review, Revise, Rebuild
- Development Build
- Review, Revise, Rebuild
- Beta Testing
- Review, Revise, Rebuild
- Pre-Release Testing
- Review, Revise, Rebuild
Realistically, learning to be a game developer is an ongoing process. It's important to challenge yourself to try new approaches, but it's also important to build your skills at an appropriate level. If you've never created a game before, planning to create a AAA level console game as your first game is just silly. If you've never used a 3D modeling program before, planning to create a hyper real human character has your first model is not going to lead to a pleasant experience.
CORE SKILLS FOR GAME DEVELOPMENT
Game Concept Development
Creating planning documents for game projects including Game Documents, Storyboards, Concept Art, Level Maps
2D Graphics Creation
Creating prototype and finished art for projects including art for Interfaces, 2D Environments, 2D Characters. This includes being able to create objects, in a variety of styles, and levels of detail.
3D Graphics Creation
Creating prototype and finished art for projects including environmental structures, vehicles, and characters. This includes being able to create objects in a variety of styles and levels of detail, including UV Mapping, Texturing and Lighting.
Character Rigging and Animation
Great animations add life and personality to characters. It's both an extremely technical and artistically expressive process.
Visual Effects Creation
Many game projects include effects such as explosions and smoke or weather which require particle systems.
Game Audio Effects
The addition of sound effects enhances game play, by adding another level of sensory stimulus.
Game Music Production
Game music has evolved from simple 8 bit beeps and beats, into full studio production, that drive the emotional experience of playing the game.
Logical Sequential Thinking
The existance of drag and drop game building programs such as Scratch, Game Salad, Stencyl, does not eliminate the need to understand how game logic works. The ability to understand and build the interaction between game elements,is essential. You don't have to be a programmer to develop logical thinking, but the ability to code is the next logical step.
Eventually drag and drop style game builders will reveal their main weaknesses. These are generally a rigid set of available instructions with an inability to build more complex interactions through custom code.
Learning to program overcomes these limitations, up to the point where a new knowledge limitation is reached. Learning to program is really learning how to learn.
Start with making an object move under control, then create interaction with other objects, and a user interface. Once you start to code there is always something new to learn and experiment with.
The next step in learning to be a game dev is learning to use a Game Engine. Game Engines are basically toolboxes but with a more elaborate set of tools. Often game engines will have build in characters and objects which are useful for prototyping. Game Engines also have built in abilities to add custom code, and to compile code, to convert it to machine code that the target platform can understand and run quickly, in order to produce at minimum 30fps game play. As you learn a game engine, you will learn how to code to activate various elements of the engine, and maybe learn how to add additional features to the engine.
Advanced Programming and Networking
As your journey into programming continues, you will continue to add to your knowledge set. One of the main areas of knowledge critical for games is the area of Networking and Databases. Many games offer a multiplayer experience, and this requires networking. Many games offer game saves that must store elaborate data about the player's characteristics and preferences that are available on many different devices and locations. This requires a database connection.
In addition to networking and database components, advanced programming may include building custom tools to overcome weaknesses in game engines, or building entire game engines