I am the code of the team and I have done the systems of the project. My first task was to pass the base code to STL beacuse we had to use that library. After that, I did the two types of movement of the player:
Quest Movement: The player moves tile to tile
Lobby Movement: The player is free to move everywhere
Once I have finished that, I did the collisions of each movement:
Quest Collisions:
Lobby Collisions:
After the collisions, I did the pathfinding. Enemies move to the closest available tile
Now enemies can go to you, so what is next? Time to fight! My next step was to make the player basic attack and enemy basic attack.
As it can be seen in the video, when someone deals damage (or takes money, use mana, gain mana or hp...) a label appears showing the exact number of points, this was my work a few days later.
When I finished the basics attacks, I did the other player attacks:
Flash: Common for the 3 characters
Strong Basic Attack: Common for the 3 characters. This attack has life-steal, it steals 30%-80% of the damage.
Warrior ability: Deals damage in the 8 tile close to him.
Archer ability: Throw an arrow that go through enemies.
Mage ability: Throw 3 fire balls.
My next work was to do breakable objects such as rocks, barrels and snowmen.
Once, I finished this, I did what I think is my best work, The room System:
It remembers the order of rooms
Places the player in the right position after changing the room
It spawns the enemies, objects and drops. And It remembers if an enemy was killed and then it does not spawn again, same with objects and drops.
Change the music between rooms
Manages the map of the game while playing the quest
It plays a cutscene if the room has one.
It can close the doors and reopen when all enemies have been killed
Also, I did a small drop system: Each enemy has their % of droping diferents item (hp potion, mana potion or 4 diferent types of gems).
When our designer created the lobby map, I did the change scenes between lobby-home, home-lobby, shop-lobby, lobby-shop.
I have done interactable objects, they have a x number tile of range and if you are in you become able to interact.
As my research was about splines, I did a system that organizes splines.
We wanted that our player could choose the name he wanted, so I did an input text.
I also did the logic in the map when playing a quest
I did the shop of the game.
Finally, I did swapable controls.