Learning AWS Lumberyard Game Development

By Dr. Edward Lavieri
    What do you get with a Packt Subscription?

  • Instant access to this title and 7,500+ eBooks & Videos
  • Constantly updated with 100+ new titles each month
  • Breadth and depth in over 1,000+ technologies
  1. Welcome to the Lumberyard

About this book

Amazon’s Lumberyard is a 3D cross-platform game development engine for building high-quality AAA games. It makes the process of creating multi-player games and adding realistic characters, stunning terrains, and special effects much faster and more efficient.

This book will show you how to use Lumberyard to create a multiplayer 3D game with cloud computing, storage, and Twitch integration for user engagement. We will start with an introduction to Lumberyard and provide an overview of its capabilities and integration options. Once the game engine is installed, we’ll guide you through the creation of an immersive game world with characters. You’ll add animations and audio to bring the game to life. We’ll explore external interactions to support live multiplayer game play, data storage, user engagement, and the back end.

By the end of the book, you will be efficient in building cross-platform games using Lumberyard.

Publication date:
October 2016
Publisher
Packt
Pages
268
ISBN
9781786460868

 

Chapter 1. Welcome to the Lumberyard

The purpose of this chapter is to provide you with a brief overview of Lumberyard, what it is capable of, and what you can do with it. We'll start with a brief discussion of where Lumberyard fits into the game engine landscape. Our initial look at Lumberyard will include system requirements and how it integrates with the cloud for computing and storage. You'll be provided with step-by-step instructions for the download and installation process. Lastly, a tour of the Lumberyard interface will be provided.

In this chapter, you will:

  • Understand Lumberyard

  • Become familiar with Lumberyard's system requirements

  • Download and install Lumberyard

  • Understand the Lumberyard Setup Assistant

  • Download and install required software, SDKs, and plugins

  • Become familiar with the Lumberyard Editor and the user interface

  • Start a new Lumberyard project

 

What is Lumberyard?


Lumberyard is a free 3D game engine that has, in addition to typical 3D game engine capabilities, an impressive set of unique qualities. Most impressively, Lumberyard integrates with Amazon Web Services (AWS) for cloud computing and storage. You will learn about AWS in Chapter 9, Employing Cloud Computing and Storage. Lumberyard, also referred to as Amazon Lumberyard, integrates with Twitch to facilitate in-game engagement with fans. We'll cover Twitch in Chapter 10, Engaging With Users Using Twitch.

Another component that makes Lumberyard unique among other game engines is the tremendous support for multiplayer games. As you'll see in Chapter 7, Creating Multiplayer Gameplay, the use of Amazon GameLift empowers developers to instantiate multiplayer game sessions with relative ease.

Lumberyard is presented as a game engine intended for creating cross-platform AAA games. There are two important components of that statement. First, cross-platform refers to, in the case of Lumberyard, the ability to develop games for PC/Windows, PlayStation 4, and Xbox One. At the time of this book's publication, additional support for Mac OS, iOS, and Android devices was being worked on. There is no doubt that these additional platforms will be supported soon. The second component of the earlier statement is AAA games. A triple-A (AAA) game is like a top-grossing movie, one that had a tremendous budget, was extensively advertised, and wildly successful. If you can think of a console game (for Xbox One and/or PlayStation 4) that is advertised on national television, it is a sign the title is a AAA game.

Note

Now that this AAA game engine is available for free, it is likely that more than just AAA games will be developed using Lumberyard. This is an exciting time to be a game developer.

More specifically, Amazon hopes that Lumberyard will be used to develop multiplayer online games that use AWS for cloud computing and storage, and that integrate with Twitch for user engagement. The engine is free, but AWS usage is not. Specifics on this issue will be covered Chapter 9, Employing Cloud Computing and Storage. Don't worry, you can create single-player games with Lumberyard as well.

 

System requirements


Amazon recommends a system with the following specifications for developing games with Lumberyard:

  • PC running a 64-bit version of Windows 7 or Windows 10

  • At least 8 GB RAM

  • A minimum of 60 GB hard disk storage

  • A 3 GHz or greater quad-core processor

  • A DirectX 11 (DX11) compatible video card with at least 2 GB of video RAM (VRAM)

