39,59 €
A step-by-step guide that paves the way for developing fantastic games with Unreal Engine 4
If you are new to game development and want to learn how games are created using Unreal Engine 4, this book is the right choice for you. You do not need prior game development experience, but it is expected that you have played games before. Knowledge of C++ would prove to be useful.
Unreal Engine 4 is a powerful game development engine that provides rich functionalities to create 2D and 3D games across multiple platforms. Many people know what a game is and they play games every day, but how many of them know how to create a game? Unreal Engine technology powers hundreds of games, and thousands of individuals have built careers and companies around skills developed using this engine.
Learning Unreal Engine 4 Game Development starts with small, simple game ideas and playable projects that you can actually finish. The book first teaches you the basics of using Unreal Engine to create a simple game level. Then, you'll learn how to add details such as actors, animation, effects, and so on to the game. The complexity will increase over the chapters and the examples chosen will help you learn a wide variety of game development techniques. This book aims to equip you with the confidence and skills to design and build your own games using Unreal Engine 4. By the end of this book, you'll have learnt about the entire Unreal suite and know how to successfully create fun, simple games.
This book explains in detail what goes into the development of a game, provides hands-on examples that you can follow to create the different components of a game, and provides sufficient background/theory to equip you with a solid foundation for creating your own games.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 249
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: February 2016
Production reference: 1240216
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78439-815-6
www.packtpub.com
Author
Joanna Lee
Reviewers
Michele Bertolini
Kyle Langley
Daniel Jonathan Valik
Commissioning Editor
Edward Bowkett
Acquisition Editor
Subho Gupta
Content Development Editor
Preeti Singh
Technical Editor
Ankita Thakur
Copy Editor
Sonia Cheema
Project Coordinator
Shweta H. Birwatkar
Proofreader
Safis Editing
Indexer
Tejal Daruwale Soni
Production Coordinator
Nilesh Mohite
Cover Work
Nilesh Mohite
Joanna Lee has more than 8 years of experience in game development. She has designed and programmed various video games. She first started working with Unreal's game engine in 2005 and is very excited to be able to author a book about the newest Unreal Engine 4. She has also worked with many other engines as well as reviewed books and videos on Cry Engine 4.
I would like to thank my parents and sister for their constant support in my game development journey and my brother, Jerome, who first drew me into the world of gaming. I also want to thank all my ex-colleagues and managers for their patience while teaching me about developing games and making each work day a pleasure.
Lastly, I would also like to thank the amazing team at Packt Publishing for guiding me through the publishing process and making this book possible.
Michele "Budello" Bertolini always had a passion for videogames, but his way into the industry had been long and strange. In his youth, he was more interested in becoming a professional volleyball player despite studying computer science and computer graphics.
Then, he stopped growing and he only had one choice left.
Michele's education and background are strongly technical due to his master's in computer engineering degree. Through the course of his career, he's developed various artistic skills, passing drawing and photography courses. He's also a keen observer of nature. He thinks of himself as a technical guy with a good taste.
34BigThings is a small indie company based in Turin, Italy. Currently, it's involved in two titles: Redout, a tribute to old racing monsters, such as F-Zero, WipeOut, Rollcage, and POD and Hyperdrive Massacre, an 80s inspired multiplayer fragfest for up to four local players, which is focused on kinesthetic, tactical, and shooting skills.
I'd like to thank all the guys and gals in 34BigThings: first friends, then coworkers.
Kyle Langley is a self-taught game designer currently working for Vex Studios. He has also worked with Emotional Robots Inc, Sony Online Entertainment, and High Moon Studios. He is the author of Learn Programming With Unreal Script, which is aimed at teaching beginners the concept of object-oriented programming as well as the initial aspects of programming for the Unreal Development Kit. He was also the technical reviewer of Source SDK Game Development Essentials, Packt Publishing. You can find more about him on his website (www.dotvawxgames.com).
Daniel Jonathan Valik is an industry expert in the areas of Unified/Universal Communications, IaaS, SaaS, DevOps, Cloud Native Apps, WebRTC, Cloud Voice and Business Voice, mobile computing, social networking and UC-enabled Contact Center technologies. Daniel has driven these topics for more than 15 years in the IT and telecommunication industries, and he has also lived and worked in different regions, such as Europe, Southeast Asia, and the United States. Daniel is currently a senior technical product marketing manager for Cloud Native Apps, DevOps and Cloud Technologies at the VMWare HQ in Palo Alto, California. He was previously the senior technical product marketing manager for the Skype Developer Platform and Skype for Business Online at the Skype/Microsoft HQ in Redmond, Washington, USA. As part of the Skype product team, Daniel drove the positioning of Skype for Business, Online, Developer Platform, a UC-enabled contact center, and other emerging technologies. He holds a number of technical certifications, including Microsoft Certified Trainer; he has a double master's degree (MBA), a master's degree (MAS) in general business, and additionally holds a degree in international business management.
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://www2.packtpub.com/books/subscription/packtlib
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can search, access, and read Packt's entire library of books.
If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view 9 entirely free books. Simply use your login credentials for immediate access.
Many people know what a game is, and a lot of people play games every day. But how many people know how to create a game? Game development using Unreal Engine 4 allows aspiring game creators to develop professional-looking games quickly. Unreal Engine 4 provides very polished game development tools and capabilities that allow vast amounts of customization for almost any game that you can dream of.
Chapter 1, An Overview of Unreal Engine, covers introductory content about what a game engine is, specifically for Unreal Engine 4 and its history. You will get an overview of the features of Unreal Engine 4 and how it can help you to create a game.
Chapter 2, Creating Your First Level, explains how to create your first room using the Box Brush, add materials to texture the walls/floor, and learn how to place static objects to enhance the look of the room.
Chapter 3, Game Objects – More and Move, covers the structure of a simple object type, known as Static Mesh, and how objects in Unreal interact with one another. This chapter also introduces Blueprints, which is the graphical scripting of Unreal Engine 4.
Chapter 4, Material and Light, shows you how to customize your level in greater detail by learning how to create your own basic custom Material and how to use simple lights to light up the interior of the level.
Chapter 5, Animation and AI, covers how animation works in Unreal Engine and how to implement simple AI in your game level.
Chapter 6, A Particle System and Sound, explains how to add visual and sound effects to your level.
Chapter 7, Terrain and Cinematics, shows you how to add the final touches to your level using terrain manipulation and cinematics.
You will need to create a free account with Epic Games to start using Unreal Engine 4.
This book is meant for those of you who are new to game development and want to learn how games are created.
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: "In my case, it will be Chapter2Level."
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: "The Modes window gives you the power to create and place objects into the game world."
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 from your account at http://www.packtpub.com for all the Packt Publishing books you have purchased. 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.
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/LearningUnrealEngineGameDevelopment_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 ErrataSubmissionForm 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.
First of all, thank you for picking up this book. I am sure you are excited to learn how to make your own game. In this chapter, I will run you through the different fundamental components in a game and what Unreal Engine 4 offers to help you make your dream game.
The following topics will be covered in this chapter:
When you play a game, you probably are able to identify what needs to go into a game. In a simple PC shooting game example, when you press the left mouse button, the gun triggers. You see bullets flying, hear the sound of the gun and look around to see if you have shot anything. If you did hit something, for example, a wall, the target receives some form of damage.
As a game creator, we need to learn breakdown what we see in a game to figure out what we need for a game. A simple breakdown without going into too much detail: link the mouse click to the firing of the bullets, play a sound file that sounds like a gun firing, display sparks (termed as particle effect) near the barrel of the gun and the target shows some visible damage.
Bearing this example in mind, try visualizing and breaking any game down into its fundamental components. This will greatly help you in designing and creating a game level.
There is a lot going on behind the scenes when you are playing a game. With the help of Unreal Engine, the interaction of the many components has been designed and you will need to customize it for your own game. This is a huge time saver when you use an engine to create a game.
What a game engine does is that it provides you with tools and programs to help you customize and build a game; it gives you a head-start in making your own game. Unreal Engine is one of the more popular choices in the market currently and it is free for anyone to use for development (royalties need to be paid only if your game makes a profit; visit https://www.unrealengine.com/custom-licensing for more information). Its popularity is mainly due to its extensive customizability, multiplatform capabilities, and the ability to create high quality AAA games with it. If you intend to start a career in game development, this is definitely one of the engines you want to start playing with and using to build your portfolio.
Before explaining what this amazingly powerful game engine can do and how it works, let us take a short trip back into the past to see how UE came about and how it has evolved into what we have today.
For gamers, you are probably familiar with the Unreal game series. Do you know how the first Unreal game was made? The engineers at Epic Games built an engine to help them create the very first Unreal game. Over the years, with the development of each generation the Unreal game series, more and more functionalities were added to the engine to aid in the development of the game. This, in turn, increased UE's capabilities and improved the game engine very quickly over the years.
In 1998, the first version of UE made the modding of a first player shooting game possible. You could replace Unreal content using your own and tweak the behavior of the non-player characters (NPCs), also known as bots (players that are controlled by the computer through artificial intelligence) using UnrealScript. Then multiplayer online features were added into UE through the development of Unreal Tournament, which is an online game. This game also added PlayStation 2 to the list of compatible platforms in addition to the PC and Mac.
By 2002, UE had improved by leaps and bounds, bringing it into the next generation with the development of a particle system (a system to generate effects such as fog and smoke), static mesh tools (tools to manipulate objects), a physics engine (allows interaction between objects such as collisions) and a Matinee (a tool to create cut scenes, which is a brief, non interactive movie). This improvement saw to the development of the Unreal Championship and Unreal Tournament 2003. The release of Unreal Championship also added the Xbox game console to the list, with multiplayer capabilities in Xbox Live.
The development of Epic's next game Unreal II: The Awakening edged UE forward with an animation system and overall improvement with their existing engine. The development of faster Internet speeds in the early 2000s also increased the demand of multiplayer online gaming. Unreal Tournament 2004 allowed players to engage in online battles with one another. This saw the creation of vehicles and large battlefields, plus improvements in online network capabilities. In 2005, the release of Unreal Champion 2 on the Xbox game console reinforced UE capabilities on the Xbox console. It also saw the creation of a very important feature of a new third-person camera. This opened up greater possibilities in the types of games that could be created using the engine.
Gears of War, one of the most well-known franchises in the video games industry, pushed Epic Games to create and release the third version of its game engine, Unreal Engine 3, in 2006.
The improvement of the graphics engine used DirectX 9/10 to allow more realistic characters and objects to be made. The introduction of Kismet, which is a visual scripting system, allowed game and level designers to create game play logic for more engaging combat play without having to delve into writing codes. Platform capabilities of UE3 include Xbox360 and PlayStation 3 was added. There was a revamp in the light control and materials. UE3 also had a new physics engine. Gears of War 2 released in 2008 saw the progressive improvements to UE3. In 2013, the Gears of War Judgment was released.
PC online gaming was also under the radar of Epic Game's developers. In 2009, Atlas Technology was released to be used in conjunction with UE to allow massively multiplayer online games (MMOG) to be created.
The increasing demand of mobile gaming also led to UE3 being pushed in the direction of increasing its supportability for various mobile platforms. All these advancements and technological capabilities have made UE3 the most popular version of Unreal Engine and it is still very widely used today.
UE3 dominated the market for 8 years until UE4 came along. UE4 was launched in 2014 and introduced the biggest change by replacing Kismet with the new concept of Blueprint. We will discuss more about the features of UE4 later in the chapter.
Each game studio has its own set of processes to ensure the successful launch of its game. Game production typically goes through several stages before a game is launched. In general, there is a preproduction/planning, production stage, and postproduction stage. Most of the time is normally spent in the production stage.
Game development is an iterative process. The birth of an idea is the start of this process. The idea of the game must first be tested to see if it is actually fun to the target audience. This is done through prototyping the level quickly. Iterations of this prototype into a fully-fledged game can go from weeks to months to years.
The development team takes care of this iteration process. Everyone's contribution of the game throughout the development cycle directly affects the game and its success.
Development teams loosely consist of several specialized groups: artists (2D/3D modeler, animator), cinematic creators, sound designers, game designers, and programmers.
They create all visible objects in the game from menu buttons to the trees in the game level. Some artists specialize in 3D modeling, while others are focused on animation. Artists make the game look beautiful and realistic. Artists have to learn how to import their created images/models, which are normally created first using other software such as 3DMax, Maya, and MODO into UE4. They would most likely need to make use of Blueprint to create certain custom behaviors for the game.
Many cinematic experts are also trained artists. They have a special eye and creative skills to create short movie scenes/cut scenes. The Matinee tool in UE4 will be what they would be using most of the time.
Sound designers have an acute sense of hearing and they are mostly musically trained. They work in the sound labs to create custom sounds/music for the game. They are in charge of importing sound files into UE4 to be played at suitable instances in the game. When using UE4, they would be spending most of their time using the Sound Cue Editor.
Designers determine what happens in the game, what goes on in the game, and what the game will be about. In the planning stage, most of the time will be spent in discussion, presentations, and documentation. In the production stage, they will oversee the game prototyping process to ensure that the game level is created as designed. Very often designers spend their time in the Unreal Editor to customize and fine-tune the level.
They are the group that looks into the technology and software the team needs to create the game. In pre-production, they are responsible for deciding which software programs are required and are capable of creating the game. They also have to ensure that the different software used are compatible with one another. Programmers also write codes to make the objects created by the artist come alive according to the idea that the designers came up with. They program the rules and functionality of the game. Some programmers are also involved in creating tools and research for the games. They are not directly involved in creating the game but instead are supporting the production pipeline. Games with extreme graphics usually have a team of researchers optimizing the graphics and creating more realistic graphics for the game. They spend most of their time in codes, probably coding in Visual Studio using C++. They are also able to modify and extend the features of UE4 to support the needs of the game that they are developing.
Unreal Engine
