Monkey Mayhem – Dev Log 01

By September 29, 2018 Dev Blog

In this blog series, I will go into detail about some of the development process that is taking place on the project ‘Monkey Mayhem’.

During the first week of University, I came up with this idea while in my Video Game Design Module. I presented my idea to my tutor group and gained an additional team member called Chris. I will be focusing on getting the player controls to work and Chris will work on the procedural generation of the levels.

Below is a mock up of how the game would look

Player rotates around the branches
Bananas to pick up
Additional branches to swing to
Countdown timer for the round

Making them swing

So the first thing I had to work on was trying to get the player to be able to swing around a branch. I had previously done a game where I used to 2D joint system in Unity to create limb movement and thought that something like that would be good.

I looked into the different types of 3D joints available within Unity and decided on using a Hinge Joint. A Hinge Joint would allow me to keep the players Rigidbody attached to an object while giving me the option to swing around the object. I set the Axis for the Hinge Joint to be 1 on the Z axis, to allow the player to rotate around the branch correctly. I then set the Hinge Joint to have a motor, this allowed the player to be consistently swinging around the branch.

Below you can see the final Hinge Joint settings, and a result of this work.

First iteration of the character swinging around a branch

Time to Release

The next thing I worked on was releasing from the branch. This required two things, firstly we would need to get our forward direction and secondly we would need to disable the joint. The second part was the easiest!

For now I’m just going to use the following as my forward direction:

currentForward = transform.rotation * transform.right;

 

Next, I’ll detach the player from the hinge and apply a force. This is done by the following code:

Destroy(hinge);
GetComponent<Rigidbody>().AddForce(currentForward);

The result of this code, can be seen in the gif below!

That’s all for this post.

See you next time,

Ethan

Leave a Reply