Two Spirits
By Plantformer Team
About
Two Spirits is a 2D multiplayer action platformer game. Both 2 players would play as the same character but in different modes while they are 2 types of enemies that only players with the same type can hit. Players need to switch control between each other to beat the game.
Project Info
-
Role: Producer, Gameplay Programmer
-
Team Size: 5
-
Time frame: Spring 2021
-
Engine: Unity
-
Repository: Github, Sourcetree
Game Trailer
Introduction
Two Spirits is a GAM150 project I did in the Spring 2021 semester at King Mongkut's University of Technology Thonburi in Thailand. Our team designed the game to be a 2D action platformer 2-player CO-OP game with the mechanic of switching between characters for each player taking turns playing the game.
Gameplay
This project is one of the projects in which I fully wrote the core gameplay mechanics myself. From what I learned in the previous project, I want to plan out a good code structure before working on a project with recurring problems.
-
Switch mode
This is the core gameplay mechanic driving through the whole game. While the players need to switch between 2 types to hit the specific enemy of the same type.
-
Attack and skill
Compared to previous combat action games, this attack would be simpler but I also have the charge and support skills added. Each player would have a support skill to knock back enemies of the same type helping others survive the enemy's attack.
-
Character Base Script
Character Base script is a script that contains basic values every unit should have as a base script. Then, inherit this class to create a specific mechanic for each unit. For example;
-
Enemy -> Boss behavior
-
Player -> each type attack
-
Hitbox Type
To make the switch characters mechanic stand out, we need a hitbox type to only get hit by the same type of attack forcing the players to use the switch.
-
Boss Behavior
To make the player's experience more challenging and satisfying, Bosses would make an excellent idea. But with the game's core mechanic, we need to design bosses to fit with it. I coded all the bosses as having unique behavior and unique types of hitboxes. including;
-
Boss with both types of hitboxes but in different places.
-
Boss with 2 states changing the type of itself depending on the state it is on.
-
Boss with 2 types of hit boxes together can get hit by both types of attack.