
Beast Dominion
Introduction
Beast Dominion is a 3D action game that I made for Unity. It is one of the first games I created on Unity. In this game, you play as a Prince of a kingdom of animals called the Beast Dominion. He must fight to free his kingdom from an evil opposing force, the animalistic Guerilla Empire. He has the special power of Transformation, transforming between his tiger form and his bird form using the royal heirloom, the Totem Staff. The main goal of this game was to have a fast paced action game that gives a good amount of freedom of choice but also requires some thinking. The transformation system was designed with this exact purpose. The other goal was to design many different enemy types to challenge the player. I was specifically invested in boss design.

Below is the link to my game, as well as gameplay videos that cover the entire game. The videos are generally no damage runs, though, so you will not get a gauge for how difficult the game may be.
General
In this game, you fight hordes of enemies and bosses. You have the ability to transform between two different forms. The tiger form gives the player wide, powerful attacks, but without the ability to attack airborne foes. The bird form is fast in both attack speed and movement speed, but weak and with a weakness to projectiles. The player can freely transform between each form, and they are not required to transform for battle. However, there are battle situations where it is advantageous to use one form over the other. Both forms are needed outside of battle. Both forms are needed to traverse through certain terrain. This was so that players would have to use each form at some point. This is my game's main mechanic. It is so players can choose which play style is their preferred style and to give them options they can use at any time. This is my game's unique mechanic, because in most games, form changes are power ups that players have to work for. In this game, you don't have to work for a form, but there are specific strengths and weakness for both forms.
Outside of transforming, the player can avoid attacks by using a dodge move and when they attack without being attacked, they build a combo meter. When they build their combo meter above 5, they get a Special Move that does heavy damage. Because I designed this game to only have dodging as a way to consistently have an invincibility frame, I designed some attacks to be telegraphed with a glowing light. I call these lights warning lights. They not only tell players to dodge, but to also dodge out of the area, because the attack leaves a lingering effect that will damage the player if they stay in the area, because it will outlast the player's dodge invincibility. As such, I designed the game with bullet hells in mind. In bullet hells, you have to avoid attacks by getting out of them.
My main inspirations for this game were Kingdom Hearts and God Of War (the games before 2018). I developed this game in a span of five months. I developed eight levels and a boss. Afterwards, I had a few people I knew playtest my game. Then I made three bosses and made revisions to my game. I will cover my boss design later in this article. I designed the game in levels, so that players can jump in wherever they want, which is useful playtesting.
Development & Challenges
The biggest challenge to the game was designing a flying playable character and flying enemies and related ideas. Initially, I had enemies that jump and attack actually jump. I designed several enemies to jump and attack the player if they are in bird form. However, this would often lead to the enemy landing on top of the player and weighing them down. Another issue would be that the enemy would launch the player if they jumped right underneath them. The problem was that I was using a computer not suited for game development. This caused forces to be inconsistent. A force of say a 100 could either barely move an enemy, or launch the enemy across a room. Thankfully, I was able to quickly switch to a computer that is suited for game development and the physics became consistent and sensical.
​
Afterwards, to avoid characters getting on top of each other, I made every character have a tall collider. When enemies either jump to attack or swoop down to attack, it is either a translation and the collider maintains its height, or I made a new animation for the enemy where their root rises. For the bird form and eagle enemy, I put a collider underneath the game object to prevent characters from getting underneath them. I went with this choice, because I don't have any use for characters either being on top or being below each other.
The biggest issue I had during game development was that part of the player's code for taking damage did not work in the build version. The player is supposed to be stun locked after receiving an attack, they are supposed to flinch, and a numerical value is supposed to appear for how much damage they took. Also, their combo meter is supposed to get reset. All this code is triggered by a general damage receiving method triggered when a player enters a trigger hitbox with no invincibility. All of this stops working the minute I start attacking with the player. Oddly, the code is the same for the enemies, and it works perfectly. The only solution I could come up with was moving the code for cancelling the combo meter in FixedUpdate(). To get around this issue, I designed a red light to appear from the player each time the player is damaged. I also added sound clips to play if the player receives heavy damage from an attack. I did all this as a substitute and as a way to indicate to players that they have been damaged. The image below demonstrates the remaining issue with the player's stun lock code. Because there are no general issues to the player not getting stunlocked by attacks, I decided not to try to fix the issue anymore times.
In the image below, not only is the player not being flinched, no damage text is showing up
Boss Design
For this game, I focused on making bosses that would be both entertaining and really challenge the players. I feel that action games are really built on boss fights and the most entertaining ones are the ones with powerful, challenging bosses. I also focused on making the boss fights a visual spectacle to challenge my design skills.
For the first boss, Gorilla King, I designed him to be strong and big, but also deceptively fast. Unlike usual boss designs, the Gorilla King has a desperation move it will use, but not when its HP reaches a certain point, but every time it goes through its attack cycle. This gives the fight a sense of urgency, because if you don't defeat him fast enough, you will have to deal with his desperation move multiple times. This boss is also the first boss that establishes the idea of warning light attacks.
For The Roc King boss fight, I wanted to make a fight that fully took advantage of the player's bird form. I also wanted a fight that would have high risk, high reward, in that, the bird form allows you to attack the boss constantly, but the boss uses projectiles predominantly. For the Boar King boss fight, I wanted to have at least two bosses that were "humanoid" and thus would stagger from hits, like other "humanoid" enemies. I also wanted a boss that would have a powerful desperation move.
For the Lightning King boss, I wanted a boss, I wanted a boss that was very difficult that would be the ultimate test for player's reflexes and patience. I specifically designed it as an experiment for a super boss. Particularly, the boss has combos that don't play at a constant rate, forcing players to have to time their dodges.
Both Lightning King and Boar King have combos that are designed to punish players that recklessly play. They punish the player by dealing massive damage if the player tries to soak up their damage and by requiring the player to dodge in certain ways to avoid damage. For example, both bosses have warning light attacks and the Boar King has a combo that will outlast the player's dodge invincibility frame.
General Design
I designed several visual designs and visual effects myself. For the main character, I designed the crown, the cape and the staff myself, using the objects in Unity. Below these two images are comparisons of how I modified art assets I found on the Unity store.
Original
New
For sound design, I used sounds I found on Youtube and Freesound and used Audacity to modify them. I specifically designed the sounds to sound slightly hollowed, to reflect the fantasy and cartoony nature of the game. I felt that say magical flames shouldn't sound exactly like real flames. The hardest sounds to design were the magic sounds without a direct real life parallel, like ice magic and magic energy flashes. Fire magic and thunder magic had a direct parallel, because I could use sounds like flamethrowers and grenades for fire magic and I could use thunder sounds and other electrical sounds for thunder magic.
Conclusion
This game was very fun to develop because it is close to a video game that I would want to direct. If I were to change anything up about the game, I would change the way Specials are gained. I found that in horde battles, it is very easy to build up the combo meter. I would make them harder to gain, but stronger, to make them feel more special.