Hey Folks! Working on the hiring screen today, so we can finally get NPCs to join our crew without debug commands. And hopefully, start spending more time in-game, to figure out how to improve gameplay.
Setting up the hire interaction was pretty simple. I'm starting to notice a simple pattern here for launching a specialized UI when interactions need one. So that's good. It makes handling special logic for said interactions easier, too.
Hey Folks! Continuing work on the roster/schedule UI today, mostly on getting the widgets hooked-up to in-game entities.
The button alignment issue I ran into late yesterday was actually due to child text labels having widths that extended beyond the button. I guess they intercepted clicks for the parent button, and the order of preference favored buttons to the left (added earlier to the list). Adjusting those labels to match their parents worked.
Hey Folks! Back to design tasks today, as I decided to tackle crew management.
I'm still a bit unsure where it's best to go next with features and content, but controlling crew is becoming more and more pertinent as we increase their agency. It's not sufficient anymore to assume any human on a ship is that ship's crew, as we might be at a station doing some shopping, or boarding a derelict for salvage. So there needs to be some concept of a team associated with the player.
Hey Folks! Since I was having a bit of trouble deciding what design feature to add to the space prototype next, I decided to shift gears a bit, and tackle something else I've been wondering about: custom shaders and rendering.
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.
Hey Folks! Some pretty cool progress today, as I focused on some tools to allow crew to move larger items and uninstall/reinstall them.
The first thing I did was more of a warm-up. I finished the dragging/pulling code I started yesterday afternoon, and formalized it into a simple component I could add to any object. Once added, and told who to follow, that object drags around behind the target at a set distance. Not much more to it yet, but it should come in handy once I'm ready for AI to start using it.
Hey Folks! Did a bit more work on pre-damaging derelicts today, and expanded inventory access a bit more on crew.
The pre-damaging so far has just been a matter of damaging tiles and punching holes. But I also wanted canisters and fuel tanks to be all or partially drained, so we wouldn't find ships with full tanks of everything.
<Drawing in long breath and exhaling.> Ok. I think we've got trade working now. It was a heck of a day, fraught with niggling, annoying details. But I believe the trade system now works as intended!
The first order of business was a bug in the ship zone tiles when ships rotated for docking. They needed special treatment since their tile indices became invalid when the ship's tiles rotated. Not too hard to fix, just hard to remember, hence why it wasn't already doing it :)
Hey Folks! Hope everyone had a good weekend. There was an apple picking trip among ours. Plus an extended bout of Rimworld Saturday evening, where half my colony died in a caravan beset by man-eating alphabeavers. RIP the de facto leaders of the colony.
Hey Folks! I decided to start working on a more representative station layout today. Mainly, this is to get ready to test the bartering and NPC spawning stuff, but it also gives me a chance to find and fix any remaining issues resulting from the migration of the ship editor into the simulation mode. And boy were there some of those.
Hey Folks! Pretty big update today, as the ship editing code is merged into the crew simulation mode.
As mentioned yesterday, I was starting to run into situations where it'd be useful to edit ship layouts, but the old ship editor lacked certain tools. Zoning being a big one, but also seeing in real-time how components behave when hooked-up, watching air flow on the ship, etc.
Hey Folks! Making more progress on the trading system today. The barter zones are now filtering appropriate items, and the first draft of the trade execution code is in.
Today's image is a recreation of yesterday's test, this time with new filtering and flags in place. Items like the floor and walls are ignored, while items that can be transported (like hull patches, gas canisters, and batteries) appear in the list. Furthermore, each line item correctly shows how many units each party has in their collective person and zones.
Hey Folks! The zone/trade refactor continued today, and is mostly working now. I can add and remove zones from a ship, and use them in the trade UI.
There were still a handful of gotchas to solve in wrapping-up the zone UI. Adding a name to the zone was particularly tricky, as I had to deal with user-edited names as well as default "Zone 1" style names. Then, some logic to handle removing zones when all tiles in the zone were changed to other zones (or null zones). I added code to select an entire zone by clicking one of its tiles.
Hey Folks! Hope everyone had a good weekend. Some more heavy labor here, as we finished up a path in the front yard. Digging and hauling dirt and rock, grading sand, and laying patio bricks. Nothing like some good old dusty, back-breaking work to give one time to think. And it fortunately gave me an idea for solving my zoning issue.
I decided to slightly change the way zone info is stored on a ship, to better tie together NPCs with the zones that apply to them. Plus some other per-zone info, like zone name, etc.
Hey Folks! I managed to get most of the trade UI hooked-up and running today. Still a few bits missing, but what you see in the image today is actual inventory data from two crew members.
There were a few bumps on the road getting it all working. Some missed data here and there, null pointers, selection glitches. I still can't figure out why AIs sometimes walk away while the other AI waits for their reply.
Hey Folks! Working on the trade UI today, in a continued effort to connect systems into at least a crude game loop. I've mostly finished the first draft of the layout, as you can see in today's image. And I've started on the code for it.
Hey Folks! Did some more work on the zone UI today, and I think I've got it working on a basic level now.
I ended up limiting each tile to one zone flag for now, and setting any flag removes all other flags. This is all independent of equipment installation flags such as "walkable" or "obstruction" or "portal." These are for things such as designating cargo areas as available for trade/barter, or managing crew pathfinding to cordon-off areas.
Hey Folks! Hope everyone enjoyed their weekend. I actually managed a trip to PAX on Sunday, and it was a bit weird. I often felt like an outsider peering into a world that was both familiar and somehow not meant for me. I think my eyes passed over a hundred booths showing flashy games that had no impact on me.