Major C++ Refactor
The last couple months have been devoted to a full refactor of the existing gamecode in Unreal Engine, migrating from full blueprints to C++. I found myself spending alot of time going back and debugging old basic features like UI and camera movement. I figured that the codebase is large enough that I need to add some automated regression testing. I could still do this all in Blueprints but I was also dealing with an annoying issue where packaged builds of the game would error everytime I made a change to my Blueprint Structures. It turns out that this is just a known thing about Unreal Engine, and the lesson learned is create all your base classes and structures in C++ to avoid this problem. (Which sucks) Knowing that I had alot more features that would require more structs, I switched the project to C++. Eventually I just realized doing more in C++ is just going to be easier for writing Unit tests, debugging with breakpoints, Source Control and also it would be nice to have access to Copilot. The one main downside of the switch though has been the IDEs and dev process in C++ (VS IDE or Jetbrains) are quite laggy, crashy and buggy compared to what I’m used to. (Unity and C#). The months in between the refactor and the last post in May have mostly been attempts at more story and character writing.
Cannon Tiles
It’s still in its preliminary stages but I’ve added interactable tiles like a cannon which lets a unit fire an AOE explosion. The hope for this feature is to add it into a larger Ship versus Ship map design. I still have to make the main system itself like Ship health, Movement, Sinking animations.
Attack-Move and End-Turn Shortcuts
I decided to implement a feature from FE NDS games that allowed players to perform an “Attack-Move” where you can select a unit, and as long you move it the selector on top of an enemy, you can skip the action menu entirely and perform an attack. I took it a step further by cutting out the need to move to the adjacent tile before the battle board appears.
Playing the Final Fantasy Tactics Remake really convinced me that this convenience was necessary, as performing a single attack in that game is very cumbersome, both with the number of steps required as well as the controls themselves.
I also added a “Hold To End Turn” Button for additional convenience after playing Metal Slug Tactics. (Although its common in alot of games now). In hindsight, moving a unit to attack and ending turns early are up there as the most common actions a player is trying to perform so they should be made to be quick.

Hotkey Remapping
An obvious inclusion for convenience was adding key remapping which luckily was fairly easy to implement in Unreal with gamepad.
