Set up for greatness, it’s time to try out some game mechanics.
Let’s make sure something is fun before spending to much time on it.
Ideas are cheap. Worthless without execution.
But fully executing shitty ideas is even worse. Let’s not do that.
Ideas are cheap?
Every amateur gamer has tons of ideas I’m sure. But how many actually acted on them? And of those, how many ended up being not very good ideas? That’s ok, not everything has to work out. You need to prototype game mechanics to find the fun. Just don’t obsess about your ideas. Don’t overthink them. Just go ahead and try them out. Quick and dirty.
What should I prototype first?
Build the toy first. In Basketball for example, the toy is the ball. It’s the core of the game. If dribbling the ball isn’t fun, there’s no point in adding rules on top of it, requiring 10 people to get together to be able to play etc.
Identify what the “toy” in your game is and prototype. It’s a core mechanic. Make sure it’s fun before doing anything else.
For Ahod! the game is pretty much a toy so that’s not too hard to find. Giving the Orders (Fire, Charge and Shield) and their effects is the core mechanic of the game. This also means that any other mechanic you could think of (adding more orders, specific skills or boosters, player progression etc.) is out of scope for now.
This also means that things like how the ships look, VFX, SFX etc. even though they might have a role to play in making the mechanic work better, they only need to be functional.
1) Make it fun. 2) Polish to AAA standards.
How do I prototype in Unity?
Since the focus here is going to be on prototyping the game mechanics, graphics are irrelevant. Functionality is what we’re after.
Instead of creating polished assets for the ships, we’re going to use simple shaped sprites and Unity’s UI system. To learn about how to use UI, the simplest solution is the best: follow a Unity UI Tutorial: https://unity3d.com/learn/tutorials/s/user-interface-ui.
How do I set up UI objects?
Searching for “Canvas” and “Panel” in the Unity documentation is a good place to start. You’ll find everything you need to get started displaying simple shapes.
To give the ships a sense of orientation let’s use triangles to represent ships.
These triangles are Sprites.
Sprites are 2D graphic objects used for elements of 2D gameplay. The graphics are obtained through the Texture2D component.
These will need to react to collision (ie: with missiles).
How do I deal with collisions?
When thinking collision, think collider. When thinking collider, think physics. When thinking physics, think Rigidbody.
Game engines are a collections of things among which you’ll find an Editor (the thing you click in), a renderer (what handles displaying things) and a physics simulator.
To ensure good performance, the engine needs to know what objects it should and should not run physics on because it is compute heavy.
The way this is done in Unity, is by attaching a Rigidbody2D component to that object.
Without a Rigidbody, the physics simulation will have not impact on an object.
For the physics simulation to know what the boundaries of that Rigidbody are, add a Collider2D component to that UI GameObject.
With all of this set up, time to make these triangle do something. Next stop: scripting.