O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning AWS Lumberyard Game Development

Book Description

Create stunning 3D multiplayer games with integrated cloud-based features

About This Book

  • Build a multiplayer 3D game from scratch using the features of Amazon's Lumberyard
  • Explore the world of Lumberyard along with Twitch and various key Amazon Web Services to build a game
  • This step-by-step practical guide will teach you how to build cross-platform games using Lumberyard

Who This Book Is For

The book caters for those who have an interest or desire to create their own games, either as a hobbyist or to enhance their skills as a professional games developer. The book requires previous knowledge of software development. Experience with C++ will also be beneficial.

What You Will Learn

  • Explore Lumberyard’s graphical user interface
  • Create stunning game worlds
  • Use Geppetto editor to create 3D characters
  • Create and animate game characters using Lumberyard’s toolset
  • Create impressive gameplay to add multiplayer functionality to your game
  • Debug and play your 3D game
  • Add multiplayer functionality to your game using Amazon GameLift
  • Integrate with Amazon cloud services to support cloud computing and storage
  • Engage your users during gameplay with Twitch

In Detail

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.

Style and approach

This step-by-step tutorial is filled with practical examples that will introduce you to the game engine’s interface, as well as setting up your development environment.

Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

Table of Contents

  1. Learning AWS Lumberyard Game Development
    1. Learning AWS Lumberyard Game Development
    2. Credits
    3. About the Author
    4. About the Reviewer
    5. www.PacktPub.com
      1. Why subscribe?
    6. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Downloading the color images of this book
        3. Errata
        4. Piracy
        5. Questions
    7. 1. Welcome to the Lumberyard
      1. What is Lumberyard?
      2. System requirements
      3. Downloading and installing Lumberyard
      4. Launching Lumberyard
      5. Introducing the Lumberyard Editor
        1. The Welcome screen
        2. Creating a new level
        3. Editor user interface – overview
          1. Pull-down main menu (area A)
          2. Toolbars (areas B and C)
          3. Viewport header (area D)
          4. Rollup bar (area E)
          5. Perspective viewport (area F)
          6. Viewport controls (area G)
          7. Console (area H)
          8. Status footer (areas I and J)
      6. Summary
    8. 2. Planning Your Game in the Lumberyard
      1. Beta software
        1. Release notes
          1. Beta 1.0
          2. Beta 1.1
          3. Beta 1.2
          4. Beta 1.3
          5. Beta 1.4
      2. Overview of sample content
        1. Starter content
          1. getting-started-completed-level
          2. start-section03-terrain
          3. start-section04-lighting
          4. start-section05-camera-playerstart
          5. start-section06-designer-objects
          6. start-section07-materials
          7. start-section08-physics
          8. start-section09-flowgraph-scripting
          9. start-section10-audio
        2. Sample games
          1. Animation_Basic_Sample
          2. Camera_Sample
          3. Dont_Die
          4. Movers_Sample
          5. Trigger_Sample
          6. UIEditor_Sample
      3. Game design and game design documents
        1. Game description
          1. Game genre
          2. Distribution platforms
        2. User interface
          1. Lumberyard's UI Editor
        3. Creating a gameplay in Lumberyard
        4. Creating immersive games in Lumberyard
          1. Natural user controls
          2. Game audio
      4. Planning your Lumberyard development process
        1. AI System
        2. Amazon Web Services
        3. Art asset creation
        4. Audio system
        5. Cinematics System
        6. Flow Graph System
        7. Geppetto
        8. Mannequin Editor
        9. Production team
        10. Terrain Editor
        11. Twitch ChatPlay system
        12. UI Editor
      5. Summary
    9. 3. Constructing an Immersive 3D Game World
      1. Your first level
      2. Creating terrain
        1. Creating terrain texture layers
        2. Assigning materials to texture layers
        3. Painting the terrain
      3. Configuring the game world
        1. Adding color
          1. Painting our terrain
          2. Adding vegetation
        2. Terrain sculpting
          1. Terrain modification tools
            1. Brush settings
            2. Noise settings
            3. Reposition
          2. Making terrain modifications
          3. Adding a water feature
      4. Playing Mother Nature
        1. Adding fog
        2. Adding shadows
        3. Adding sunlight
      5. Testing your environment using Game Mode
        1. Adding a camera
        2. Game Mode
          1. Controls
      6. Summary
    10. 4. Creating 3D Characters
      1. Dissecting 3D characters
        1. 3D Character vocabulary
        2. The process
      2. Lumberyard's capabilities
        1. FBX Importer
        2. Geppetto
          1. Exploring Geppetto
          2. Attaching objects to characters
      3. Creating your own character
        1. Character definition file
        2. Adding attachments
      4. Summary
    11. 5. Animating Your Characters
      1. Basic animation concepts
      2. Introducing Mannequin
        1. Understanding the Mannequin file conventions
        2. Mannequin file considerations
      3. Getting familiar with Mannequin's UI
        1. Area A –€“ pull-down menus
          1. File menu
          2. Previewer menu
          3. View menu
          4. Tools menu
        2. Area B ߝ€“ Browser pane
        3. Area C ߝ€“ Editor pane
        4. Area D ߝ€“ Browser Tabs
        5. Area E ߝ€“ Editor Tabs
      4. Using Mannequin
        1. All about fragments
      5. Adding animations to characters
        1. Animation files
        2. Importing intermediate Character Animation files
      6. Putting it all together
        1. Animation triggered by user input
        2. Automatic animations
      7. Summary
    12. 6. Creating Gameplay
      1. Understanding gameplay
      2. Getting started
      3. Exploring the Camera_Sample game
        1. Basic camera demo
        2. Balloon camera demo
        3. Character Controller mode
      4. Understanding the Flow Graph system and UI
        1. Flow Graph UI
          1. The pull-down menu system
            1. The File menu
            2. The Edit menu
            3. The View menu
            4. The Tools menu
            5. The Debug menu
          2. Hot keys
          3. Components pane
          4. Graphs pane
          5. Viewport
          6. Properties pane
          7. Search pane
          8. Search Results pane
          9. Breakpoints pane
          10. Multiplayer pane
        2. Game example review
          1. Chasing the rabbit
            1. Rabbit graph
            2. Mover_Capsule Graph
        3. Editing a Flow Graph
        4. Creating a new Flow Graph
      5. Summary
    13. 7. Creating Multiplayer Gameplay
      1. Multiplayer gameplay considerations
        1. The need for game servers
      2. Understanding AWS
        1. Becoming familiar with the AWS Management Console
        2. Getting started with Amazon GameLift
        3. Checking performance with the GameLift Dashboard
      3. Summary
    14. 8. Bringing Your Game to Life with Audio and Sound Effects
      1. Getting started with the Lumberyard Audio System
        1. Audio asset basics
        2. Wave Works Interactive Sound Engine
      2. Using sample asset packages
        1. BeachCity Asset package
        2. Legacy Game Sample
      3. Audio options
        1. Audio triggers
        2. Ambient (background) audio
        3. Adding sound effects
        4. Using source code for sound effects
      4. Audio Controls Editor
      5. Summary
    15. 9. Employing Cloud Computing and Storage
      1. The need for cloud-based solutions
        1. Cloud Canvas overview
        2. Amazon S3 overview
      2. Cloud Canvas in action
      3. Amazon S3 in action
        1. Amazon S3 API
      4. Summary
    16. 10. Engaging With Users Using Twitch
      1. Don't jerk, Twitch!
      2. Dissecting Twitch
        1. What is possible with Twitch?
          1. Creating custom chat commands
          2. Viewer polls and surveys
          3. Inviting targeted viewers to game sessions
        2. Creating a Twitch Channel
      3. Implementing the Twitch ChatPlay system
        1. Objective 1 - Creating a new game level
        2. Objective 2 - Twitch ChatPlay integration
        3. Objective 3 - Testing
      4. Understanding Twitch JoinIn
      5. Twitching with the Twitch API
      6. Summary
    17. 11. Providing Your Game to the World
      1. Taking your game beyond the Lumberyard Editor
        1. Xbox One
        2. PlayStation 4
        3. Publishing to Windows-based computers
      2. Generating game builds
        1. Release builds
        2. Debug and profile builds
      3. Lumberyard's testing tools
        1. AzTestScanner
        2. Statoscope Profiler
      4. Summary
    18. 12. Stretching Your Lumberyard Wings
      1. Virtual Reality and Augmented Reality
        1. VR hardware
        2. Setting up your VR project
        3. Flow Graph nodes that support VR
        4. Testing your VR games
      2. The Waf build system
      3. Lumberyard's cinematics system
        1. Using cameras in cinematics
        2. Making your cinematics interactive
      4. System streaming
      5. Memory handling
        1. Physical memory for the game
        2. Memory requirements for the targeted device
        3. Cloud-based storage requirements
      6. Amazon Web Services
        1. Simple Queue Service
        2. Simple Notification Service
      7. Summary