Tasks and Duties, Social Combat, and Item Audio
Hey Folks! A bit more team management today, but also some time for development. And a fair bit of progress on all fronts!
Michael pushed some changes that effectively make drafting possible via Social Combat. The words spoken in the UI are mostly placeholder, but we can see the "draft" objective in the UI, demand it, and the AI begins accepting direct orders! He also setup a second example objective, which is to remove the "loafing" condition on lazy crew.
There are more actions and polish needed, of course, but we can technically manage crew through the social combat UI! I think once we start using the UI a bit, it should become clear where the next big wins are in developing it more.
Bjørn is also moving along with audio stuff, and we're settling on a first draft of the way equipment starts-up, loops, and spins-down audio. I can't wait to hear ship systems spin-up and down. I think it's going to be a huge shift in immersion.
I also have a Skype with Chris and Michael in a few minutes (hence the early news), to talk about next steps.
For my part, I tackled the crew tasking system, to see if I could further integrate it with events on the ship, and the duty/roster UIs you see in today's screenshot.
I did a bit of rewriting to simplify and trim down the features to its most basic implementation, but I managed to get crew to respond to their work shifts! Crew now checks for work tasks during work time, but not during personal/sleep times. That'll need tweaking later, but it gets the job done now.
And in theory, it uses the priority system from Crew Duties to determine which task is next. Michael had some ideas for abstracting this sort of granularity into roles, which I still think is worth exploring. Though maybe a good middle ground here would be for granular duty priorities per role, and we assign each crew to a role? Like I said, needs to be explored.
So far, the only task appearing in this basic system is the damaged wall patching. I used Michael's event handling code to drive the new task stuff, and those repair tasks are added when damaged walls appear. But I think this will need to expand a bit. Probably instead of listing specific items to listen for, I'll change it to use triggers. This way, we can assign repair tasks to any type of damaged wall with a single trigger, instead of one rule per wall variation.
I think I can also redirect Michael's job/installation UI to this new tasking system.
I'll also have to give some thought to how tasks get assigned when caused by something gaining a condition, and not simply spawning. Michael had some interesting ideas for how certain crew stations require occasional attention, like a course correction at a nav station. The nav station won't be spawning or switching on/off to trigger the item spawn tasks, so we'll need something else. But there are a lot of places where we can hook-into nav stations changing stats.
Anyway, I think it's something I can build on. And things team-wide are definitely moving apace!