Uniting The Realm - 08/18/2023
Time for another weekly update.
This week, we’re delving into my cancellation of the combat system.
It wasn’t an easy decision.
When building out the combat code, equipment code, and I was contending against quite a few obstacles and hazards. These varied from design issues (rectifiable), implementation issues (rectifiable), and ChoiceScript Issues (something I couldn’t rectify).
Combat worked. To give an idea…
- The system generated the initial turn order and used a cyclical incrementing function to determine who was up next. Code dynamically generated player statistics based upon that functionality.
- Enemies had initial AI, something I had to hard-code. It was difficult but possible. Expanding it would’ve been trickier in the future, but I don’t think it would’ve been impossible. The upside was I had direct control over every encounter’s difficulty beyond merely balancing purposes as I created the AI by hand. It used a variety of checks to determine who it would attack, what abilities (that I gave that enemy) it would use, and what its stats were when determining if that specific attack was worth it. Was a royal PITA to implement… but it worked.
- You had multiple functions. Basic attacks, spells, abilities, and item access. These created a core gameplay loop with incremental progression throughout the leveling process.
- Every time damage was calculated, the system determined if enemies died. If they did, the system created an update loop that removed them from target selection and ran a separate check to determine if every enemy was dead. If so, combat terminated and triggered the victory script, calculated an initial pass at loot tables, dolled out XP, and continued the sequence.
Furthermore, I had fully playable Combat Tutorials for each of the three classes. They were deployed on the Private Testing Build (Dev). So the question could become where everything went wrong.
The answer is - the party system. See, the turn order worked with everyone, yes. But it was realistically the most straightforward system to implement. Combat in isolation also worked, if you were the only one in the party.
Once I began expanding the equipment code to multiple party members, I ran into a slew of roadblocks. Dynamically appending code to cover every party member’s unique variables was a royal PITA and required copy-pasting code blocks due to the way I had to implement inventory. This caused files to balloon out of control quite rapidly. Secondly, it became a strewn mess to connect to the primary combat sequences.
Couple this together with the significant implementation headaches I had ahead of me, that every time I patched an issue, two more popped up, and that balancing as the lone developer would’ve been a headache on its own - and I realized how detrimental maintaining the system was becoming to the project. 80% of the development on Update 1 had gone to these systems, which caused a multi-month delay in producing Update 1. It required extensive documentation, creating keyword tags to ctrl-f (find) my way down the document as it grew, and much more.
By the time I coupled together the poll… I had pretty much made the decision to sever it. However, I don’t like to make decisions this major (given that everyone had been patiently waiting) without providing a proper explanation as to why. While I know I’m not required to, I’d like to apologize to those who were excited and waited patiently. In a perfect world, I’d have been able to produce the system to my specifications.
As I’ve learned quite well in game development by now, not every idea that hits the paper dolls itself out in execution.
What Takes its Place?
Combat will still exist… in narrative format.
I’m going to create unique, multifaceted combat sequences that are baked into the narrative of each encounter. Each will take time to craft, as they’ll offer multiple routes of progression based on levels, stats, classes, etc. Smaller encounters will take far less time to craft, while larger set-pieces will forge a more blockbuster kind-of style. Nonetheless, expect plenty of narrative meat.
Second, I’ve got plenty whipped up. Here’s what’s left on the dev cycle for Update 1, as I know I promised much and gutting the combat system will take away from it.
- Implementation of the new Trait System (think Fallout, Wasteland, DnD, etc.!)
- Completion of overhauled content for the Prologue. Because I ripped away the Arena, I chose to make amendments and provide some fun narrative meat to picking each race.
- Some final pieces of polish.
- Act 1 Teaser for the Shadow Elves.
- Official Prophecy of the Game.
- A few other bits and bobs left to implement.
Once those’re done, we’ll call it a day. I’ll do some QA passes, and drop Update 1 into the wild. Separately, I’ve begun some side work again for Update 2, mainly to ensure it aligns with where I’ve placed Update 1 on the narrative spectrum.
To give an idea of where we’re at. This is the only teaser I’ll provide of direct content nestled within the Prologue beyond the first-page teaser I’ve provided. Let’s do a bit of a before and after, shall we? (As a note: the before contains the entirety of content that a single race selection preview provided, meanwhile there is much more narrative meat and several more pages of content left out of the Update 1 teaser.) (Second Note: Update 1 is still undergoing editing, so bear with me!)
The Humans (Update 0.4)
The Grey (Humans - Update 1)
It’s an ongoing process, but we’re getting there. I know some may wonder why I’ve chosen to drop a small teaser for each update, there’s tons of new content, so these merely offer a glance at what’s coming. Separately, this also provides a show of goodwill that development is ongoing and not stalled out.
Lastly, I provided a glimpse at the new Discord and Social Media logo for A Realm Divided last week. It’s my pleasure to unveil the new and final standalone logo for the title, moving forward. Given the darker and more formal tones the game and story will take on, I’ve opted for a logo that reflects that. Despite that, I haven’t forgotten that we’re in a fantasy world, after all. I hope you enjoy it.
The phenomenal artist behind this is known as Talia. While I’m unsure if it would run afoul of forum rules (so I’m omitting her links from this post, but will put them on my Discord), you may DM me should you wish to inquire about her services. She’s quite reasonable and excellent when it comes to feedback and the creative process. It’s been a delight to work with her and I can’t wait to do so in the future.
This update was pretty big, so I’ll skip next week’s. I’ll see you all properly again on September 1st for State of the Realm.