davidslv
This is a different problem to solve, but clearly is saying "garbage in, garbage out". To me this seems more cultural education.
Honest note: AI-assisted throughout — I steered and verified every claim against the bytes. No game data committed; tests synthesise fixtures from the documented format.
The Modular Monolith in Rails: Engines, Packwerk and Boundaries
When Rails Engines Are the Wrong Tool
Why Architecture Matters: Rails Engines for Modular Monoliths
Full disclosure: The project benefited significantly from AI assistance in the later stages to keep momentum going while balancing a full-time job and family. I used AI as a coding partner - I made all architectural decisions, reviewed every change, and stayed in control of the direction. It let me focus on the interesting problems (ECS design, event systems) rather than grinding through boilerplate.
The game runs entirely in the terminal and uses the same architectural patterns we use in production web apps - ECS for entity management, pub/sub for events, observer patterns for game state.
Why Ruby? Honestly, because it's the language I know best, and I wanted to prove you could build a game without reaching for Unity, Godot, or even a Ruby game library. It's all vanilla Ruby.
The codebase is fully open source and I've also written a book about the process (5 years in the making) that walks through the architecture decisions: https://www.amazon.com/Building-Your-Own-Roguelike-Hands-ebo...
Technical highlights:
- Entity-Component-System from scratch - Event-driven game loop - No dependencies (just Ruby stdlib) - Runs in the terminal
I'd love feedback from the HN community, especially on the architecture patterns. Happy to answer any questions about the implementation.
Thank you, davidslv
Show HN: Terminal roguelike using Entity-Component-System in pure Ruby
Show HN: Vanilla Roguelike – My 5-Year Solo Ruby Project Now OSS
https://github.com/Davidslv/vanilla-roguelike
After 5 years of solo development, I'm opening up Vanilla Roguelike, a turn-based roguelike written in pure Ruby.I belive it demonstrates Ruby's strengths in game dev, with procedural maze generation (algorithms like Binary Tree and Recursive Backtracker) and an ECS (Entity-Component-System) architecture for modularity.Current state: It's a work-in-progress.Mechanics are limited (e.g., you can...
It's not really a complete game at this stage, all you can do is travel through the randomly generated mazes once you hit the stairs.
I thought I would share as I have been struggling for time to do further features.
Any feedback is appreciated, feel free to have a look around and contribute if you so wish.