Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Title Page
Copyright and Credits
About Packt
Why subscribe?
Contributors
About the author
About the reviewer
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Code in Action
Conventions used
Get in touch
Reviews
Setting Up and Structuring Our Project
The core exam skills covered in this chapter
Technical requirements
The six core objectives
Programming core interactions
Overview of design patterns
The SOLID principles
Single responsibility principle
pen/closed principle
Interface segregation principle
Dependency inversion principle
Designing the Killer Wave game
The Killer Wave game framework
Framework
Starting our project through Unity Hub
Collaborate
Summary
Adding and Manipulating Objects
Technical requirements
Unity project
Creating prefabs
Enemy prefab and custom tags
Creating the player's bullet prefab
Creating and applying a material to the player's bullet
Adding a light to the player's bullet
Adding Rigidbody components and fixing game objects
Saving and publishing our work
Setting up our camera
Updating our camera properties via a script
Setting up our light
Updating our light properties via a script
Introducing our interface – IActorTemplate
Introducing our ScriptableObject – SOActorModel
Creating a PlayerSpawner ScriptableObject asset
Creating an EnemySpawner ScriptableObject asset
Creating a PlayerBullet ScriptableObject Asset
Setting up our Player, PlayerSpawner, and PlayerBullet scripts
Setting up our PlayerSpawner script
Creating the PlayerSpawner game object
Setting up our Input Manager
Setting up our Player script
Colliding with an enemy – OnTriggerEnter
Setting up our PlayerBullet script
Setting up our EnemySpawner and Enemy scripts
Adding our script to the EnemySpawner game object
Setting up our enemy script
Summary
Managing Scripts and Taking a Mock Test
Technical requirements
Adding a Singleton design pattern
Setting up our ScenesManager script
Adding the ResetScene() method
Adding the GameOver() method
Adding the ethod
Adding scenes to our Build Settings window
Updating our GameManager script
Creating lives for the player
Scoring enemy hits
Preparing the code for the ScoreManager script
Setting up our ScoreManager script
Creating sounds for the player's bullets
Summary
Mock test
Applying Art, Animation, and Particles
Technical requirements
Adding visuals to the player's ship prefab
Creating a material for our player's ship prefab
Applying maps to our PlayerShip material
Adding neon lights to our PlayerShip prefab
Adding particles to our PlayerShip prefab
Creating a particle effect
Setting up the Emission section of our particle system
Setting up the Shape section of our particle system
Setting up the Force over Lifetime section of our particle system
Setting up the Renderer section of our particle system
Setting up the Texture Sheet Animation section of our particle system
Importing and animating the background
Adding an animator controller
Creating states in the animator controller
Animation
Animating our three-dimensional enemies
Summary
Creating a Shop Scene for Our Game
Technical requirements
Introducing our shop scripts
Importing and calibrating our sprite game object
Displaying credit on our itemText game object
Project files diagnosis when making SelectionQuad
Customizing our shop selection
Creating selection templates
Customizing our player ship's upgrade selection
Selecting game objects with raycasts
Adding information to our description panel
Summary
Purchasing In-Game Items and Advertisements
Technical requirements
Buying upgrades for our player's ship
Updating visual representations of our player's ship
Preparing our player's ship to be used in the game
Buying items, watching adverts, and preparing to start a game
Setting up the BUY? button
Setting up the START button
Setting up the WATCH AD button
Connecting Unity ads to our game
Attaching Unity reward adverts to our script
Creating a Game Loop and Mock Test
Technical requirements
Transitioning our player ship
Adding variables to our PlayerTransition script
Adding methods/functions to our PlayerTransition script
Adding if statement checks
Adding content to the PlayerMovement IEnumerator
Moving the player ship out of the screen
Expanding our ScenesManager script
Adding a game level timer
Beginning, resetting, and skipping levels
Preparing to loop our game
Setting up the BootUp scene
Setting up the title and gameOver scenes
Demonstrating that the game loop is complete
Summary
Mock test
Adding Custom Fonts and UI
Technical requirements
Introducing the Canvas and UI
Applying text and images to our scenes
Improving our title scene
Duplicating our game objects
Preparing to animate UI game objects
Animating our UI level title
Animating the 2D text component
Animating the Image component's center strip
Copying and pasting art, text, and animation into other scenes
Summary
Creating a 2D Shop Interface and In-Game HUD
Technical requirements
Setting up our HUD
Displaying the player's lives
Adding a Horizontal Layout Group component to our game object
Creating images to represent our life count
Coding our UI life counter
Displaying the player's score
Creating a mini-map
Creating and adding layers to our player and enemy game objects
Adding and customizing our Render Texture
Adding and customizing our second camera
Making our shop scene support alternative screen ratios
Upgrading our shop selection
Preparing our shop scene to go 2D
Adding layout group components
Adding UI buttons
Adding the outline game object
Adding the backPanel game object
Adding the selection game object
Adding the powerUpImage game object
Adding the itemText game object
Applying and modifying our shop scripts
Reviewing the button's results
Creating the advert and start buttons
Adding the BUY? button
Replacing our textBoxPanel game object
Upgrading the PlayerShipBuild script
Removing the old shop scene's code
Reviewing code REMOVED 01
Reviewing code REMOVED 02
Reviewing code REMOVED 03
Reviewing code REMOVED 04
Reviewing code REMOVED 05
Adding methods to our PlayerShipBuild script
Applying trigger events to call methods
Summary
Pausing the Game, Altering Sound, and a Mock Test
Core exam skills covered in this chapter
Technical requirements
Applying and adjusting level music
Updating our GameManager prefab
Preparing states for our game music
Implementing our game's music states
Using StartCoroutine with our music states
Creating a pause screen
Volume UI slider
Adding a game pause button
Creating our PauseComponent script
PauseScreen basic setup and PauseButton functionality
Resuming or quitting the game from the pause screen
Pausing player and enemies
Summary
Mock test
Storing Data and Audio Mixer
Technical requirements
Using the Audio Mixer
Attaching Audio Mixer to UI sliders
Storing data
PlayerPrefs and volume settings
JSON and storing game stats
Adding JSON variables
Exploring Unity Analytics and Remote Settings
Analytic events
Core Events
Standard Events
Application
Custom Events
Transaction Events
Remote Settings
Summary
NavMesh, Timeline, and a Mock Test
The core exam skills covered in this chapter
Technical requirements
Preparing the final scene
Developing AI with NavMesh
Customizing our agents – NavMeshAgent
Adding a capsule collider to our fleeing enemy
Creating our fleeing enemy script
Exploring the timeline
Creating a timeline
Setting up the boss game object in our scene
Preparing boss for the timeline
Animating the boss in the timeline – phase one
Animating the boss in the timeline – phase two
Extending the timeline
Adding Default Playables to the project
Manipulating light components in the timeline
Summary
Mock test
Effects, Testing, Performance, and Alt Controls
Core exam skills being covered in this chapter
Technical requirements
Applying physics with RigidBody
Customizing for different platforms
Navigating and firing the player's ship with the touch screen
Extending screen ratio support
Preparing to build Killer Wave for mobile
Setting up the lighting for Killer Waves for Android
Stopping involuntary player controls
Final optimizations for Killer Wave
Reducing texture sizes and compression
Adding explosions to our players and enemies
Setting up the build settings for Android
Applying PC visual improvements
Post-processing
Installing post-processing
Preparing and applying post-processing to our title and level scenes
Post-processing effects (overrides)
Bloom
Chromatic Aberration
Color Grading
Anti-aliasing modes
Creating and applying post-processing profiles
Adding global illumination and other settings
Adding art assets to our shop scene
Reflection probe
Building and testing our game
Tackling bugs
Bug report "Standalone AD button"
Bug report "Resetting player's lives"
Bug report "Slower systems on level 3"
Bug report "Sometimes, the game ends too quickly"
Understanding the Profiler
Frame Debugger
Tackling bugs answers
Bug report "Standalone AD button" solution
Bug report "Resetting player's lives" solution
Bug report "Slower systems on level 3" solution
Bug report "Sometimes, the game ends too quickly" solution
Summary
Full Unity Programmer Mock Exam
Full mock exam
Appendix
Developing for Virtual Reality
Unity's current networking setup
Closing suggestions for the game/exam
Installing the post-processing package in Unity 2018.1+
Rendering paths
Adding/optimizing Killer Wave
Mock answers
Full mock
Other Books You May Enjoy
Leave a review - let other readers know what you think
← Prev
Back
Next →
← Prev
Back
Next →