As mentioned above, currently, there is no support for running Lumberyard on a Mac OS or Linux computer.

The game engine is a very large and complex software suite. You should take the system requirements seriously and, if at all possible, exceed the minimum requirements.

 

Downloading and installing Lumberyard


Note

The Internet is a dynamic medium and some links are subject to change after this book's publication date. If a link does not work, you can search for the new web page using an Internet browser. Some of the images, buttons, and other graphical references might be different from what is presented here.

The following steps will guide you through the download and installation processes for Lumberyard. Before following these steps, be sure your system meets the minimum requirements listed in the previous section:

  1. Open your Internet browser and navigate to https://aws.amazon.com/lumberyard.

  2. Find the Download Lumberyard button, as shown in the following screenshot, centered and towards the bottom of the screenshot, and click it. This will take you to the https://aws.amazon.com/lumberyard/downloads/ page:

  3. On the downloads page, click the Download Lumberyard button. You will be reminded that downloading the game engine indicates you agree to the AWS Customer Agreement and Lumberyard Server Terms. As shown in the following screenshot, there are links to both of those legal documents beneath the download button:

  4. Shortly after clicking the Download Lumberyard button, you will see that the Lumberyard Installer (filename LumberyardInstaller1.1.0.0.exe) was downloaded. Your version number might be slightly different, and that is okay. Double-click the installer to run it.

  5. The installer's interface should now be present (refer to the following screenshot). We'll use the default installation directory (C:\Amazon\Lumberyard). Click the Install button:

    Tip

    If you see Modify Setup when you run the installer, it indicates you have already installed Lumberyard.

  6. The installer will now download and install Lumberyard on your computer. The game engine, installed, is approximately 14 GB, so the setup process can be lengthy, even with a lot of bandwidth. You've already ensured there is enough disk space, so now is a great time to grab a cup of coffee. Now you can sit back and monitor the process:

  7. When the process is completed, you will be presented with the screen shown in the following screenshot . Click the Launch button to run Lumberyard for your first time. This is going to be an exciting journey:

Note

If you have a firewall running on your computer, you might be prompted to grant access for Lumberyard to make changes to your computer.

 

Launching Lumberyard


You can launch Lumberyard in one of three ways. First, you can click the Launch button immediately after installation, as illustrated in the previous section. You can also navigate to the location on your hard drive where you have Lumberyard installed, for example, C:/Amazon/Lumberyard/1.1.0.0/dev.

You can also double-click the Lumberyard Launcher icon on your computer's desktop. As part of the installation process, you will have three icons related to Lumberyard added to your desktop. We will use the Lumberyard Launcher icon now and address the Lumberyard Editor and Project Configurator icons later:

Note

The names and look of the aforementioned icons might be different on your system, depending on what version of Lumberyard you have installed. For example, the Lumberyard Launcher icon was replaced by/renamed to Setup Assistant in v1.2.0.0.

