|
|
Books > Computing & IT > Computer software packages > Computer games
Utilize proven solutions to solve common problems in game
development About This Book * Untangle your game development
workflow, make cleaner code, and create structurally solid games *
Implement key programming patterns that will enable you to make
efficient AI and remove duplication * Optimize your game using
memory management techniques Who This Book Is For If you are a game
developer who wants to solve commonly-encountered issues or have
some way to communicate to other developers in a standardized
format, then this book is for you. Knowledge of basic game
programming principles and C++ programming is assumed. What You
Will Learn * Learn what design patterns are and why you would want
to use them * Reduce the maintenance burden with well-tested,
cleaner code * Employ the singleton pattern effectively to reduce
your compiler workload * Use the factory pattern to help you create
different objects with the same creation logic and reduce coding
time * Improve game performance with Object Pools * Allow game play
to interact with physics or graphics in an abstract way * Refractor
your code to remove common code smells In Detail You've learned how
to program, and you've probably created some simple games at some
point, but now you want to build larger projects and find out how
to resolve your problems. So instead of a coder, you might now want
to think like a game developer or software engineer. To organize
your code well, you need certain tools to do so, and that's what
this book is all about. You will learn techniques to code quickly
and correctly, while ensuring your code is modular and easily
understandable. To begin, we will start with the core game
programming patterns, but not the usual way. We will take the use
case strategy with this book. We will take an AAA standard game and
show you the hurdles at multiple stages of development. Similarly,
various use cases are used to showcase other patterns such as the
adapter pattern, prototype pattern, flyweight pattern, and observer
pattern. Lastly, we'll go over some tips and tricks on how to
refactor your code to remove common code smells and make it easier
for others to work with you. By the end of the book you will be
proficient in using the most popular and frequently used patterns
with the best practices. Style and approach This book takes a
step-by-step real-life case studies approach. Every pattern is
first explained using a bottleneck. We will show you a problem in
your everyday workflow, and then introduce you to the pattern, and
show you how the pattern will resolve the situation.
Build rich, high production value mobile games and distribute them
across different platforms with Buildbox About This Book * Create
captivating 2D & 2.5D (isometric) video games for all platforms
* Leverage Buildbox to monetize and prepare your games for
distribution * This step-by-step tutorial will get you generating
complex and media rich games with no coding experience Who This
Book Is For This book caters to those who have an interest or
desire to create their own mobile games either as a hobbyist or who
are looking to enhance their skills as a professional games
developer. No coding experience is required. What You Will Learn *
Create the illusion of a 3D background in your game using parallax
* Add advanced controls and obstacles to our first world * Develop
assets (graphic and audio) for the Buildbox engine * Design games
based on the capabilities and limitations of Buildbox and their
target platforms * Compile and distribute video games on various
channels such as Steam, iOS store, Android stores, and the Mac App
Store * Optimize your games to get the absolute best quality within
platform restrictions * Conquer common issues experienced with
Buildbox development In Detail Buildbox is an "any skill level"
development platform to develop video games with no coding
experience. It also exports these games to be compiled for any
platform (from Windows to Mac to iOS to Android and Blackberry) all
using the same graphic user interface. Using an example as a
tutorial, we will relate the driving principles and you'll see how
you can implement these principles to develop any games on the
platform. We begin by setting expectations and providing a brief
overview of the software. But it's not long before you "dive in" to
creating your first video game. You will actually have a playable
level ("world") by the end of the second chapter. Later on, you'll
learn everything from basic graphics creation to advanced world
design while you refine your first game, called "Ramblin' Rover."
All along the way, you will see how certain functions could be used
in tandem to create other types of games; hoping to spark
imagination. We will follow the principles and process of
monetization through ads and in-game rewards. Lastly, we will go
through the process of exporting, compiling, and preparing your
storefront to sell the games you will eventually create. Style and
approach This book follows a tutorial-based approach that teaches
through examples, while also providing the necessary principles to
enable you to abstract these principles into any game you want to
make.
Get to know techniques and approaches to procedurally generate game
content in C++ using Simple and Fast Multimedia Library About This
Book * This book contains a bespoke Simple and Fast Multimedia
Library (SFML) game engine with complete online documentation *
Through this book, you'll create games that are non-predictable and
dynamic and have a high replayability factor * Get a breakdown of
the key techniques and approaches applied to a real game. Who This
Book Is For If you are a game developer who is familiar with C++
and is looking to create bigger and more dynamic games, then this
book is for you. The book assumes some prior experience with C++,
but any intermediate concepts are clarified in detail. No prior
experience with SFML is required. What You Will Learn * Discover
the systems and ideology that lie at the heart of procedural
systems * Use Random number generation (RNG) with C++ data types to
create random but controlled results * Build levels procedurally
with randomly located items and events * Create dynamic game
objects at runtime * Construct games using a component-based
approach * Assemble non-predictable game events and scenarios *
Operate procedural generation to create dynamic content fast and
easily * Generate game environments for endless replayability In
Detail Procedural generation is a growing trend in game
development. It allows developers to create games that are bigger
and more dynamic, giving the games a higher level of replayability.
Procedural generation isn't just one technique, it's a collection
of techniques and approaches that are used together to create
dynamic systems and objects. C++ is the industry-standard
programming language to write computer games. It's at the heart of
most engines, and is incredibly powerful. SFML is an easy-to-use,
cross-platform, and open-source multimedia library. Access to
computer hardware is broken into succinct modules, making it a
great choice if you want to develop cross-platform games with ease.
Using C++ and SFML technologies, this book will guide you through
the techniques and approaches used to generate content procedurally
within game development. Throughout the course of this book, we'll
look at examples of these technologies, starting with setting up a
roguelike project using the C++ template. We'll then move on to
using RNG with C++ data types and randomly scattering objects
within a game map. We will create simple console examples to
implement in a real game by creating unique and randomised game
items, dynamic sprites, and effects, and procedurally generating
game events. Then we will walk you through generating random game
maps. At the end, we will have a retrospective look at the project.
By the end of the book, not only will you have a solid
understanding of procedural generation, but you'll also have a
working roguelike game that you will have extended using the
examples provided. Style and approach This is an easy-to-follow
guide where each topic is explained clearly and thoroughly through
the use of a bespoke example, then implemented in a real game
project.
Master the advanced concepts of game development for iOS to build
impressive games About This Book * Create a complete game with
advanced techniques through the course of the book using in-depth,
hands-on instructions * Learn how to multi-task and improve
performance optimization in your game playing experience * The
author, Miguel, has 11 years of iOS game development using xcode
and has released over 10 games to the Apple AppStoreMaster player
movement using touch controls as well as discuss motion controls
Who This Book Is For This book is for those who have created an iOS
game already and want to hone their skills. A reasonable level of
knowledge and an understanding of the core elements and
applications would be helpful. What You Will Learn * Blast off and
start developing fun games * Optimize the assets for the best
performance in the game app * Master player movement using touch
controls as well as discuss motion controls * Perform bug Squashing
by testing and debugging * Design interesting various characters
and enemies for your game * Test your game on both, the simulator
on the computer and on real devices * Tweak and fine tune the code
and graphics before the release of your app * Uncover some awesome
new gameplay by adding in multiplayer elements, to get more people
playing together In Detail iOS is an operating system for Apple
manufactured phones and tablets. Mobile gaming is one of the
fastest-growing industries, and compatibility with iOS is now
becoming the norm for game developers. SpriteKit is part of the
native SDK from Apple, and enables developers to make simple entry
into game development without unnecessary overhead and a long
learning process. SpriteKit also provides other functionality that
is useful for games, including basic sound playback support and
physics simulation. In addition, Xcode provides built-in support
for SpriteKit so that you can create complex special effects and
texture atlases directly in Xcode. This combination of framework
and tools makes SpriteKit a good choice for games and other apps
that require similar kinds of animation. Become a master in iOS
game development through this fast and fun guide! In the beginning,
we'll tell you everything you need to plan and design your game.
You'll then start developing your game through step-by-step
instructions using the various built-in technologies of Xcode. From
there on, we discuss how to deploy your game to the iOS App Store,
as well as monetizing it to make more revenue. You will also learn
advanced techniques to improve your game playing experience,
including better multi-tasking, improved performance optimization,
battery management, and more. To end the book off, we'll show you
how to update your game with different features, then port the
update to the App Store. Style and approach This book provides an
easy-to-understand and fun approach to game development, with
step-by-step instructions and detailed explanation of each block of
code. The topics covered range from easy to advanced, so buckle up
for a fast-paced ride!
Over 50 hands-on recipes to help you efficiently administer and
maintain your games with Cocos2d-x About This Book * Build exciting
games, apps, and other cross-platform GUI based interactive
programs with Cocos2d-x * Explore the nitty-gritty of the latest
Cocos2d-x on the block, version 3.6 * A step-by-step guide that
shows you the functionalities of Cocos2d-x followed by an
explanation of how they work Who This Book Is For If you are a game
developer and want to learn more about cross-platform game
development in Cocos2d-x, then this book is for you. Knowledge of
C++, Xcode, Eclipse, and how to use commands in the terminal are
prerequisites for this book. What You Will Learn * Install and set
up Cocos2d-x for your development environment * Build, test, and
release game applications for iOS and Android * Develop your games
for multiple platforms * Customize Cocos2d-x for your games * Use a
physical engine in your games * Save and load text, JSON, XML, or
other formats * Explore the brand new features of Cocos2d-x In
Detail Cocos2d-x is a suite of open source, cross-platform
game-development tools used by thousands of developers all over the
world. Cocos2d-x is a game framework written in C++, with a thin
platform-dependent layer. Completely written in C++, the core
engine has the smallest footprint and the fastest speed of any
other game engine, and is optimized to be run on all kinds of
devices. You will begin with the initial setup and installation of
Cocos2d before moving on to the fundamentals needed to create a new
project. You will then explore and create the sprites, animations,
and actions that you will include in the game. Next you will look
at strings and create labels, including a label with True Type Font
(TTF) font support. Later, you will learn about layer and scene
creation and transition. Then you will create the GUI parts
essential for a game, such as buttons and switches. After that, you
will breathe life into the game with background music and sound
effects using the all new Cocos2d-x audio engine. You will then
discover how to manage resource files and implement processes that
depend on the operating system. Finally, you will polish your game
with physics such as gravity and elevation, learn about tools that
will help you make games more robust and stable, and get to know
best practices to improve the game you have developed. Style and
approach This book is an easy-to-follow guide with ample recipes to
help you better understand Cocos2d-x.
Build a tower defense game and earn delectable C# treats by baking
cupcakes and fighting fearsome sweet-toothed pandas About This Book
* Build a complete and exciting 2D Tower Defense game from scratch.
* Understand and learn to perform each phase of the game
development pipeline * Homework and exercises to improve your
skills and take them to the next level Who This Book Is For If you
are looking forward to get started with 2D game development, either
if you are a newcomer to this world, or you came from 3D games or
other game engines, this book is for you. Although there are many
references to other resources throughout the book, it is assumed
that you have a general understanding of C# and its syntax and
structure. What You Will Learn * Import and set up assets for 2D
game development * Design and implement dynamic and responsive User
Interfaces * Create and handle complex animation systems * Unlock
all the potentiality of the physics engine * Implement Artificial
Intelligence algorithms to give intelligence to your NPCs * Script
gameplay and overall bring your ideas to life In Detail Want to get
started in the world of 2D game development with Unity? This book
will take your hand and guide you through this amazing journey to
let you know exactly what you need to build the games you want to
build, without sacrificing quality. You will build a solid
understanding of Unity 5.x, by focusing with the embedded tools to
develop 2D games. In learning about these, along with accurate
explanations and practical examples, you will design, develop,
learn how to market and publish a delectable Tower Defense game
about cupcakes versus pandas. Each chapter in this book is
structured to give you a full understanding on a specific aspect of
the workflow pipeline. Each of these aspects are essential for
developing games in Unity. In a step-by-step approach, you will
learn about each of the following phases: Game Design, Asset
Importing, Scripting, User Interfaces, Animations, Physics,
Artificial Intelligence, Gameplay Programming, Polishing and
Improving, Marketing, Publishing and much more. This book provides
you with exercises and homework at the end of each chapter so that
you can level up your skills as a Unity game developer. In
addition, each of these parts are centered on a common point of
discussion with other learners just like you. Therefore, by sharing
your ideas with other people you will not only develop your skills
but you will also build a network. Style and approach This is a fun
step-by-step approach in the whole pipeline of 2D game development
in Unity, which is explained in a conversational and easy-to-follow
style. Each topic is explained sequentially, allowing you to
experience both basics and advanced features of Unity. By doing
this, the book is able to provide you with a solid grasp on each of
the topics. In this way, by engaging with the book's content,
exploring the additional references to further readings and
completing the homework sections, you are able to challenge
yourself and apply what you know in a variety of ways. Once you
have finished reading this book, you will be well on your way to
developing games from start to finish!
Put Unity to use for your video games by creating your own custom
tools with editor scripting About This Book * Acquire a good
understanding of extending Unity's editor capabilities for a
platformer game by using Gizmos, custom inspectors, editor windows,
scriptable objects, and more * Learn to configure and get control
over your asset import pipeline using asset preprocessors * A
step-by-step, comprehensible guide to creating and customizing a
build pipeline that fits the necessities of your video game
development team Who This Book Is For This book is for anyone who
has a basic knowledge of Unity programming using C# and wants to
learn how to extend and create custom tools using Unity editor
scripting to improve the development workflow and make video game
development easier. What You Will Learn * Use Gizmos to create
visual aids for debugging * Extend the editor capabilities using
custom inspectors, property and decorator drawers, editor windows,
and handles * Save your video game data in a persistent way using
scriptable objects * Improve the look and feel of your custom tools
using GUIStyles and GUISkins * Configure and control the asset
import pipeline * Improve the build creation pipeline * Distribute
the custom tools in your team or publish them in the Asset Store In
Detail One of Unity's most powerful features is the extensible
editor it has. With editor scripting, it is possible to extend or
create functionalities to make video game development easier. For a
Unity developer, this is an important topic to know and understand
because adapting Unity editor scripting to video games saves a
great deal of time and resources. This book is designed to cover
all the basic concepts of Unity editor scripting using a functional
platformer video game that requires workflow improvement. You will
commence with the basics of editor scripting, exploring its
implementation with the help of an example project, a level editor,
before moving on to the usage of visual cues for debugging with
Gizmos in the scene view. Next, you will learn how to create custom
inspectors and editor windows and implement custom GUI.
Furthermore, you will discover how to change the look and feel of
the editor using editor GUIStyles and editor GUISkins. You will
then explore the usage of editor scripting in order to improve the
development pipeline of a video game in Unity by designing ad hoc
editor tools, customizing the way the editor imports assets, and
getting control over the build creation process. Step by step, you
will use and learn all the key concepts while creating and
developing a pipeline for a simple platform video game. As a bonus,
the final chapter will help you to understand how to share content
in the Asset Store that shows the creation of custom tools as a
possible new business. By the end of the book, you will easily be
able to extend all the concepts to other projects. Style and
approach This book uses a step-by-step approach that will help you
finish with a level editor tool, a custom configuration for the
asset import pipeline, and a build pipeline totally adjusted to the
video game.
Learn how to create your very own game using the libGDX
cross-platform framework About This Book * Learn the core features
of libGDX to develop your own exciting games * Explore game
development concepts through example projects * Target games for
major app stores quickly and easily with libGDX's cross-platform
functionality Who This Book Is For This book is intended for those
who wish to learn the concepts of game development using libGDX. An
understanding of Java and other programming languages would
definitely be helpful, although it is not a must. What You Will
Learn * Create and configure a libGDX project to get started with
making games * Get to grips with a simple game loop that will drive
your games * Manage game assets to reduce code duplication and
speed up development * Pack game assets together into single assets
to increase your game's performance * Display textures on the
screen and manipulate them with play input * Play various types of
sounds that a game can generate * Design and modify a game user
interface with libGDX's built-in tools * Develop a game that will
run across various platforms In Detail LibGDX is a cross-platform
game development framework in Java that makes game programming
easier and fun to do. It currently supports Windows, Linux, Mac OS
X, Android, and HTML5. With a vast feature set on offer, there
isn't a game that can't be made using libGDX. It allows you to
write your code once and deploy it to multiple platforms without
modification. With cross-platform delivery at its heart, a game can
be made to target the major markets quickly and cost effectively.
This book starts with a simple game through which the game update
cycle is explained, including loading textures onto your screen,
moving them around, and responding to input. From there you'll move
on to more advanced concepts such as creating a formal game
structure with a menu screen, adding a game screen and loading
screen, sprite sheets, and animations. You'll explore how to
introduce a font to optimize text, and with the help of a game that
you'll create, you'll familiarise yourself with the 2D tile map API
to create worlds that scroll as the characters move. In the final
sample game of the book, you'll implement a basic version of an
Angry Birds clone, which will allow you to use the physic library
box2D that libGDX provides access to. An overview of exporting
games to different platforms is then provided. Finally, you will
discover how to integrate third-party services into games and take
a sneak peak at the Social Media API to get a basic understanding
of how it fits into the libGDX ecosystem. Style and approach With
this book you'll learn game development with libGDX through example
game projects. You'll finish the book with a thorough understanding
of libGDX game development, along with completed games that you'll
have built yourself.
|
|