Skip to content

Proposal: Rails 2.0 / Evolution Fork – Shifting the Focus from Bookkeeping to Strategic Thinking #550

@sbleeck

Description

@sbleeck

Visual Evidence & Playthrough: https://www.youtube.com/@18xxEvolution

The New Repository (Rails 2.0): sbleeck/Rails-1835-Special-Edition

Hi everyone,

I’ve been a long-time user of the Rails-18xx engine. Six months ago, I dove into the codebase to ready 1835 for championship-level play. Because this repository has been dormant for several years, I took the architecture in a new direction to support modern, real-time features. This has resulted in what is essentially a "hard fork," with over 100,000 lines of code rewritten.

Everything in this new architecture has been designed to take time away from bookkeeping and give it back to strategic thinking. By drastically reducing cognitive load and visual strain, a full game of 1835 can now be played in two hours instead of three.

I want to share what has been built over these six months to see if there is interest in endorsing this as the conceptual "v2" successor to the project. Here are the three major architectural pillars:

  1. The UI, UX, and Cognitive Load Revolution

The interface has been completely overhauled to create a rock-steady, zero-jitter environment that respects players' time. There is now a single source of truth for all information, eliminating duplicated text.

Railcards: The boardgame experience is back. Certificates are physical-looking beige "Railcards" that animate when transferred and match a strict global color scheme (Red = Sell, Green = Buy, Blue = Action).

The Linear OR Panel & Hotkeys: The old panel is replaced by a strict, top-to-bottom linear sequence (Build > Marker > Revenue > Buy > Special). The game is fully operable via hotkeys ('Enter' executes the default next move), turning the endgame into rapid-fire resolution and speeding it up by 1000%.

Synchronous Play Tools: Integrated chess clocks display active thinking time directly in the Status Window. Autopass is removed to maintain absolute player agency. A massive gray "Game Paused" overlay ensures tournament integrity.

Bulletproof Corrections: The correction managers (Tile, Cash, Stock, etc.) have been completely rebuilt and are 100% stable. Standardized Cmd+Z / Cmd+Y handles seamless undo/redo.

Information Density: Dynamic "Remaining Tiles" window, hex coordinates in clear fonts, plotted terrain costs, and endgame "Time Machine" sliders for visual post-game analysis.

  1. 1817 Implementation & Legacy Refinements

This stable architecture allowed for sweeping catalog fixes.

1817 (Native Implementation): Built completely from scratch. Natively supports short selling, variable interest loans, company liquidations, and dynamic mergers.

1835 & 1837: Brought to championship-level stability. Rebuilt the KK/UG conversions, corrected coal exchange mechanics, fixed National formation rounds, implemented strict Prussian share restrictions, and resolved Baden operational bugs.

JSON State Architecture: Under the hood, the engine now supports JSON state saving and reloading, allowing games to be kickstarted directly from a state payload rather than a chronological history of actions.

  1. The Native AI Engine

The decision logic has been decoupled to build an autonomous "brain." Originally built for 1835, the expert system runs across all versions, generating legal moves using simple heuristics.

Dry-Run Simulations: Utilizes the RevenueAdapter to spin up parallel network graphs, allowing the AI to simulate and score potential tile lays before committing.

AI Building Assistant: In-game, the AI can be invoked to instantly calculate and build the tile that maximizes current train income.

Data-Driven "Opening Books": The AI loads external JSON strategy files to guide draft picks and opening moves based on historical performance and asset synergy, rather than relying on rigid, hardcoded rules.

Because of the massive scale of these architectural changes, submitting a standard Pull Request is technically impossible without causing thousands of merge conflicts.

Instead, I am opening this issue to see if there is interest from the original maintainers in officially endorsing this repository as the successor to the project, or if any of you are interested in migrating your specific game implementations over to this new framework.

Best regards,

Stefan

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions