Автор: Wallace Wang
Издательство: Springer
Год: 2023
Страниц: 281
Язык: английский
Формат: pdf (true), epub
Размер: 38.5 MB
The Structure of Game Design is designed to help aspiring and existing game designers turn their ideas into working games. Creating a game involves understanding the core foundational elements of all types of games from paper-based games to the latest video games. By understanding how these core principles work in all types of games, you can apply these same principles to design your own game.
Games are about goals, structure, play and fun. While everyone will always have their own idea of what might be “fun”, any game designer can maximize player enjoyment through meaningful choices that offer various risks and rewards. Such challenges, combined with rules and limitations, force players to overcome obstacles and problems using a variety of skills including dexterity, puzzle solving, intelligence, and strategy. Essentially games allow players to venture forth into new worlds and overcome problems in a safe but exciting environment that allows them to triumph in the end.
Just as playing games have proven popular around the world to all ages, genders, and cultures, so has game designing proven equally popular. Games can challenge players to make the best move, solve puzzles, engage in combat, manage resources, and tell stories. By understanding how randomness, psychology, and balance can change the way games play, readers can decide what game elements are best for their own game creation.
Whether your goal is to make money, learn something new, make a social statement, improve on an existing game idea, or challenge your artistic, programming, or design skills, game design can be just as much fun as game playing. By knowing the parts of a game, how they work, how they interact, and why they’re fun, you can use your knowledge to turn any idea into a game that others can play and enjoy.
A game engine provides the basic foundation for creating a video game. Then it’s up to the game designers to add unique assets such as player characters, instructions that define how the game works, game levels that define the location of enemies, allies, and resources, and the location of the goal that players are striving to reach.
Every game engine tends to specialize in certain features. As a result, there is no single “best” game engine to use. Instead, any choice involves finding the best game engine for your particular needs. Some game engines specialize in offering specific features for creating one type of game but lack other features for creating other types of games. A game engine might specialize in creating 2D games, but completely lack features for making 3D games. The advantage of such a game engine is that all of its features will help you make 2D games, but if you ever want to make a 3D game, you’ll need to learn another game engine.
Two popular, general purpose game engines that are nearly equal in features are Unity and Unreal. Two less popular but rival game engines are Godot and GameMaker Studio. Godot is free and open source but GameMaker Studio is proprietary and costs money to use. By studying different game engines, you can get a better idea which features might be most important for your game idea.
To use a game engine, you need to load assets such as graphics and audio. To make your game actually work, you’ll need to write code. However, game engines tend to offer one or more different programming languages. The programming language you prefer might define which game engines to consider.
Some popular programming languages used in game engines include:
• C++ (used in Unreal, CryEngine, and O3DE)
• C# (used in Unity, Stride, and Godot)
• Lua (used in Defold, Solar2D, and O3DE)
• Proprietary languages (used in GameMaker Studio and Godot)
Many game engines support only one programming language but others support multiple programming languages, letting you choose the language you like for that particular game engine. Since writing code may be too difficult for many people, many game engines also offer a visual scripting option. Unfortunately, visual scripts tend to run much slower than traditional programming language code. Even worse, visual scripting takes up larger amounts of space just to make the simplest program. What might take a handful of lines of text in a traditional language like C++ could take up half a screen with a visual scripting language.
Since traditional programming languages like C++, C#, and even Lua weren’t specifically designed for games, some game engines offer proprietary languages designed specifically to make writing video games easy. Such proprietary languages are often based on existing programming languages, such as Python, to make learning them easier. Since game engines often do not support many programming languages, you need to choose the programming language you’re most familiar with first and then find a game engine that uses your favorite programming language.
Скачать The Structure of Game Design