At this point, we want to ensure our installation is complete, including installing any additional software, SDKs, and plugins. The following steps will guide you through the process:

  1. After launching the Lumberyard Launcher, or Setup Assistant depending on your version of the game engine, you are greeted with the Get started page. As you can see in the following screenshot, there are several things you can do right from this page:

  2. On the Get started page, there is a link to Documentation in the lower-left corner of the screen. More importantly, you are presented with the opportunity to verify your Lumberyard installation location. If you do not see the indicator to the right of the Browse button, use that button to point the Launcher, or Setup Assistant, to your installation location.
  3. Check the Run the Lumberyard Editor and tools checkbox. This will tell the Launcher, or Setup Assistant, what you want to accomplish and generate additional steps for you to follow.

    Note

    Depending on your version of Lumberyard, you might need to uncheck the Run your game project option.

  4. Click the Next button in the lower-right corner of the screen. This will result in the Install software screen being displayed. As shown in the following screenshot, you might have additional software to install:

  5. Using the links provided, install all software listed under the Required software heading.

  6. You can decide if you want to install the software components listed under the Optional software heading. If you do not do this now, you can do it later.

  7. Once you have all the desired software installed, select the Next button. This will display the Install SDKs screen.

  8. As appropriate for your needs, install any SDKs that are listed but not already installed. Follow the on-screen guidance. You can always come back to this as your needs change.

  9. Once you have all the required SDKs installed, select the Next button. This will generate a list of plugins.

  10. Install any desired plugins by following the on-screen instructions.

  11. Install any additional plugins you want that are listed under the Available content creation plugins header.

    Tip

    You will notice that most of the external plugins do not have associated URLs. You will need to install the software manually. You can use the refresh button in the upper-right corner of the screen once your software has been installed. This is a great way to verify that Lumberyard can locate the software.

  12. Once you have installed everything you wanted on the Install plugins page, click the Next button. This will present you with the Summary page. Here you can review software, SDKs, and plugins that you still might consider installing. You should see on-screen text indicating that all required software has been installed.

  13. On the Summary page, click the Launch Lumberyard Editor button. The first time you launch the editor, it can take several minutes to load. Lumberyard will perform a lot of housekeeping to ensure your development environment is set up correctly.

    Note

    If you have a firewall running on your computer, you might need to grant access to the AssetProcessor_tmp.exe and Editor.exe executable files.

  14. During the initial launch process, you will be presented with a Welcome to Lumberyard dialog window. Here you will need to enter, or create and enter, your Amazon or AWS account. You can even create a new Amazon account specifically for Lumberyard. This is highly recommended as it will help you segment your dealings with Amazon.

    Note

    Due to the dynamic nature of the Internet and Amazon's services, your AWS experience might differ slightly from what is presented in this chapter.

  15. Create your Amazon account by following the on-screen instructions. This is a free account.

  16. After creating your Amazon account and logging in, the Lumberyard Editor will open. Additional guidance is provided in the next section.

 

Introducing the Lumberyard Editor


The Lumberyard Editor is where you will spend most of your development time. This section will provide an overview of the major components of the Lumberyard Editor user interface. Additional details on components of the Editor are provided in the later chapters, when the functionality is first introduced.

The Welcome screen

Before you use the Editor, at least the first time you launch it, you will be presented with the Welcome to Lumberyard Editor dialog window, as shown in the following screenshot:

There are four content areas on the Welcome screen and two decisions. The first content area is Start with, which allows you to start a new level or open a level you previously created.

Note

Levels are components of games and games are created by developing multiple linked game levels. The Lumberyard Editor allows you to create and edit game levels.

The second section on the Welcome screen contains four support links, each accessible via a button:

There is also an Open recent: section to the Welcome dialog window. This area will list levels that you have previously saved. This gives you quick access to your recent work.

The final content area of the Welcome dialog window contains two checkboxes. By selecting or de-selecting the boxes, you can determine whether your last opened level will be automatically loaded when the editor is launched and whether you want to suppress the Welcome dialog window on future launches of the editor.

Creating a new level

To review the editor's user interface, we will select New level from the Welcome dialog window. This generates a New Level dialog window. Here, we can name our level and indicate where to store the files associated with the level:

If terrain is being used, you can assign the resolution of the Heightmap and how many Meters Per Texel. We will look at the terrain settings later, in Chapter 3, Constructing an Immersive 3D Game World. For now, we will change the level's name to test_level and click the OK button. We are accepting the default location for new levels; you can change this if needed.

The Generate Terrain Texture dialog window appears next and is shown in the following screenshot. As you can see, there are several decisions we need to make here. At this point, we simply want to review user interface of the Editor. We'll take an in-depth look at the terrain options in Chapter 3, Constructing an Immersive 3D Game World. For now, simply click the OK button to accept the default settings:

In the next section, we will review user interface of the Lumberyard Editor.

Editor user interface – overview

The main interface of Lumberyard Editor is comprised of 10 areas, or workspace components. The following screenshot illustrates each of these areas:

Each area of the user interface provides you with access to specific functions. The individual areas are described in the next 10 subsections with reference to the previous screenshot. You will learn more about each area and the supported functionality as we build our first game throughout the remainder of this book.

Pull-down main menu (area A)

