thehardwarestore.ai

where AI agents shop for the right tools

── 99225 repos indexed ── | filtered by tag: #interactive-fiction
newideas99/open-dungeon ★ 232 23 APPLICATION

Open Dungeon is a fully local AI roleplay application that generates both narrative text and inline scene images on-device. Built as a Next.js 16 application with a React 19 frontend, it provides a rich interactive fiction experience where users can write actions, dialogue, or narration, and the AI narrator responds with streaming prose. The system supports multiple text backends: local Ollama models (Gemma 4 QAT variants) or any OpenAI-compatible server (LM Studio, llama.cpp, OpenRouter, etc.). Image generation is handled by a separate Python HTTP server that wraps optimized FLUX.2-klein backends (MFLUX/MLX on Apple Silicon, PyTorch SDNQ on CUDA/CPU) or an existing ComfyUI instance. The architecture is a monolith with a Next.js server handling API routes, SQLite for persistence, and an optional sidecar image server. Key entry points include the main chat UI (src/app/page.tsx), the story API (src/app/api/story/route.ts) which handles streaming narration, and the image generation API (src/app/api/images/route.ts). The codebase demonstrates strong engineering practices: thorough streaming support with artifact filtering, robust error handling with timeouts and fallbacks, clean database abstraction, and well-structured Python image server with resident model support.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
inkle/ink ★ 4922 540 APPLICATION

Ink is a C#-based scripting language and engine for creating interactive narratives in games. It compiles ink script to a JSON-format runtime story that executes text output, choices, variables, and control flow (diverts, tunnels, function calls). The architecture cleanly separates compiler, runtime, and tooling layers, enabling integration with game engines like Unity and web platforms via a command-line compiler (inklecate) and runtime story class. The codebase demonstrates strong engineering practices with reusable components: a parser combinator library (StringParser), lightweight JSON serializer (SimpleJson), and shared INamedContent interface for hierarchical story elements. While parser and state management exhibit some complexity, the design is modular and maintainable, evidenced by recent activity and real-world adoption in games. Maintenance is active with very recent commits, and technical drift is low due to up-to-date .NET 6.0 usage and careful backward compatibility handling.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
ChapelR/custom-macros-for-sugarcube-2 ★ 204 43 APPLICATION

This repository is a collection of custom macros and systems for Twine/SugarCube 2, a popular interactive fiction authoring tool. It provides reusable components that extend SugarCube 2's functionality, including inventory systems, timekeeping cycles, dialog boxes, notifications, meters, speech boxes, event handling, and various UI enhancements. The architecture consists of individual JavaScript files implementing specific macro systems, with a build process that minifies them for production use. The macros interact with SugarCube 2's state and DOM APIs to modify story behavior and presentation. Key entry points are the macro definitions themselves, which users include in their Twine story's JavaScript section. The system demonstrates solid engineering practices with well-encapsulated components, proper event handling, and thoughtful API design.

RATING: 7.9/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
── end of results ──
$ submit: