Game Development Progess
In November 2022, I participated in the Microsoft Software and Systems Academy. As part of our workload, we were encouraged to tailor our projects to areas of personal interest and look for positions and roles that excited us. Video games seemed like a very natural fit.
I have always been a video game enthusiast, so I began working on a game idea that I felt would allow me to learn fundamental object-oriented programming and video game principles while sustaining my passion and interest in learning new and exciting things.
I have always been fascinated by history and myths, and the intersection of Mansa Musa and his predecessor Abu Bakr II’s mythological expeditions seemed like the perfect opportunity to create a legendary adventure surrounding historical figures and events.
Upon settling on my game idea, I had to decide what type of mechanics and aesthetics I wanted. I decided on a pseudo-survival adventure game. A shipwrecked survivor must find a way to navigate the hostile terrain and inhabitants of this strange and distant island in hopes of ultimately making a boat and sailing home.
I started with Unreal Engine 5.0. It was newly released, and I felt I should learn alongside the engine advancements as they happened. Understanding my limits, I reached out to a fantastic artist I know to mock up some concept art for the characters using the photo references and descriptions I provided. I was incredibly happy with the art he created.
I took those characters and contracted some 3D modelers on Fiverr to create models for me to use in-game. That was a mixed experience, but ultimately I got what I needed, if not precisely what I wanted.
Next, I needed to find a way to rig these models. My subcontractors did not rig the characters as promised, and my naivety led to the time for remediation lapsing. C’est la vie.
After what felt like a lifetime watching YouTube tutorials, I had functional in-game models. Their fingers were bent in tragic ways, and some animations caused horror movie-like contortions, but the underlying need was being met. On to the next task.
I then added weapons and learned the process of spawning and attaching actors (weapons) to the sockets of the skeletons. Anim notifies and line traces were the next field of education.
I created an inventory system using online tutorials and bought some Udemy courses to help develop a combat system. I incorporated the AGRPro Combat Manager to handle combat damage and line tracing.
Then Lyra was released. After some consideration, I decided to upgrade from 5.0 to 5.1. Much pain ensued; a lot of work was required to use all the benefits of the new foundation and experience-based gameplay.
After experimenting with rigging and using ActorCore to rig my models, I was able to use the retargeter to incorporate my models with the Lyra sample game. While robust, the inventory and equipment system used by Lyra was more complex than what I wanted to implement. I purchased a survival game course and began implementing its foundational elements (i.e., inventory, survival attributes, etc.).
After some time, I found Terribilis Studios and was able to convert Mixamo animations to be used with the UE5 mannequin with minimal issues and no “crazy fingers.” I tailored the GAS functionality from Lyra with the Combat Manager to suit my specific needs.
After some new assets and maps were released to the Epic Marketplace, I decided to upgrade from 5.1 to 5.3. Further pain ensued.
For some reason, the combat manager was tracking all meshes of all characters and causing damage collisions from each character’s personal weapons whenever an enemy would attack. Unacceptable! (Lemongrab).
After a frustrating amount of time, I pared down the combat manager, removing the inventory and equipment manager aspects to create my own custom Combat Manager. I cut a preview with footage from the game. Website time!
While running a Python script to compile asset attributions, I found out the hard way that there are significant differences in quotation marks. Thinking just straight double quotations would work—fool! Not today… Oh well, more knowledge gained (silver linings, I guess, right?).