Epic Trip Complete! Website Down! Crew Sim Up! Chaos!
Phew! What a week. After multiple days of driving, flying, crossing time zones, speaking French, and navigating bureaucracy, our cross-country trip is complete. Looks like we may be cleared for moving to the US! Now begins a new laundry list of things that need doing before we can uproot and relocate. Lawyers, accountants, movers, landlords...we're in for some fun now!
Also, to make sure things were not too boring upon my return, the website died. By all accounts, it was a spammer clogging the system via a security hole, and the hosting provider suspended the website until we could root it out. It took a few hours, but I think we've cleaned the offending spam script and patched the hole(s). Still, we'll be keeping an eye on things just to be sure. Sorry about that!
And despite the whirlwind of activity above, I still managed to get some tinkering done on the prototype. The main feature is status text above each crew to help me see what's going on:
Long-time readers will recognize this from the old Haxe version of the prototype. This is basically the same AI code running in Unity, with UI text floating above each crew member. I hastily added some code to spawn extra crew with a keypress, and can fill up my ship layout and watch them go.
As usual, it wasn't too hard to port. The main issues were learning how Unity handles UI vs. the way Haxe/Flixel did.
So far, I think the main issues are some visual glitches. I've got the UI text setup to stack vertically if it overlaps, but it breaks if there are more than two crew on the ship. (Which I think is a simple error in my code.)
Also, the timing of the UI text updates is a bit off from when the AI is acting. The last action sometimes lingers over the crew too long, and other times, the text appears and disappears too fast to read. Still other times, the text doesn't update until too late, often after the action has happened.
I need to sort this out for more accurate testing/debugging. It might be that I can't rely on the timing of the action queue being cleared. Or I may need to do some special handling to make sure actions aren't firing before the AI has pathfinded to its goal.
But the good news is that these issues are more shallow and shouldn't be hard to fix conceptually. Just details. A more complicated and challenging task lies beyond that: figuring out how to present these AI interactions to the player so they can watch it for entertainment.
Talking heads on the bottom of the screen, with a dialog scrolling past?
Roguelike general message log with all on-screen participants sorted chronologically?
Text bubbled above each AI?
Let the user focus on individual conversations and hide the rest?