Try Again
Try Again is a team game project at USC developed by 8 engineers (including me!) and several other art, marketting, legal, desgin students.
It is 2.5D fast paced platformer where you play as Benny, a guy stuck in an unfinished game.
My Contribution
I assisted the lead engineer with Camera System and Object Pooling for levels.
Camera System using Unity Cinemachine
When playing through the game majority of the camera movement is done with the help of Unity’s Cinemachine. I helped setup the Cinemachine component in the scene making sure the virtual cameras switch smoothly.
At several places in the game the platformer style camera is switched to third person camera. I wrote a script to make this trasition smoother. I also wrote a script that overrides Cinemachine code to allow the player to rotate the virtual camera on key press.
protected override void PostPipelineStageCallback(
CinemachineVirtualCameraBase vcam,
CinemachineCore.Stage stage, ref CameraState state, float deltaTime)
{
if (stage == CinemachineCore.Stage.Aim) // runs every frame
{
var pos = state.RawOrientation;
// you can modify camera rotation by changing pos values
pos = Quaternion.Euler(m_XDefaultRotation, m_YDefaultRotation, m_ZDefaultRotation);
state.RawOrientation = pos;
}
}
Object Pooling
I set up a standard object pool in the Unity scene using C# to recycle the obstacle game objects in the level.
Release on Steam
Try Again is now live on Steam with overwheleminly positive reviews.
Majority of the credit goes to the Try Again team.
My contribution to try again was miniscule in comparison to the countless hours the other members of the team put in.