3rd person (follow cam)
Ropes’ Adventure is a 3rd person adventure-platformer where you play as Ropes, a young, energetic red panda as he explores the Monkey Temple, searching for his missing Grandfather.
Jump, swing and roll your way through the temple hub as you play a segment of Ropes' story and progress the pursuit of his Grandfather, piece by piece.
Lead Scripter / Game Designer responsibilties:
Team Leader / Product Owner responsibilties:
As the lead scripter, this project boosted my knowledge immensely. Scripting the entire character, I had to make sure the foundations were sound to allow easy expansion as well as easy-to-understand scripts and functions. I learnt a lot about linear algebra, which helped me to implement the rope swing as well as countless other situations that made working with vectors a breeze.
As the project lead, I learnt how to prioritize the tasks that would net the most value for the project, on a per-week basis. I maintained a product backlog, consisting of the stories required to complete the game, and prioritized them based on value, importance and time investment.
At the end of each week I had to present a report to a group of acting investors and show our progress as well as our plan for the future. Creating these reports taught me how to compile a list of the past week's achievements and present them in a way that instills confidence in our progress. By the end of the project I also learnt how to sell our product and pitch it to potential investors. In this case I pitched to a jury of industry professional from DICE, King and Isbit Games. They loved the game and advised us to "polish and ship it".
One of the main mechanics in Ropes' Adventure is the rope swing. The player can hook on to designated hook points and swing across gaps, pull objects or ascend or descend to higher or lower areas respectively. They can control their velocity and swing direction.
Swinging: The Logic
My first step was taking the player's current velocity and adding on any input from the player. The explaination below is after this step occurs. Now I know where the player wants to go, I have to limit it based on the length of the rope.
I check the see if the player's current velocity will cause the rope to be longer than the maximum rope length, in the current update. In this case, it will be.
The next step is to neutralize any velocity away from the grapple point. The length of the rope has to act as if you hit a wall, so the restrictions are quite the same.
When I know the rope length will be too long, I want to fix the future position by constraining it by the length of the rope and update the future position's location.
Finally, I move the player to the future position from the previous steps. The player will have end the frame with the same velocity, minus the velocity away from the grapple point and will be exactly at the right length of the rope.
Movement States Order
Ropes' Adventure has many movement states that I controlled by managing the order in which they can activate; for example, to be able to swing the player must not be ziplining. These movement states have exit conditions that allow you to leave the state; for example if you become grounded while you swing, this will exit the swinging state.
On the diagram to the right, I have marked special entry conditions and exit conditions for each state.