33,59 €
Create stunning 3D multiplayer games with integrated cloud-based features
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.
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.
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.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 221
Veröffentlichungsjahr: 2016
Copyright © 2016 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: October 2016
Production reference: 1211016
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-78646-086-8
www.packtpub.com
Author
Dr.Edward Lavieri
Copy Editor
Safis Editing
Reviewer
Randy Lutcavich
Project Coordinator
Ritika Manoj
Commissioning Editor
Ashwin Nair
Proofreader
Safis Editing
Acquisition Editor
Anurag Banerjee
Indexer
Tejal Daruwale Soni
Content Development Editor
Sachin Karnani
Graphics
Abhinash Sahu
Technical Editor
Sachit Bedi
Production Coordinator
Melwyn Dsa
Dr. Edward Lavieri is a veteran game designer and developer with a strong academic background. He earned a doctorate in computer science from Colorado Technical University and three Master of Science degrees in Management Information Systems (Bowie State University), Education – Instructional Design (Capella University), and Operations Management (University of Arkansas), demonstrating his passion for academic pursuits. He has developed and taught computer-related courses since 2002. Edward retired from the U.S. Navy after 25 years as an Intelligence Specialist and Command Master Chief.
Edward has authored Adaptive Learning for Educational Game Design, Getting Started with Unity 5, LiveCode Mobile Development Hotshot, LiveCode Mobile Development Cookbook, Software Consulting: A Revolutionary Approach, and was the technical editor of the Excel Formulas and Functions for Dummies book. He has also authored numerous computer science and information systems college courses.
To IBB, my ride or die.
Randy Lutcavich is a software engineer focused on leveling up his skills in mobile and gaming technology. As the cofounder of WiNF Studios LLC, he creates games for all. You can follow him on Twitter at @WiNF_Randy.
For support files and downloads related to your book, please visit www.PacktPub.com.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details.
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
https://www.packtpub.com/mapt
Get the most in-demand software skills with Mapt. Mapt gives you full access to all Packt books and video courses, as well as industry-leading tools to help you plan your personal development and advance your career.
As you can guess from the title of the book, this book is designed to introduce game developers to Lumberyard. Lumberyard is a new, open source 3D game engine that provides game developers with the ability to create live multiplayer games with the integration of key Amazon Web Services.
This book teaches the reader how to use Lumberyard to create a multiplayer 3D game with cloud computing and storage and with Twitch integration for its user engagement.
This book will start with an introduction to Lumberyard and an overview of its capabilities and integration options. Once the game engine is installed, the book guides the reader through the creation of an immersive game world with characters. Animations and audio will be added to help bring the game to life. External interactions will be explored to support live multiplayer game play, data storage, user engagement, and backend support.
Chapter 1, Welcome to the Lumberyard, will give you an initial look at Lumberyard and why it is unique among other game engines. We install the game engine and explore the user interface.
Chapter 2, Planning Your Game in the Lumberyard, will look into Lumberyard's beta release history and explore how that impacts your development efforts. We will also preview game functionality that we will create in subsequent chapters, look at game design for Lumberyard games, and explore how to plan the development process.
Chapter 3, Constructing an Immersive 3D Game World, will help you create a game world with trees, a river, hills, mountain, light sources, and shadows. In order to test our game, we will create a player-character and a camera.
Chapter 4, Creating 3D Characters, will help you to add 3D characters to a game. We also explore Geppetto and its user interface.
Chapter 5, Animating Your Characters, will examine the process of animating our game characters using Mannequin, Lumberyard's animation tool. This chapter covers Mannequin's user interface and its functionality.
Chapter 6, Creating Gameplay, will help in making your game interactive. In order to do, we need to create gameplay components. That is the focus of this chapter along with an introduction to Flow Graphs and the Flow Graph User Interface.
Chapter 7, Creating Multiplayer Gameplay, will examine the requirements of creating a multiplayer game in Lumberyard. We will also explore Amazon GameLift.
Chapter 8, Bringing Your Game to Life with Audio and Sound Effects, will explore Lumberyard's Audio System. We will look at the complexity of Lumberyard audio and examine the components of the Lumberyard Audio System.
Chapter 9, Employing Cloud Computing and Storage, further explores Amazon Web Servicesand reviews two additional Web Services: Cloud Canvas and Amazon Simple Storage Service.
Chapter 10, Engaging With Users Using Twitch, will take a singular look at Twitch, the Amazon Web Service that allows people to watch live game streaming. You will learn how to implement Twitch functionality for in-game user interactions.
Chapter 11, Providing Your Game to the World, will provide you with an overview of the steps necessary to publish your game once it is completed. Specifically, we will look at game builds, how to test them, debug them, and release them.
Chapter 12, Stretching Your Lumberyard Wings, will explore various possibilities with Lumberyard, beyond the basics. We will explore concepts, such as Virtual Reality (VR), the Waf Build System, Lumberyard's cinematics System, System Streaming, and Memory Handling. We will also explore two additional Amazon Web Services (Simple Query Service and Simple Notification Service).
This book is intended for use alongside a computer running Lumberyard. The Lumberyard Editor is therefore required to fully realize the benefits of this book. Lumberyard can run on a PC with the following minimum system requirements:
At the time of this book’s release, Lumberyard beta 1.5 was the most current version available. There might be slight differences in user interface components between the illustrations in this book and the actual Lumberyard interface.
This book caters to current and future game developers who have an interest in creating immersive, high-quality 3D games with live, multiplayer features. The book is written with the assumption that the reader will have some knowledge of a game design and software development. Experience with C++ is beneficial, but not required.
In this book, you will find a number of text styles that distinguish between different kinds of information. Here are some examples of these styles and an explanation of their meaning.
Code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles are shown as follows: "There are five areas of the Mannequin interface."
New terms and important words are shown in bold. Words that you see on the screen, for example, in menus or dialog boxes, appear in the text like this: "These files have a *.i_caf file extension."
Warnings or important notes appear in a box like this.
Tips and tricks appear like this.
Feedback from our readers is always welcome. Let us know what you think about this book-what you liked or disliked. Reader feedback is important for us as it helps us develop titles that you will really get the most out of. To send us general feedback, simply e-mail [email protected], and mention the book's title in the subject of your message. If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide at www.packtpub.com/authors.
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
You can download the example code files for this book 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 files e-mailed directly to you.
You can download the code files by following these steps:
Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:
The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Learning-AWS-Lumberyard-Game-Development. We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!
We also provide you with a PDF file that has color images of the screenshots/diagrams used in this book. The color images will help you better understand the changes in the output. You can download this file from http://www.packtpub.com/sites/default/files/downloads/LearningAWSLumberyardGameDevelopment_ColorImages.pdf.
Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books-maybe a mistake in the text or the code-we would be grateful if you could report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded to our website or added to any list of existing errata under the Errata section of that title.
To view the previously submitted errata, go to https://www.packtpub.com/books/content/support and enter the name of the book in the search field. The required information will appear under the Errata section.
Piracy of copyrighted material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works in any form on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.
Please contact us at [email protected] with a link to the suspected pirated material.
We appreciate your help in protecting our authors and our ability to bring you valuable content.
If you have a problem with any aspect of this book, you can contact us at [email protected], and we will do our best to address the problem.
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:
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.
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.
Amazon recommends a system with the following specifications for developing games with Lumberyard:
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.
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:
If you see Modify Setup when you run the installer, it indicates you have already installed Lumberyard.
If you have a firewall running on your computer, you might be prompted to grant access for Lumberyard to make changes to your computer.
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:
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:
Depending on your version of Lumberyard, you might need to uncheck the Run your game project option.
