Constellations is a data-structures project built with Python and the Arcade library. Stars in named constellations form a weighted undirected graph. A donkey character traverses the graph while managing three survival resources — energy, health, and grass — using either the shortest path (Dijkstra’s algorithm) or the longest viable path (depth-first search with resource constraints). The entire graph topology is defined in a JSON file you supply, so every run is as unique as the constellation you design.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/tutosrive/Constellations/llms.txt
Use this file to discover all available pages before exploring further.
Introduction
Learn what Constellations is and how all its pieces fit together.
Quickstart
Clone, install dependencies, and launch the simulation in minutes.
JSON Schema
Design your own constellation graph with the full JSON reference.
Path Algorithms
Understand Dijkstra and the DFS longest-path algorithm in depth.
How it works
Define your constellation graph
Write a JSON file describing stars (vertices), their connections (weighted edges), and the donkey’s starting resources. Use one of the built-in templates or create your own.
Choose a path mode
In the menu, enter a start star and an end star, then pick Shortest Path (Dijkstra) or Longest Path (DFS with resource constraints).
Watch the donkey traverse
The donkey animates across the graph, consuming energy and grass at each step. It eats at stars when health is low, researches star data for age and health effects, and reacts to blocked edges in real time.
Graph & Constellations
Vertices, edges, weights, and constellation groupings explained.
Donkey Mechanics
Resource rules, health states, travel costs, and death conditions.
Gameplay Guide
Menu controls, edge toggling, toast messages, and dialog prompts.