We Got to Install Microwave Ovens...
Hey Folks! After a morning full of taxes, accounting, and other administrivia, work resumed on the item installation system. And I've got most of the pieces working now for the main crew member.
When we left off last week, I was able to select an item, position a placeholder copy of it somewhere, and my crew member would walk to it, take it into their inventory, then walk to the placeholder and take that, too.
Today, I replaced that last bit with some new code to swap the placeholder with the original item in the crew's inventory. I made a new component specifically for this purpose, which my interaction system can latch onto to do replacement actions on items. I was able to move an N2 canister around the ship, including back into it's original position at the air pump's intake, and pumping resumed!
This is a pretty big feature, as it means crew can not only rearrange items on their own ship, but also transfer items across ships (i.e. looting and salvage).
There is one limitation, though. It assumes you want the main crew member to do this immediately after whatever they are doing now. That's fine for a solo crew member, but for a handful of crew (the intended use case), not so much.
I did some thinking about that over the weekend, and it might be nearing time to create some overall crew control stuff. That can include some overall queue from which all crew can get their tasks, like this reinstallation order. It also would be the beginnings of some crew management rules, like inviting crew into the team, firing them, who should sleep when, what tasks they should prioritize. I.e. the sorts of controls you'd expect from a Rimworld-like game.
I did have another thought, however. It occurred to me that the game became a lot more interesting now that I can make something happen. I can move items around and sell them, using the funds to (in theory) buy more. And I think that's because in this case, we've added a player tool. The player can now do something in the world to affect change. The last time that happened was probably adding pathfinding or ship flight/docking in the system.
And if that's the case, maybe I should be thinking about more such tools and gameplay verbs. What are the other things the player is actually doing? What ways can I give the player more agency, and more ways to affect the world?
It's possible being able to add/remove team members to the ship's crew is one such tool. And if they can collectively pull tasks from some global queue, doing so means they increase their capacity to do work (at some financial/supply cost per-crew).
There may be more direct tools I can add. Maybe adding tools for more complex salvage actions would be interesting? Like needing certain cutting tools to get certain items from a ship?
But I also wanted crew management, and in particular, drama management, to be a focus of the game. So maybe adding tools to manage conflicts, obedience, or efficiency are more rewarding? If that's true, it might make sense to tackle the crew management system sooner, since it would likely play a central role in choosing which actions to apply to each crew member.
In any case, I've probably been too slow to make this realization so far, and need to step-up my game. The player wants to do stuff, and I should maybe be thinking about more ways to enable that.