Feedback & Support

Power node radius visualization + improve Wall category color contrast
User feedback: > Awesome tool - wish I had this 3 months ago when I started my last run! > Probably the only 2 suggestions I could think of would be > > For the power nodes: being able to show the radius (useful when planning placement of objects requiring high capacity power grid) > > I'd suggest changing the colour of the items under the wall category - it's a bit hard to differentiate them from items under the system category (both show as red on my screen... unless I've stuffed something up!) > > Great work though - like others I'd been muddling along with Excel :-) --- ## Feature requests (2 items) ### 1. Power node radius visualization Show the effective radius/range of power nodes when placing or hovering over them. This helps plan optimal placement for high-capacity power grid coverage. Implementation notes: Power nodes have a defined radius in the game (need to extract from JAR or document) Could show as a semi-transparent circle overlay when: - Hovering over a placed power node - Placing a new power node (preview mode) Similar to how the game shows coverage areas ### 2. Wall category color contrast Current Wall category color ( #3a4a5c dark blue) appears too similar to System category ( #cc4444 red) for some users. Current colors: Wall: #3a4a5c (dark blue-gray) System: #cc4444 (red) Possible fixes: Adjust Wall to a more distinct color (lighter blue, or different hue entirely) Add category icons/patterns in addition to color Check for color blindness accessibility (red-green confusion is common) Files to update: src/data/jarCatalog/converter.ts — JAR_CATEGORY_MAP scripts/generate-jar-catalog.ts — duplicate JAR_CATEGORY_MAP Regenerate builtinSnapshot.ts after changes
1
·
Feature
·
planned
Simulate comfort levels and discomfort distribution
User feedback: > Ah, this was the first half my dream! > The second half is that it would simulate the comfort levels! > > Or if just the precise rules of discomfort distribution would be posted somewhere. > I tried to make experiments how much 1 wall or 1 wall + 1 empty cell protect from discomfort, and the results contradicted each other... --- ## Investigation: Comfort Mechanics in Space Haven ### Official Mechanics The comfort system is divided into three categories: Work , Leisure , and Sleep . Each tile has a comfort value in each of these three. Facilities generate positive comfort for some categories, and negative comfort for others. E.g., arcade machines give leisure comfort but might negatively affect sleep (noise). Positive comfort no longer decays with distance (since Alpha 14). Negative comfort does have fall-off with distance. ### Role of Walls, Empty Cells & "Bleeding" Walls and doors reduce (but don't fully block) the spread of negative comfort. Buffer space behind walls helps substantially—even 1 tile of empty space makes a difference. Multiple negative sources (industry, generators) stack their debuffs, overwhelming thin walls. ### What's Known vs. Unclear | Aspect | Known | Unclear | |---|---|---| | Facility comfort values | Many documented in wiki/patch notes (Alpha 14+) | Some items not well tested; specific fall-off distances vary | | Wall buffering | Walls reduce spread; empty tiles help | Exact attenuation amounts (how many tiles needed?) | | Empty cells vs walls | Buffer space helps more than walls alone | Is 1 tile gap sufficient, or 2-3 needed? | | Multiple negative sources | Negative comfort stacks | Linear vs exponential decay; overlapping radius behavior | ### Common Contradictions Explained Wrong overlay view : Work/Leisure/Sleep are separate—check the right one Hidden negative sources : Generators outside walls still bleed through Dual-purpose items : Jukeboxes help leisure but hurt sleep if too close --- ## Implementation Notes ### Data Sources The game's spacehaven.jar contains structure definitions in library/haven XML, but comfort/discomfort values are not currently parsed by our JAR converter. We'd need to: Extend the JAR parser to extract comfort-related attributes from structure definitions (likely envEffect , comfort , or similar XML elements) Reverse-engineer propagation rules through community testing or game code analysis Build a heatmap overlay that renders comfort values per tile ### Technical Approach ComfortSystem: - Parse comfort emitter data from JAR (positive/negative values, radius) - Implement propagation algorithm: - Positive: flat value, no distance decay - Negative: distance decay + wall attenuation - Render as color-coded overlay (green=high comfort, red=discomfort) - Toggle between Work/Leisure/Sleep modes ### Open Questions What XML attributes in the JAR define comfort values? What's the exact wall attenuation formula? How do multiple overlapping sources combine? --- Effort: 8 (requires JAR parser extension + propagation algorithm + rendering) Impact: 4 (high user value for ship optimization)
2
·
Feature
·
planned
Load More