Chapter 11. Providing Your Game to the World
In the previous chapter, we explored Twitch, Twitch ChatPlay, Twitch JoinIn, and the Twitch API. We learned how the use of Twitch ChatPlay allows game viewers to directly interact with games we create in Lumberyard. We demonstrated this feature in the previous chapter, giving you hands-on experience at creating that type of interaction.
The aim of this chapter is to provide an overview of the steps necessary to publish your game once it is completed, that is, make your game available for others to play. Specifically, we will look at game builds, and how to test them, debug them, and release them.
After reading this chapter, you will:
Learn which distribution platforms Lumberyard supports
Grasp the requirements for publishing to gaming consoles
Understand the complexities involved in generating game builds
Be able to identify the three types of game build supported by Lumberyard
Learn the components and requirements of each game build type
Understand...
Taking your game beyond the Lumberyard Editor
So far we have created game levels and explored existing sample game levels to learn how to use the Lumberyard Editor and its primary functionality. In each case, we played the game using Game Mode within the Editor. That is great for testing your games, but you cannot expect users to have a copy of the Lumberyard Editor. So, we need to publish the game in a format that permits others to play it.
We can use Lumberyard to create games for computers running the Windows operating system and the Xbox One and PlayStation 4 game consoles. At the time of this book's publication, support for deploying to mobile devices running iOS and Android was in preview, and therefore not covered in this chapter. In addition, support for computers running the Mac and Linux will be forthcoming.
Next, we will look at the external requirements for publishing to the Xbox One and PlayStation 4 game consoles. Then, we will conclude this section with an overview of publishing...
When you complete your game, it will likely consist of several hundred files. These files will include libraries, scripts, textures, object files, and more. Creating a game build is the process of combining these files into a compiled version of your game. Lumberyard supports the creation of several types of build.
We can create release builds that can be used to distribute our game. The same type of build would be used for demo versions of a game. This type of release compiles the game into an *.exe
file. So the build will consist of a single file, such as yourgame.exe
.
Lumberyard also supports generating a debug game build. It is used to debug the game and includes several tests including thorough memory tests.
The third type of game build in Lumberyard is the profile build. This type of build is ideal for performance testing.
Release builds are generated in order to provide your game to others in a playable format. This section provides an overview of...
Lumberyard's testing tools
In the previous section, we indicated that debug and profile builds can be used for debugging and testing your game. Debugging and testing are usually internal to a game project's team. Lumberyard supports these efforts with a couple of utilities. In this section, we will provide an overview of two tools that are part of Lumberyard's utility set: AzTestScanner
and Statoscope Profiler
.
The AzTestScanner
utility can be run manually from the command prompt. You will need to locate the AZtestRunner.exe
file on your system. Alternatively, you can use the lmbr_test.cmd
script. This script file, located in the \dev directory, sets local and Python paths, sets a few properties, and then runs the command python -m aztest
.
This scanning utility tests libraries and generates three reports. The first report is a detailed text log of the scanning results. Each library and executable file tested will have a corresponding XML file generated with test results specific...
In this chapter, we reviewed, at a high-level, the steps necessary to publish your Lumberyard games so that they are accessible to others. We looked at the different distribution platforms supported by Lumberyard and additional requirements for console development. We reviewed the three types of game build (release, debug, profile) and their uses. We also looked at two of the testing tools bundled with Lumberyard.
In the next (and final) chapter, we will take a glimpse at what is possible with Lumberyard, beyond the basics. We will explore concepts such as Virtual Reality, the Waf Build system, Lumberyard's cinematics system, system streaming, and memory handling. We will also explore Amazon Web Services to uncover key additional services not covered in previous chapters.