This area consists of a menu bar at the top of the interface. Each menu label, listed as follows, presents the user with multiple options and functions:

  • File - You can open, close, and export projects.

  • Edit - This menu is contextual and supports grouping, visibility, and more.

  • Modify - Here you have access to make modifications to your game objects.

  • Display - You can change and configure how your level is viewed in the viewport.

  • AI - Access to Lumberyard's artificial intelligence functionality.

  • Audio - You can refresh audio and stop all sounds.

  • Clouds - You can create, open, close, and destroy clouds.

  • Game - This is a set of tools relevant to your game to include enabling physics and AI, edit equipment packs, and more.

  • Physics - With this menu set, you can get and reset physics states and simulate objects.

  • Prefabs - Tools to create, edit, and manage prefabs.

Note

A prefab is a group of predefined assets. Using prefabs can speed up the content creation process.

  • Terrain - Access to terrain-related creation and editing.

  • Tools - A plethora of tools for scripts, textures, shaders, terrain, geometry, and more.

  • View - This menu gives you access to tailor your layout and open/close user interface components.

  • AWS - Access to AWS to include cloud computing and storage, GameLift, and more. This is where you will gain access to your AWS Profile.

  • Commerce - Web links to the Amazon developer portal and Merch by Amazon.

  • Help - Access to tutorials, the getting started guide, documentation, and more.

So far, we have only created a test level. You should feel free to explore the menu items to become more familiar with them.

Toolbars (areas B and C)

The default view for the editor includes two rows of toolbars containing icons for commonly used functions and features. You are able to add, remove, and relocate these icons. You can even move the toolbars. This area is highly customizable. It is recommended that you leave the toolbars as is until you become more familiar with the interface and developing with Lumberyard.

Viewport header (area D)

This is an information header bar that pertains to the perspective viewport (area F). There is also a search bar to help you find objects. This is especially useful in complex game worlds where selecting a very specific object could be challenging.

Rollup bar (area E)

The rollup bar provides categorized access to a host of game components and functionality. The features are categorized into tabs for Objects, Terrain, Modeling, Display, and Layers. You will gain exposure to these starting in Chapter 3, Constructing an Immersive 3D Game World.

Note

The Modeling tab is not present in every version of Lumberyard, so if you do not have that tab, that is okay. Once Lumberyard is out of beta, more information will be available about the full game engine.

Perspective viewport (area F)

This viewport provides a visual representation of your game level in 3D.

Viewport controls (area G)

This area is located directly below the viewport. When an object is selected, the viewport controls allow you to modify X, Y, and Z axis values, lock and unlock objects, control speed, and more.

Console (area H)

The console provides systems information, output, game data, and input, as appropriate. It can be a key component when debugging.

Status footer (areas I and J)

The last line of the interface is the status footer. Various types of information about the game project, files, and processes are visible in this area.

 

Summary


In this chapter, we explored Amazon's new game engine, Lumberyard. The benefits of using Lumberyard for creating multiplayer AAA games was realized and included the ability to integrate with AWS for cloud computing and storage as well as integrating with Twitch for user engagement. We downloaded and installed Lumberyard, and installed additional software, SDKs, and plugins. Our final act in this chapter was to walk through the Lumberyard Editor's user interface, at a high level.

In the next chapter, we'll start planning our game for Lumberyard. This will be the game that we will build throughout the remainder of this book. We'll also explore Lumberyard's graphics capabilities and requirements.

About the Author

  • Dr. Edward Lavieri

    Dr. Edward Lavieri is a veteran software engineer and developer with a strong academic background. He earned a Doctorate of Computer Science from Colorado Technical University, an MS in Management Information Systems (Bowie State University), an MS in Education (Capella University), and an MS in Operations Management (University of Arkansas). He has been creating and teaching computer science courses since 2002. Edward retired from the U.S. Navy as a Command Master Chief after 25 years of active service. He is the founder and creative director of three19, a software design and development studio. Edward has authored more than a dozen technology books, including several on Java.

    Browse publications by this author
Learning AWS Lumberyard Game Development
Unlock this book and the full library FREE for 7 days
Start now