Zones

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.

I did, however, really enjoy chatting with the devs I ran into. And there were a few games there that tickled my fancy. Industries of Titan, for one thing. It looks right up my alley, and not a far cry from this prototype. And Fugl looked mesmerizing and inviting. In fact, I think I enjoyed more of the indie offerings than anything else. Not everything was something I'd buy, but they were often the most refreshingly unique.

Anyway, back at the office, I continued work on multi-select via dragging a box. And it turns out using world space coordinates solved last week's issues easily. I had one minor bug to fix involving objects going through mode-switches and losing my group selection (e.g. doors opening/closing), but it otherwise worked well!

Then, I started to think about how I want to use this first: and that's zones.

I want to be able to designate areas on the ship that are for collecting trade items, cargo, and those that are off-limits to crew. I can think of other categories, too, but these might be the most immediately useful. In particular, I can harness the barter zone in a UI to finally enable trading items, which could allow crude scavenging and selling/buying.

So I adjusted the multi-select to operate on tiles instead of objects, for now. (Easy enough to change/add-to later.) And started work on a rough zone management UI.

At the moment, it just allows toggling the tile overlay, and choosing one of three states for the selected tiles: clear, barter, or forbid. I don't know if there will be overlapping zones at all, as the UI needs for that seem really complex. And we can probably make do with creative single zone placements.

Anyway, I've nearly got the code ready to both assign zone flags to the selected tiles, as well as a unique tint color. It'll remove all other flags and assign the one you've checked in the UI, and tint accordingly.

I suspect I'll also need some way to select existing zones by clicking, and update the UI to show that selection. But one thing at a time :)

Comments

Rovlad's picture
Rovlad

I imagine zone assignments can be basically done like in Rimworld -- check it out!
As for multiple layer zone assignments, don't you already technically have those with temperature and air pressure? Still probably not necessary to overcomplicate things, at least not yet.

dcfedor's picture
dcfedor

Rimworld is indeed a go-to for examples. Iirc, though, he has a few zone types which break the "one zone per grid" rule. The roof/snow-clear/forbid zones can all overlap resource/grow zones and each other, right?

Not that this engine forbids that sort of layering. They're just tags on the grid nodes. Like you point out with temp/pressure. One tag for StatTemperature and another couple for StatGasMolO2/N2/etc.

It's mostly the UI/UX that makes it harder to tackle. Displaying overlapping zones, and selecting/modifying them. Which I suppose Tynan solved by making the roof/snow/forbid zoning each a separate tool from the general resource zoning.

Dan Fedor - Founder, Blue Bottle Games