Ralith / Ralith/hypermine

Provide a way for players to be able to always find structures they built

Open
#506 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
202
Forks
22
Avg merge
6h 8m
Merged PRs (30d)
7

Description

The Goal

To enhance Hypermine as a creative tool, we should allow players to build and explore freely without worrying about being permanently unable to find what they built.

While one idea (that we should implement anyway) can be to allow players to place waypoints, ideally, we should avoid punishing them for forgetting to place a waypoint.

One possible approach that should be tractable

is to take the node graph and form a subgraph that consists of of all nodes with the following criteria: There exist two player-edited nodes that have this node in one of the shortest paths between them. In other words, we highlight all edited nodes, as well as all the direct paths between all pairs of edited nodes. (Note that this can be done more efficiently than O(n^2) where n is the number of edited nodes.)

Then, if we show these highlighted nodes to the player, it should prevent them from straying too far into entirely unexplored territory.

UI idea: Directly reference this data structure

For instance, one option would be to allow the player to toggle an option that will cause transparent walls to be drawn, dividing the highlighted nodes from the non-highlighted nodes, allowing the player to explore what is effectively a tunnel, guiding them to everywhere they've made any world edits.

Note that an idea like this would only be able to complement, but not replace, waypoints, since it would still be difficult to find specific builds with this system. It instead just serves as a fallback.

UI idea: Just have some kind of icon or compass indicator pointing to every edited chunk

This requires some tradeoff between efficiency and compass accuracy. For instance, if many, many chunks were edited, this would result in many icons in the UI, to the point where grouping them would be useful (ideally in a way that doesn't require the game to iterate through all edited chunks).

One potential compromise would be to have an icon on every node "n" blocks away from you that leads you in the direction of an edited chunk. Since there can be multiple equivalent paths to the edited chunk, we would want to be careful not to display two icons for the same chunk.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by investigating the node graph, player-edited nodes, and the existing waypoint and exploration UI systems. Compare the proposed highlighted-path and edited-chunk compass approaches before selecting a design. Done should provide a reliable fallback for finding edited structures without replacing waypoints, with an interface that remains usable when many chunks are edited.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.