The Grand Witness to Unity 2023 Post

For a long time now I've wanted to write a big post about the direction Witness to Unity has taken since I previously properly discussed it, sometime in 2016. The problem with this is oh god that's such a long time. So much has changed in its design and code direction. I don't know if I even have it in me to write a proper rundown for each element, so maybe I'll just bullet-point it.

  • I moved back to RMXP because I hate VXAce mapping. I learned a lot from using Ace, enough to get around XP's shortcomings, but not Ace's own. Fuck VXAce tilemap and the UI and RPG Maker's continued downward spiral since VX.
  • Did my own animated battle system code based on the VXAce script because the most noteworthy animated battle system for XP is done by a fascist cunt.
  • Made a custom data structure for skills to support all the custom variables they now have. This has the amusing effect of making the editor no longer able to edit them itself. (Though it would previously erase the custom data entirely.)
  • Moved to "XP Ace", the use of VXAce's runtime but meshed with scripts to make it run under XP, because of improved ruby performance and RGSS3 functions.
  • Then moved to mkxp-z instead for future-proofing, improved performance, and future multiplatform support. Through editing my own fork, I was able to adopt the RGSS1/3 meshing like with XP Ace.
  • Equipment slots have been reduced to three. Characters now use two of six weapon types. Weapons now only provide one attack skill (or rather I haven't implemented extras), which is what is used by the Attack command.
  • Stat count was increased. While STR/INT/RES/AGI still function as before, equipment gained its own stats in ATK/DEF/HIT/EVA. Battle calculations adapted to use exposed hit and evasion rates. Guns don't use native strength.
  • Subclassing system under the hood is inspired by Persona, including compendium support, but it won't feature in this game. Unity Links are units that can level up and provide new skills and alter stats for those that "equip" them.
  • Unity Skills now use Unity Points, existing as a sort of limit break/overdrive for the whole party. They are generally assigned to the character you have equipped as a Unity Link, rather than an awkward attempt at dual techs.
  • In-battle skills must be assigned out of battle, capped at eight slots.
  • Redid UI system code several times to improve efficiency, namely things like main functions defining aesthetics, while specifics like text strings are defined in their specific contexts.
  • Bestiary data can level up, revealing more information. This is done through scan skills or beating them up enough times.
  • Bestiary data can be shared between save files, to reduce grind if you already know certain things about enemies.
  • Minimap/map screen images are generated again, but stored in files, as they're not likely to change over gameplay, thus not needing to be generated on the fly. Minimap objects were also basically completely redone based on old code to (be it file or generated cache) put map data and icons in a bitmap object and reference that independent of the minimap windows.
  • A* Pathfinding.
  • Reduced the scope down to three main party members, putting other characters back in other projects. Ironically to some extend this would get rebalanced again by the Unity Link characters, but the design with them is intended to be more limited, or tied to the main story.
  • No more free time, time system is story-based.
  • Not sure what I'm doing about weapon forging yet.