A downloadable game

This project has been developed with Unreal Engine 5.

"Lyra Starter Game is a sample gameplay project built alongside Unreal Engine 5 development to serve as an excellent starting point for creating new games, as well as a hands-on learning resource": https://dev.epicgames.com/community/learning/paths/Z4/lyra-starter-game

In this personal project I prototyped two new weapons, based on Lyra framework and based on the Gameplay Ability System.

First idea: Beam Rifle

The first idea I had was a beam gun with these characteristics:

  • it has a semi-continuous beam firing while the input is pressed
  • pretty precise
  • a lot of laser-projectiles are shot in a short amount of time
  • each projectile has to be like a light-emissive sphere
  • damage is very low for each projectile, but a ton of them is shot

The thing is, Lyra gameplay ability system has proven itself to be so good and versatile, that I didn't have to use C++ to implement this gun, as the updates themselves were easily achieved customising the already existent inherited BP structure – e.g. Fire delay, number of bullets shot for each input trigger... That's why I ended up with this satisfying prototype.

I changed the side bullets shells, the niagara flare and chosen some sounds from the Lyra's portal to reach the effects I was desiring at first. Playing with it in Elapse map proved to be very funny. The weapon itself was too powerful, that's why I limited its trace reach.

Second idea: Missile launcher

Since I ended up without touching C++, which was the main point of this test, I came out with another idea of something I would have liked.

These were my first thoughts:

  • ranged weapon, firing a projectile actor – no tracing
  • weapon has few ammo and single shot with cooldown
  • projectile actor has a projectile component
  • missile homing to closest target – trigger volume check
  • missile explode on contact, or when the distance is low

I then prototyped and then refined a homing-projectile missile launcher, trying for it to adhere at best with Lyra ability system framework.

Differently from the other weapons of this game, this missile launcher relies on the spawn of an independent actor to damage the opponents. The missile itself derives from a class I've created to reach this objective. Two separate shape components are used by the missile specifically to detect targets and then to understand when to explode, because of the overlap with a compatible entity. All the characteristics are customizable in BP via exposed variables, which then see the actual gameplay implementation in C++, to gain best performance. Visual effects are called by events on gameplay moments, but then handled in BP.

Another class I decided to specialise to reach my objective is the gameplay ability one of the missile, the ranged weapon. The logic I needed to add was related to handling the correct spawn of my projectile -the missile-, calling the interface methods to have then gameplay, visual, and audio accuracy. This can see better in the project itself.

The way I've implemented the missile also makes it compatible with the ability system: this means that, if I'd like e.g. To implement a skill where the pawn launches an explosive projectile of some sort from withing itself, the same class could be used and assigned to the character via the Lyra ability set, independently from the fact to be part or not of a separate weapon.  

Conclusion

I really like Lyra, as I think it is a natural and useful evolution of what was the Unreal Shooter game in UE4. I will probably return on the project in the future to try new ideas, as it is very versatile as a TPS base.


Download

Download
CustomLyraProject [DebugGame] - Unreal Editor.mp4 207 MB

Install instructions

N/A

For the moment, I'm sharing screenshots and a gameplay video of the two prototyped weapons in action. In the future perhaps I'll also make the code available, in the current state or with additional updates/features I could work on, similarly to the weapon prototypes.

P.S: the gameplay video has been recorder on a very low end PC, so please excuse me for the bad framerate (:

Leave a comment

Log in with itch.io to leave a comment.