Book description
In Pro Unity Game Development with C#, Alan Thorn, author of Learn Unity for 2D Game Development and experienced game developer, takes you through the complete C# workflow for developing a cross-platform first person shooter in Unity. C# is the most popular programming language for experienced Unity developers, helping them get the most out of what Unity offers. If you're already using C# with Unity and you want to take the next step in becoming an experienced, professional-level game developer, this is the book you need.
Whether you are a student, an indie developer, or a season game dev professional, you'll find helpful C# examples of how to build intelligent enemies, create event systems and GUIs, develop save-game states, and lots more.
You'll understand and apply powerful programming concepts such as singleton classes, component based design, resolution independence, delegates, and event driven programming.
By the end of the book, you will have a complete first person shooter game up and running with Unity. Plus you'll be equipped with the know-how and techniques needed to deploy your own professional-grade C# games.
If you already know a bit of C# and you want to improve your Unity skills, this is just the right book for you.
What you'll learn
How to plan your game in terms of C# and classes
How to import assets from Blender and Maya, including C# automation processes
How to handle events and notifications using a C# event notification system
How to create intelligent enemies and collectible weapons
How to build a cross-platform controller as well as how to write platform-specific code
How to develop a resolution-independent graphical user interface
Who this book is for
If you already know a bit of C# and you want to improve your Unity skills, this is just the right book for you. Unity developers looking to improve their C# workflow and effectiveness, including game development students and professionals, indie developers, artists, designers, and those employed at game development studios.
Table of contents
- Title Page
- Contents at a Glance
- Contents
- About the Author
- About the Technical Reviewer
- Acknowledgments
- Introduction
-
Chapter 1: Designing and Preparing
- Designing
- Game Overview
- Game in Depth
- Developing the Design: Looking Ahead
- Game Development Workflows
- Tip #1: Interface Layout
- Tip #2: Dual-Monitors
- Tip #3: Be Organized
- Tip #4: Show Project Wizard on Start-up
- Tip #5: Use FBX Meshes
- Tip #6: Disable Ambient Lighting
- Tip #7: Use Root GameObjects
- Tip #8: Incremental Backups
- Tip #9: Batch Renaming
- Tip #10: Showing Empty Objects in the Editor
- Tip #11: Use the Stats Panel
- Tip #12: Testing Resolution and Aspect Ratio
- Conclusion
-
Chapter 2: Getting Started
- Step 1: Create Folders
- Step 2: Importing Textures and Meshes
- Step 3: FBX Meshes and Scale Factor
- Step 4: Configuring Meshes
- Step 5: Planning and Configuring Textures
- Step 6: Building Sprites
- Step 7: Importing Audio
- Step 8: Create Prefabs
- Step 9: Scene Building
- Step 10: Lighting and Lightmapping
- Step 11: Building a Navigation Mesh
- Conclusion
-
Chapter 3: Event Handling
- Events and Responses
- Event Handling
- Planning Event Handling
- Planning a Dedicated Event-Handling System
- Getting Started with NotificationsManager
- Keeping Track of Notifications with .NET Dictionaries
- Generic Classes and C#
- Registering As a Listener
- Posting Notifications
- SendMessage and BroadcastMessage
- Removing Listeners
- Removing Redundancies
- Completing NotificationsManager
- Working with the NotificationsManager
- Conclusion
-
Chapter 4: Power-Ups and Singletons
- Creating the Cash Power-Up
- Power-Ups and Billboards
- Billboards and Cached Transforms
- Billboards and Rotation
- Billboards and Bobbing
- Coroutines
- Power-Up Motion with Coroutines and deltaTime
- Exploring deltaTime
- Completing Power-Up Bobbing
- Power-Up Collision
- Handling Collision Events: Getting Started
- Collisions and Responses
- Introducing the GameManager
- GameManager and Singletons
- GameManager and Event Handling
- Completing the Cash Power-Up
- Making a Prefab from the Completed Power-Up
- Creating Other Prefabs
- Conclusion
-
Chapter 5: Player Controller
- Character Controllers and the First Person Controller
- Multiplatform Development
- Beginning the Universal First Person Controller
- Platform Dependent Compilation
- Head Bobbing and Sine Waves
- First-Person Capsule Mesh
- Handling Cash Collection
- Life and Death: Getting Started
- Making Death: Scripting with Mecanim
- Implementing Health
- Health and Damage: Procedural Textures
- GUIs
- Conclusion
-
Chapter 6: Weapons
- Weapons Overview
- Object Orientation: Classes and Instances
- Object Orientation: Inheritance
- Animations, Frames, and Prefabs
- Cameras: Layers and Rendering
- Cameras: Orthographic Size
- Weapon Implementation: Punching
- Physics and Damage Dealing
- Weapon Changing and Polymorphism
- Completing the Punch and Gun Weapons
- Conclusion
-
Chapter 7: Enemies
- Meet the Bad Guys
- Starting the Enemy Drone Prefab
- Coding Enemy Damage
- Improving Damage Dealing: Feedback
- Enemies, Intelligence, and Philosophical Zombies
- Finite State Machines (FSMs)
- Changing Between States
- Preparing for State Implementation
- The Patrol State
- Refining the Patrol State
- The Chase and Attack States
- Adding More Enemy Types
- Summary
- Chapter 8: Graphical User Interfaces
- Chapter 9: Handling Persistent Data
- Chapter 10: Refinements and Improvements
- Index
Product information
- Title: Pro Unity Game Development with C#
- Author(s):
- Release date: May 2014
- Publisher(s): Apress
- ISBN: 9781430267461
You might also like
book
Beginning C++ Game Programming - Second Edition
Get to grips with programming techniques and game development using C++ libraries and Visual Studio 2019 …
book
The GuruBook
The GuruBook is an inspiring collection of 45 articles and interviews with well-known thought leaders and …
video
Introduction to ChatGPT and OpenAI
OpenAI ChatGPT is a powerful language model that uses advanced ML techniques to generate human-like text …
video
Full Stack Web Development Mastery Course - Novice to Expert
Full stack development refers to the development of both frontend (client-side) and backend (server-side) portions of …