Back
This was my second game and I was feeling a bit more confident to try something more challenging. A side scroller seemed like a good place to start since they're relatively simple to implement. However, I soon realized that using Unreal for a 2D side scroller was like using a locomotive to move a small pile of laundry, a bit overkill.
My original idea was a kind of riff of the original Crysis wherein the character had access to a melee weapon, a shield and a sniper rifle but they could only power one at a time. This was a very fiddley system with too much downtime and frustration when I didn't have the right tool equipped for the job as I moved through the level.

I ended up stripping this all out and replacing it with drone companion, pictured above. I had done a Zbrush sculpt of a girl with her drone after I had gotten one for myself for photogrammetry projects. The sculpt influenced me and I thought how cool it would be to have this roaming duo sneaking into unauthorized places.
Games like Super Metroid, Commander Keen and Biomenace were staples as a child. I've always had a fondness for the simplicity of side scrollers. People are still making some fantastic side scrollers and platformers today, its great to see the genre flourish in a crowded field. It's tricky, however, for a platformer to really shine without a really unique mechanic(s), a cohesive story and a super tight controls.

I didn't exactly have all of that but I did have a vibe, some mechanic ideas and a goal to make the controls as tight as possible.
The drone can be swapped to and controlled separately which created all kinds of coding challenges and tough design decisions. Can the drone die? Does the character fail (die) if the drone dies? Can you resurrect the drone?

Originally, I treated the drone as a named companion which meant that if they were shot down that was a fail state and required a respawn. However, this proved really frustrating in play testing since a wayward bullet would often kill a drone even when it wasn't controlled. I allowed the drone to die but then be respawned again without forcing a character respawn.
The Drone has 2 other abilities, one was a sphere that slowed any bullets that passed through it.

The other was that it could drop a wireframe box that could be used to block bullets, stand on or pushed around. (See the pink box above)

The slow bullet bubble looked cool but never really made the game easier since the bullets caught up to real time pretty quickly.
I ended up finding a balance of styles that worked technically and, I think, visually, by mixing 3D environments and a 2D character. The tutorials of the Udemy teacher and youtuber @CobraCode was really essential in helping me understand how to implement 2D elements and animations into Unreal.
I used Aseprite for all my pixel animation work. I could have used Photoshop and have in the past but the clean focused pixel tools in Aseprite were so much faster and more intuitive to use in the end. Highly recommended.
Collisions were a nightmare in Unreal for me until I really dug in and watched some in depth tutorials. They seem easy enough in retrospect but essentially you have a huge number of channels that determine what elements can interact with what other elements and in what way.

It wasn't until I started making my own custom channels that I felt like I had full control and a good organized system. For example, a custom channel might be (enemy bullet) so that I can control exactly what an enemy bullet can hit and not hit and what can stop it and what can't.
I taught myself how to make proper menus and a simple UI system. There was only ever two levels and no persistent save system but it taught me a lot about how to interact with the Unreal UI systems. I also got to play around with graphic design for the menus which is always a lot of fun.
I built out a second level to explore some more challenging puzzle design. I never got around to, or even really intended, to do much set dressing. This game never really felt "fun" in the same way that my previous Snipes game did. The platforming was solid and the mechanics all worked well but the simple combat wasn't enough to hold it all together.
All in all I was pretty happy with the result. My goal wasn't to create a fully playable game, it was just to make something with a higher level of complexity so that I could learn more about the ins and out of game design and coding.

Some of the things I learned with the project.


Collision Systems
Animation States
Menu System
Controlling multiple characters
Communication between Multiple Entities
(Casting, Event Dispatchers, Direct References, Interfaces)
Blender to Unreal pipeline for 3D models
Reusable Narrative Elements
Though never completely finished I learned what I needed to and was ready to move on to another project. A couple of daunting things I wanted to tackle next time.

3D character animation
Save system
A polished level or set of levels
A complete menu/UI system

I found the first two of these things very intimidating but I decided that the 2D pixel art style was too limiting and niche. I took a bit of a break and then in summer of 2024 I started brainstorming about a game in the stealth genre, my original love.