Learning AWS Lumberyard Game Development
上QQ阅读APP看书,第一时间看更新

Game design and game design documents

Developing games, especially AAA games, takes a Herculean effort from a game project team. Sophisticated game engines such as Lumberyard go a long way in helping development teams with tools and efficiencies. Perhaps the single most important tool a game developer can have is the game design. More specifically, a Game Design Document (GDD). These documents contain the game's specifications, including a game's description that details the overall game concept, the game's genre or genres, a storyline synopsis, the target audience, and distribution platforms. GDDs also document the game's interface design, game mechanics, and immersion plan.

Not having a game design to guide the development process is like starting to build a house without knowing whether it is supposed to be constructed out of wood or brick, how many floors it should have, the square footage, and the style. That would be a nightmare house construction project. To avoid nightmare game development projects, we rely on GDDs. Let's examine each of the main components of the GDD and see how they relate to the Lumberyard game engine.

Game description

The game description typically contains an overview of the game, a synopsis of the storyline, game genre, target audience, and distribution platforms. We will review game genres and distribution platforms in Lumberyard in the following sections.

Game genre

In today's game development landscape, there are an increasing number of game genres. This is in part due to genre blending and the innovativeness and creativeness of game studios. Some of the most common game genres for AAA games are strategy/real-time strategy, shooters, action, adventure, sports, and simulation.

Lumberyard can support the development of any game genre. Since a genre is made up of gameplay and functionality, you are only limited by your team's imagination and ability to execute your plan.

Distribution platforms

AAA games are typically distributed to consoles and desktop/laptop computers. You can create games using Lumberyard that can be deployed on Xbox One and PlayStation 4 game consoles as well as computers running the Windows operating system.

There is currently limited support for mobile devices. As Lumberyard continues to mature, mobile support will increase. Support for computers running Mac and Linux operating systems is something we will likely see in the not-too-distant future.

You will learn more about distribution platforms in Chapter 11, Providing Your Game to the World.

User interface

UIs for your game are usually mocked up in a GDD. This typically includes any screens that users will interact with. Depending on your game, this might only consist of a start menu or include additional interfaces such as inventory, game lobbies, dialog interfaces, and more.

Earlier in this chapter, you saw an interactive user interface with the Don't Die sample game. The UIEditor Sample game sample illustrated how professional a user interface can look in Lumberyard.

User input can be obtained from the user's keyboard, or a pointing device such as a mouse, trackball, or joystick. Game controllers are used to take user input on game consoles. For computers running the Windows operating system, an Xbox controller can also be used. When designing user interfaces in Lumberyard, it is important to determine what forms of input your game will accept from users. Throughout this book, you will gain hands-on experience in defining user input from a computer keyboard.

Lumberyard's UI Editor

Lumberyard has a UI Editor that streamlines the creation of user interfaces. The UI Editor is accessible via the View | Open View Pane | UI Editor menu selection. As illustrated in the following screenshot, the UI Editor has five panels:

  • 1- Menus and toolbar.
  • 2 - Hierarchy pane, this pane contains a hierarchical list of your user interface components. You can arrange these items to make it easier to locate components and increase your efficiency when editing the interface.
  • 3 - UI viewport. This is where you can preview your interface and select and move your objects.
  • 4 - Contextual properties pane. Selecting a UI component will populate this pane with the selected object's properties. The properties can be edited in this pane.
  • 5 - UI Animation Editor. Depending on your version of Lumberyard, you might have access to the UI Animation Editor in the pane below the viewport. If that pane is not visible, select View | Animation Editor from the UI Editor menu. As shown in the following screenshot, the UI Animation Editor is fairly complex. It is presented here to show that animation sequences can be applied to UI components. Animating UI components is something that you can consider when you design and develop your game:

Creating a gameplay in Lumberyard

A gameplay is the manner in which players interact with other players and with your game. It is sometimes referred to as game mechanics and game functionality. Gameplays are different from user interfaces.

You might create a gameplay so that players can pick items up, put them down, and interact with them. Maybe players can shoot other players, non-player characters (AI players), and other objects. Jumping, running, climbing, crawling, and sliding are also examples of gameplay. Players can throw grenades, fix a truck, destroy a bridge, and dig a hole. The list is unlimited.

In Lumberyard, gameplay is created with Flow Graphs. Flow Graphs are a visual scripting system and are created using Lumberyard's Flow Graph Editor. The Flow Graph Editor is accessible through the View | Open View Pane | Flow Graph pull-down menu. A sample Flow Graph is provided in following screenshot to show how relatively easy they are to read:

You will learn more about Flow Graphs and gain hands-on experience with them in Chapter 6, Creating Gameplay.

Creating immersive games in Lumberyard

One of the reasons for the success of AAA games is that they create immersive game experiences for players. Immersive games are those that result in the player being so wrapped up in a game that they are no longer aware of the outside world. When a player is immersed in a game, they are in the game and time passes unnoticed. Players can have physical reactions to in-game events when they are immersed. Physical reactions include increased heart rate, tighter grips on a controller, facial expressions, and more.

You can create immersive games in Lumberyard in a couple of key ways. First, the game world should be consistent. This is more than just realism. Even cartoonish and futuristic games can be immersive. The goal is to ensure all game components are consistent and realistic for the game itself.

Natural user controls

Another way to help ensure the games you create with Lumberyard are immersive is to make the user controls natural so that they are not distracting. If a player is trying to figure out a long control key combination for a fight move, their focus is off the game world and on the controller. This should be a crucial consideration.

Game audio

Game audio is one of the most significant contributors to immersion. Sounds should be realistic and consistent for the game. Appropriate ambient sounds, background sounds, and sound effects should be used in the game. Achieving excellence with game audio is a specialized skill.

It is important to pay attention to the volume of individual sounds. Background music, for example, should not drown out sound effects or AI player spoken dialog. You can use fading and fall-off techniques to control the volume of individual audio clips.

Using surround sound is a great contributor to game immersion. If a truck is approaching the player's position from the left, then the sound of that truck should come from the left speaker and gravitate toward center and move off to the right, as appropriate for the truck's path. These finite considerations go a long way in helping to provide an immersive game environment for the player.

You will learn about Lumberyard's Audio System in Chapter 8, Bringing Your Game to Life with Audio and Sound Effects.