Journeying into Unreal Engine
This summer (2023), I've been experimenting with some Unreal projects to get some experience with it! Most of my previous game development experience is in Unity, so learning Unreal has been a challenging but interesting adventure so far.
So far, I've worked on two small solo movement prototypes and one larger project that I'm working on with a team!
Experimentation Highlights
First Person Movement
In this first prototype, I wanted to tackle the C++ side of Unreal, choosing to not use Blueprints in my gameplay programming.
I started with the default FPP Unreal template, and modified the base character movement class to add sprinting and sliding functionality. I wanted to make the movement feel like Apex Legends, so I made sliding a priority when it came to movement.
Demonstration of player slide movement
I also wanted to have circle-strafing as well as the ability to build up speed with successive slides. After implementing these, I noticed that the movement felt off, so I made the FOV of the player scale with the speed of the player, which helped improve the feel of the movement.
Consecutive slides and circle strafing
Third Person Grappling Hook + Wall Running
In my experimentation, I wanted to try programming with Unreal's Blueprints, so I worked on a movement prototype in a third person perspective, with a focus on giving the player infinite control of where they go.
To be more specific, I wanted to mix a bit of Overwatch's Lucio wallriding and Apex Legends' Pathfinder grappling hook.
Grapple -> Wall Running
Yeahhh, the animations are a bit scuffed, but I can explain. I got the only wall running animation from Mixamo and clipped out the parts that didn't match, which is why it doesn't loop properly. I learned how to use Unreal's built in animation system to remap the animation made for the Mixamo avatar to Unreal's default character.
There's two main systems at play in this clip, the wall running and the grappling hook.
For the wall running, whenever the player is in the Jumping state, I raycast on the left and right side of the player and search for walls. If the player finds a wall, it anchors the player to that vertical height on the wall and allows for the player to move along it. By aiming the camera up and down, the player can change their vertical anchor height, similar to Lucio from Overwatch.
I also started working with Unreal's UI systems, and made a widget that acts as a crosshair for the grapple. The crosshair fill changes to blue when the surface the player is looking at is in grapple range. This is something that Pathfinder in Apex Legends has and improved the usability of the grapple immensely.
Hōseki no Kuni (Land of the Lustrous) Fan-Game
I joined a team working on a fan-game for the anime Hōseki no Kuni. Will update with more info later.