Vertical Slice Carto

The game Carto, developed by Sunhead Games

What is this project about?

In the second period of my second year, we had a project called vertical slice. In this project, you and your team would recreate a game that was made by a company. We had 2 difficulty's of games, easy and expert. My team and I chose Carto from easy, because none of our artists could do 3D. Our team consisted of 3 developers and 5 artists, together we tried our best to recreate the game Carto.

Project date: From November 2022 - February 2023

Development Team: 3 developers & 4 artists

Project duration: 10 weeks, 2 1/2 day each week. In the link below, we have the gameplay of our Carto.

Engine: Unity

Programming language: C#

In the video below, we have Carto of Sunhead Games that we tried to recreate.

Sunhead Games Carto


Vertical Slice Carto

My role & contribution to this project

My role was making movement for the player, implement art & animations.
And lastly create an AI that walks around an certain area.

Animations characters
This is where I place which animation the characters play, I did this for the mother with baby & kid running around.

I made the movement of the player first making a Vector 3D velocity, the reason why is because this was a 3D game. We did this for our camera angle, after figuring out that in 2D it wouldn't work. After that I made a float, which would define our movement speed for the player. I made an animator, in our update I'm setting the animator to 0 speed.

When I'm pressing either W, A, S, or D. It will change its location towards a direction x movement speed x Time.DeltaTime. Time.DeltaTime is the amount of seconds it took for the engine to process the previous frame. After that, it will change the animation speed from 0 to the movement speed. It will also change animations from idle animation to walking animation.

C# code for player movement

I first made a index for waypoints, these points are where the AI kid can go to when it's finished going to another point. Then I setted its movement speed, after that I placed in the void Start that when the game starts. The waypoint index will be equal to an random number between 0 and 12. I'm then setting the transform position equal to the location of the waypoint index.

In the update I'm setting transform position equal to an Vector3.MoveTowards, what this does is that the AI kid will go towards the transform position of a waypoint. I then made an If statement, when you arrive at an waypoint transform position. AI kid will choose a random number between 0 and 12, then it will move towards a new waypoint transform position. When AI kid reaches that position, it will choose a new random number. This is how he walks around while playing his animation.

C# code for AI kid running around.

Retrospective

This was an interesting project, recreating a game that already existed was quite challenging. Though using the game as reference to check if the art style was made correctly, check if character & player speed matches with the game.

Although we didn't manage to finish this game, I'd say that so far everything looks good. We sadly had a lot of bumps in our development, but we still managed to make a decent recreation of Carto. I learned something about making an AI which was cool & I've also learned how to implement animations into Unity.

Top