Add minimap. Some perforarmance tweaks especially around bread crumbs.
This commit is contained in:
47
README.md
47
README.md
@@ -12,14 +12,59 @@ While the previous project was implemented in go, for this project I was not abl
|
||||
| --- | --- | --- | --- |
|
||||
| `camera_speed` | float | `20.0` | Scales how fast the free camera pans when you move the mouse to the screen edge or hold movement keys. Raise for faster fly-through, lower for precise adjustments. |
|
||||
| `ghost_reset_distance` | float | `10.0` | Minimum distance (units) between the player and the nearest ghost before the player is snapped back to the maze start. Increase for a safer buffer, decrease for higher tension. |
|
||||
| `ghost_count` | int | `800` | Number of ghosts spawned across the maze at startup. |
|
||||
| `minimap_enabled` | int | `1` | Set to `0` to disable the minimap overlay entirely. |
|
||||
| `minimap_width` / `minimap_height` | int | `200` / `200` | Size in pixels of the minimap rectangle rendered in the bottom-left corner. |
|
||||
| `minimap_margin` | int | `16` | Padding (pixels) between the minimap and the screen edges. |
|
||||
| `minimap_wall_[rgb]` | float | `0.0 / 0.0 / 0.0` | Wall line color per channel (0–1). |
|
||||
| `minimap_background_[rgb]` | float | `1.0 / 1.0 / 1.0` | Background fill color per channel (0–1). |
|
||||
| `minimap_arrow_[rgb]` | float | `1.0 / 0.0 / 0.0` | Player arrow color per channel (0–1). |
|
||||
| `minimap_zoom` | float | `2.0` | Zoom level (pixels per world unit) for the minimap. |
|
||||
| `minimap_breadcrumb_[rgb]` | float | `1.0 / 0.3 / 0.3` | Breadcrumb dot color per channel (0–1). |
|
||||
| `minimap_breadcrumb_radius` | float | `3.0` | Breadcrumb radius in pixels. |
|
||||
| `breadcrumb_max_distance` | float | `200.0` | Bread crumbs beyond this world-space distance from the player are not drawn (both in-world and on the minimap). |
|
||||
| `minimap_ghost_fill_[rgb]` | float | `0.9 / 0.9 / 1.0` | Ghost dot interior color on the minimap. |
|
||||
| `minimap_ghost_border_[rgb]` | float | `0.2 / 0.2 / 0.4` | Ghost dot border color. |
|
||||
| `minimap_ghost_radius` | float | `4.0` | Ghost indicator radius in pixels. |
|
||||
|
||||
Example:
|
||||
|
||||
```json
|
||||
{
|
||||
"camera_speed": 30.0,
|
||||
"ghost_reset_distance": 8.5
|
||||
"ghost_reset_distance": 8.5,
|
||||
"ghost_count": 600,
|
||||
"ghost_count": 600,
|
||||
"minimap_enabled": 1,
|
||||
"minimap_width": 220,
|
||||
"minimap_height": 220,
|
||||
"minimap_margin": 24,
|
||||
"minimap_wall_r": 0.0,
|
||||
"minimap_wall_g": 0.0,
|
||||
"minimap_wall_b": 0.0,
|
||||
"minimap_background_r": 1.0,
|
||||
"minimap_background_g": 1.0,
|
||||
"minimap_background_b": 1.0,
|
||||
"minimap_arrow_r": 1.0,
|
||||
"minimap_arrow_g": 0.0,
|
||||
"minimap_arrow_b": 0.0,
|
||||
"minimap_zoom": 2.0,
|
||||
"minimap_breadcrumb_r": 1.0,
|
||||
"minimap_breadcrumb_g": 0.3,
|
||||
"minimap_breadcrumb_b": 0.3,
|
||||
"minimap_breadcrumb_radius": 3.0,
|
||||
"breadcrumb_max_distance": 200.0,
|
||||
"minimap_ghost_fill_r": 0.9,
|
||||
"minimap_ghost_fill_g": 0.9,
|
||||
"minimap_ghost_fill_b": 1.0,
|
||||
"minimap_ghost_border_r": 0.2,
|
||||
"minimap_ghost_border_g": 0.2,
|
||||
"minimap_ghost_border_b": 0.4,
|
||||
"minimap_ghost_radius": 4.0
|
||||
}
|
||||
```
|
||||
|
||||
## Minimap Overlay
|
||||
The minimap is a HUD overlay that reuses data parsed from `maze.txt` to draw a scrolling view of the maze. Player breadcrumbs are recorded every second and rendered as solid discs so you can retrace recent movement. Ghosts are displayed as border + fill circles that remain unrotated while the player arrow rotates with camera yaw. Tweak the overlay’s sizing, colors, and zoom via `ghostland.json`—when `minimap_zoom` increases, the entire map scales up; breadcrumb/ghost radius and colors are controlled by the dedicated `minimap_breadcrumb_*` and `minimap_ghost_*` keys described above.
|
||||
|
||||

|
||||
|
||||
Reference in New Issue
Block a user