Overview
A prototype I started in July 2025 to grasp the core concepts of Unreal engine. In the prototype you play as a cat in an empty Arctic city.
The prototype includes 3C, basic combat, and basic interaction with an ally AI. All the assets are from the internet.
3C
Watch the Video about Traveral.
From this video, you can see the following that I have done:
-
Basic locomotion of the cat:
I made the Blueprints for the character control, and the AnimGraph to transit between states and blend animations. I also made a control rig for the foot IK of this quadruped animal.
-
Jumping and Ledge grabbing
I implemented ledge grabbing mechanic with two sphere traces. There is no best-fitting animation, so I tried to find the most close one instead.
I implemented coyote time by extending the Character class in C++.
-
Camera control with smoothed transition
With camera collision enabled, I managed to smooth the spring arm motion with an extra spring arm.
-
A block-out made with BSP
With BSP I could quickly prototype the level layout. I also used some assets from the internet and manually edited its collision for better traversal.
Ally Interaction
Watch the Video about Ally Interaction.
You may check the following in this video:
-
Ally AI driven by a Behavior Tree.
The AI has following and fleeing behaviors. EQS is briefly used to implement the flee behavior.
-
Item pickups
Contextual interactions implemented in Blueprints. The player can pick resources up and carry it to the ally robot.
-
Inventory system
I wrote the model of the preliminary inventory system in C++.
Basic Combat
Watch the Video about Basic Combat.
From the video you can see:
-
A wolf enemy driven by a Behavior Tree.
I extended the actors and the controllers in C++ for defining team affliations, to be recognized by AI perception components.
-
The player ability and damage flow implemented in GAS.
I implemented attribute sets for the player and the enemies in C++. With the power of GAS, I could easily configure damage and VFX on an ability.
Potential improvements:
- Add screen shakes and maybe hit-stops on hit
- Add hit reaction animation to the cat
- Wolf’s locomotion animations