Journal 140 — Unity Project Development Part 2–2.5D Shooter

Objective: Add next round of updates to 2.5D Shooter game

In the previous article, I started setting up a basic 2.5D shooter with movement and weapon fire. I’ll now add the enemies using a wave system.

Waypoints

I’ll start with a series of waypoints: empty game objects. I will also use a waypoints container and a script to draw the waypoints lines in Scene view. I will start with one set, and I will probably make some more sets of waypoints for the different waves of enemies and the boss fight.

Enemy Wave

Next, I will use a scriptable object for the enemy wave system. Then I can create a wave asset file in the Assets folder and drag in one of the enemy prefabs.

Enemy Base Class and Custom Enemy

I figure I will have a variety of enemy behaviors like right to left movement or waypoints, damage functions, shooting functions, and power up drops. So, I will start with a base enemy class and then have some custom enemies that can override these behaviors. For now, I will just implement the waypoint movement.

I will need a Game Manager as a singleton pattern to keep track of all the enemies, quit application, and also keep track of all the enemy waypoints and assign the waypoints after the prefab enemies are instantiated.

Spawn Wave

I will need a Spawn Manager to handle the spawning of the waves.

Note when the enemies are instantiated, I need to use Quaternion.Euler to set the correct rotation of the prefabs.

Now, let’s see this in action.

Thank you for your time!

In the next article, I plan to get the weapons working for the enemies.

--

--

--

An Engineering Manager consultant who is seeking additional skills using Unity 3D for game and application development.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Quick web deployments using git-bare repositories

Solving a few functional programming exercises using Elixir

How to Disable Ecto in Elixir Phoenix After Project Creation

How bad is Telemetry in software

Leetcode — Cutting Ribbons

Magento vs Prestashop: Which Should You Use for Your Next eCommerce Website

The Celebrity Problem

Leetcode — Decode Ways

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Chris Nielsen

Chris Nielsen

An Engineering Manager consultant who is seeking additional skills using Unity 3D for game and application development.

More from Medium

Journal 144 — Unity Project Development, 2.5D Shooter

Making a RTS game #48: Various fixes, improvements and clean-ups (Unity/C#)

A Series On Creating Immersive Audio in Unity with Custom Wwise Scripts

Diverging from Base Enemy Class