From 9ccf951473e21a8b90c25161156fa09a9b227a7b Mon Sep 17 00:00:00 2001 From: skylar Date: Wed, 11 Nov 2026 15:24:37 -0800 Subject: Orrery 0.1.0: the galaxy, flight, cities, inventory and saves Grows the derelict crawler into the whole game, and gets it ready to publish. - A galaxy of star systems joined by lanes, split between four peoples' territories, with a star map and a system map. Systems are modelled with Kepler orbits, moons inside their Hill spheres, belts past the frost line and stations at Lagrange points. - Flight around one place at a time: arcade flight with a throttle fallback where held keys can't be detected, mining rocks for ore, landing, docking at stations, and boarding wrecks that come and go by the calendar. - Your ship to walk about, and capital cities to land at: generated plans with walls, quarters and streets, building interiors, shops, taverns, scholars and armourers. - Fighting with a weapon and a gun ready, six damage types and how each monster takes them, and armour that guards, wears and can be mended. - Everything you own has a weight: a vim-keyed inventory, a pack and the ship's lockers, and trade in ore, salvage, arms and fuel. - Characters with a people and a ship of their own, saved as versioned JSON on every scene change and on quit, with a character sheet, a saves list and a pause menu wherever you are. - `orrery weapons`, `armour`, `galaxy`, `system` and `town` print the generators' output without the TUI. - Release: README install steps for macOS and Linux, a Makefile whose install also works with macOS's install, an MIT licence, and Cargo metadata with rust-version 1.88. Co-Authored-By: Claude Opus 5.5 --- src/scenes/forge.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/scenes/forge.rs') diff --git a/src/scenes/forge.rs b/src/scenes/forge.rs index f856c8f..a49e098 100644 --- a/src/scenes/forge.rs +++ b/src/scenes/forge.rs @@ -10,6 +10,7 @@ use ratatui::style::{Color, Style, Stylize}; use ratatui::text::{Line, Span}; use ratatui::widgets::{Block, Paragraph, Wrap}; +use super::keys; use super::{Scene, Transition}; use crate::app::Ctx; use crate::names::{self, Artifact, Culture}; @@ -51,7 +52,8 @@ impl Forge { } } -fn colour(culture: Culture) -> Color { +/// Each people's colour, wherever they're shown. +pub fn colour(culture: Culture) -> Color { match culture { Culture::Qaari => Color::Yellow, Culture::Cant => Color::Red, @@ -147,7 +149,11 @@ impl Scene for Forge { frame.render_widget(Paragraph::new(lines).block(block), artifacts); frame.render_widget( - Paragraph::new(" [space/→] forge again [←] previous [esc] back").dark_gray(), + Paragraph::new(keys::line(&[ + ("space →", "forge again"), + ("←", "previous"), + ("esc", "back"), + ])), footer, ); } -- cgit v1.2.3