My journey becoming a Unity game developer: Starting to Feel Like a Real Video Game! From prototyping to real assets incorporated into gameplay for Galaxy Invaders
Objective: Showing our progression from prototyping player and enemies movement, shooting lasers, player destroyed, colliding with enemies, enemies spawning to incorporating game assets that now make this feel like a real game.
We started out with an idea to make a space shooter game. Not having assets to show the visuals for the game yet, we needed to create a prototype of how the game will look and perform. We began with a simple cube as the player with color added to it.
Then created a script for the player giving them the ability to move and shoot lasers when the Spacebar is pressed.
Playing the game, the player prototype is now moving and shooting lasers in the air. Also, changed the background color to black as this represents the sky in outer space.
To having red enemies spawning from random locations off the top of the screen coming downward.
Even added collision detection for when the player and enemy ships collide with each other, and giving them behavior to either die or in the player’s case receive damage.
To changing the basic black background on our prototype to a new asset Sprite image using the Sprite Renderer component. This now gives us the appearance of being at a certain point in outer space.
Added the player’s ship Sprite image to its Sprite Renderer. Plus, adjusted the laser to shoot from the front of the ship’s laser gun.
Changed the enemy’s ship Sprite image as well to the prototype.
Changed the prototype laser to a 2D Laser Sprite image making the lasers look more realistic in the game.
To giving the player a special powerup known as the Triple Shot when the grab the powerup falling down towards them. The Triple Shot will give the player hopefully a more enhanced experience when destroying the enemies.
Making it to this point in the game has been very satisfying so far as we learned the importance of prototyping the game mechanics 1st. This will allow us to create the foundation of the game by developing the core mechanics that will be used in the game. From player to enemies movement, spawning, colliding, objects destruction, shooting, transporting from one side of the screen to the other side.
On the scripting side, we used functions like Start(), Update(), FixedUpdate(), Coroutines, OnTriggerEnter(), Transform, GetComponent<>, and Input().
This prototype allows us to save it for future reference in making another game. While now having the ability to use different game assets on this prototype making it feel like we created new games.
These are a list of articles that will help you get to this point in the game: