ELS Progress Update #11

Today’s Music Choice: “For Blood and Aether”

Something new this week! This is one of the many battle themes you’ll come across in the game. Fun fact: this was the first bit of music composed for the game!


Progress Report

Despite the allure of the holiday weekend (haha just kidding, there’s no such thing as a holiday when you’re self-employed), I made a fair amount of progress on implementing the remaining secondary systems over the past week. Most of this work involved finishing up the “dispatch” mission interface and logic, and I’m happy to show off a little bit of that now. I’m pretty pleased with how it turned out overall, and I designed it in such a way that adding more of these events to the calendar is rather brisk and straightforward, while also allowing for quite a bit of planning and tactical nuance on the player’s part.

To recap: between major operations, you may send party members off on side missions that take place over a few in-game days. These reward you with crafting materials and even weapons or armor, as well as skill experience and class mastery for the characters who participate. Each mission requires certain parameters to succeed: they may be based on character stats, skills, or even something more meta, such as species. You can only deploy a limited number of allies on each mission, so generally, you want to get to a 100% success rate as efficiently as possible.

Each mission requires one “leader” character, who will contribute additional chances of success to the mission. Supporting members contribute as well, and everyone earns the reward at the end. The little “plus sign” markers by each character’s name denote how effective they will be on the mission, so you are free to swap allies in and out until you can reach that coveted 100% success rate. The flipside is: characters who are dispatched cannot participate in battles, or be visited in social outings, or have their equipment or class/ability settings changed until they return.

When you’re satisfied, hit Deploy, and away they go.

Still workin’ on polishing this one.

The dispatch mission is replaced with a progress bar in your orders list. You can’t cancel/called back a dispatched squad, but you do get an indicator of who is away and for how long they’ll be unavailable. Time passes when you dive into certain battles, take on social events, or choose to advance time manually. When enough time has elapsed, the mission is complete, and your squad returns with the good (or bad) news.

If your squad was successful, you’ll gain your rewards and the mission is complete. If your squad did exceptionally well (by having a success rate far greater than 100%), you’ll get a “great success” instead, and your rewards are increased by 20%! If your squad fails, however, you still get a small percentage of the potential rewards, so all is not lost. (Note: you can’t just send off one character with a 1% success chance and skim off the rewards that way. If the initial success rate was too low, you get nothing!) (And no, you can’t savescum the result, either.)

Every character has several quotes for the various levels of success or failure. I won’t lie; writing all these lines took a significant chunk of my time. I should also mention that you can’t send off your commander character on these missions, because, well – that’s you!

A side effect of this was needing to add logic to my calendar handler to pick up on completed events, stack them together, and present the results one by one to the player. It’s a little thing, but it’s now out of the way with minimal bloodshed. I also had to add in logic to all the layers UI to keep the player from messing with characters who are unavailable, and modify the save data to allow “in progress” dispatch missions to save and load their states correctly. Lots of unglamorous grunt work, but it has to be done!

This week, I’m working on a “smart cursor snap” implementation to help make things smoother for gamepad players. Basically, this will move the cursor to the contextual “Okay” button or first menu option whenever a UI element presents itself, to make navigation brisker. If you’re a mouse user, this doesn’t take effect, and it can always be turned off too. It’ll be a work-in-progress (especially after some external testing), but it’s something I’m finally starting on.

Other than that, I did a little test build, and found – no lie – close to 2 dozen bugs that sprang out at me just from one clean test play. So, I’ll be addressing those too. It never ends!

After that, I’ll probably fill out a single “calendar” from beginning to end with events to create the framework for a single playthrough of the game. After that, I’ll just need to build the battles (pretty easy) and the cutscenes (much more time consuming), but when I’m done, I’ll have something that ostensibly resembles a game! I hope to finish that this summer and get it thoroughly tested to make sure my structure is sound before I expand it into the entire project.

I’m still waiting to announce the other thing I keep mentioning. Soon…