Planning your Lumberyard development process
Each game development process is unique. Even game studios that are releasing a sequel to a successful game will have differences in how they develop each game. Team composition, goals, timelines, and tools are all subject to change. The following game development process diagram provides an overview of how the major components and sub processes might work together:
Here are some Lumberyard tools that can be used by individuals or teams on your game project to simultaneously work on major components of the game. These tools are presented in alphabetical order so no importance or significance levels should be assumed. In some cases, the tools are embedded in a project component description. So, not all items listed below are names of specific Lumberyard tools.
There is some overlap, as several different teams will need to use more than one tool. As appropriate, references to this book's chapters are provided so you know where to find additional information on each tool.
AI System
Lumberyard's AI System, or Artificial Intelligence System, allows you to create game entities that exhibit AI behaviors. As illustrated in the attached screenshot from the RollupBar, there are 12 AI object types in Lumberyard. You learned about the RollupBar in Chapter 1, Welcome to the Lumberyard, and will gain hands-on experience with that section of the Lumberyard game engine throughout the remaining chapters:
Selecting an AI object type reveals relevant properties. When working on the AI System for your game, the above interface is used in conjunction with Flow Graphs to create your game's AI behaviors.
Amazon Web Services
Amazon Web Services (AWS) is a family of cloud-based scalable services to support, in the context of Lumberyard, your game. AWS includes several technologies that can support your Lumberyard game. These services include:
- Cloud Canvas
- Cloud Computing
- GameLift
- Simple Notification Service (SNS)
- Simple Query Service (SQS)
- Simple Storage Service (S3)
You will learn more about AWS, including creating a personal account and gaining hands-on experience, in Chapter 7, Creating Multiplayer Gameplay, Chapter 9, Employing Cloud Computing and Storage, and Chapter 12, Stretching Your Lumberyard Wings.
Art asset creation
Game assets include graphic files such as materials, textures, color palettes, 2D objects, and 3D objects. These assets are used to bring a game to life. A terrain, for example, is nothing without grass and dirt textures applied to it. Much of this content is likely to be created with external tools.
One internal tool used to implement the externally created graphical assets is the material editor. Assets and the material editor are explored in Chapter 3, Constructing an Immersive 3D Game World.
Audio system
Lumberyard has an Audio System that controls how in-game audio is instantiated. No audio sounds are created directly in Lumberyard. Instead, they are created using Wwise Software by Audiokinetic. You will learn more about the Audio System and Wwise in Chapter 8, Bringing Your Game to Life with Audio and Sound Effects.
Because audio is created externally to Lumberyard, a game project's audio team will likely consist of content creators and developers that implement the content in the Lumberyard game.
Cinematics System
Lumberyard's Cinematics System can be used to create cut-scenes and promotional videos. With this system, you can also make your cinematics interactive. The Cinematics System is covered in Chapter 12, Stretching Your Lumberyard Wings.
Flow Graph System
Lumberyard's Flow Graph System is a visual scripting system for creating gameplay. This tool is likely to be used by many of your smaller teams. It can be beneficial to have someone who oversees all Flow Graphs to ensure compatibility and standardization.
The Flow Graph System is first explored in Chapter 5, Animating Your Characters, and hands-on experience with Flow Graphs is provided throughout the book.
Geppetto
Geppetto is Lumberyard's character tool. A character team will likely create the game's characters using external tools such as Autodesk Maya or Autodesk 3DS Max. Using those systems, they can export the necessary files to support importing the character assets into your Lumberyard game. Lumberyard has an FBX Importer
tool that is used to import characters created in external programs.
You will learn more about Geppetto in Chapter 4, Creating 3D Characters and Chapter 5, Animating Your Characters.
Mannequin Editor
Animating objects, especially 3D objects, is a complex process that takes artistic talent and technical expertise. Some projects incorporate separate teams for object creation and animation. For example, you might have a small team that creates robot characters and another team that generates their animations.
The Mannequin Editor is discussed in Chapter 4, Creating 3D Characters and Chapter 5, Animating Your Characters.
Production team
The production team is responsible for creating builds and distributing releases. They will also handle testing coordination. One of their primary tools will be the Waf Build System.
Distribution details are provided in Chapter 11, Providing Your Game to the World, and the Waf Build System is examined in Chapter 12, Stretching Your Lumberyard Wings.
Terrain Editor
A game's environment consists of terrain and objects. The terrain is the foundation for the entire game experience and is the focus of exacting efforts. The creation of a terrain starts when a new level is created. As you can see in the following screenshot, the HeightMap Resolution is the first decision a level editor, or the person responsible for creating terrain, is faced with:
When Terrain is selected from the RollupBar, there are seven categories associated with the Terrain:
Each of these buttons gives you access to finite aspects of your terrain. Here is a brief overview of the functionality available via each of these buttons:
- Modify - Using custom brushes, you can flatten, smooth, raise, and lower your terrain:
- Vegetation - Vegetation objects can be painted on your terrain with several brush properties. As illustrated in the following screenshot, there are several tool icons associated with Vegetation:
- Layer Painter - Using brushes, colors and materials can be painted onto your terrain:
- Mini Map - Creating mini maps is usually a complex ordeal in game engines. Lumberyard makes this relatively easy. As you can see from the following screenshot, you can edit a few parameters and click the Generate MiniMap button to get started:
- Holes - The Holes tool is the most simplistic of the Terrain tools. You have the option of making or removing a hole and you can adjust the radius of your brush. From there, you simply paint holes on or off of your terrain:
- Environment - The Environment section of Terrain represents the most robust set of parameters to tailor your terrain. These parameters are grouped into the following 12 sections:
- Fog
- Terrain
- EnvState
- VolFogShadows
- CloudShadows
- ParticleLighting
- SkyBox
- Ocean
- OceanAnimation
- Moon
- DynTexSource
- TotalIllumination v2
- Move Area - This function gives you the opportunity to move or copy sections of terrain. You can also select whether you are performing this operation for the terrain only, only the vegetation, or both:
Terrain creation and editing are covered extensively in Chapter 3, Constructing an Immersive 3D Game World.
Twitch ChatPlay system
Twitch integration represents exciting game possibilities. As you will learn in Chapter 10, Engaging With Users Using Twitch, Twitch integration allows you to engage your game's users in unique ways. In Chapter 10, Engaging With Users Using Twitch, you will create a game from scratch that allows Twitch users to type commands, in a chat window, which impact in-game actions.
UI Editor
Creating a user interface is often, at least on very large projects, the responsibility of a specialized team. This team, or individual, will create the user interface components on each game level to ensure consistency. Artwork required for the user interfaces is likely to be produced by the asset team.