While working for Mentalytics we madde an Unreal Engine 5 game for Android to train focus in.
The game contained multiple mini games where the user’s current focus (gathered from an EEG headband) is the primary input. I was responsible for most of the custom VFX, player pawns, UI/UX and some game logic.
We primarly polished the Glider, Racing and Bird games (see video) for the initial release, but in total we prototyped more than ten games to various levels of completion.
Below a short summary of some of the things I worked on that’s visible in the video!
Glider Game:
Racing Game:
Bird game
The bird system was probably the most interesting thing I made for this entire project. I ended up making the wing movement as a vertex animation to be able to use the mesh in a Niagara system. I also wanted it to adjust the animation depending on if the mesh or particle currently is traveling up or down to have some movement variation when climbing upwards or gliding downwards.
For this I used dynamic parameters in my material, that could be accessed from both the player pawn’s Blueprint and the Niagara system. In the Niagara system I created some realistic movement for the bird particles using point attraction, wind and curl noise forces. Then I created a custom Niagara Module Script that calculates every particles current Z velocity. This value is then used to both interpolate towards a rotation on the particle mesh, and as a multiplier for the material wing flap speed.
This ends up looking quite realistic and the bird particle is rotating upwards and flapping its wings faster when going upwards, and rotating downwards with no wing movement when going downwards:
The levels were created with assets from the Dreamscape series by Polyart Studios.