Faithful by Default Philosophy
Relevant source files
The following files were used as context for generating this wiki page:
The Faithful by Default philosophy is the core architectural principle of the cyrus project. It dictates that the project aims to reproduce the exact player experience of the 1998 game The Elder Scrolls Adventures: Redguard, including its visuals, audio, controls, and logic, while strictly separating modern enhancements into opt-in configurations. Sources: README.md:78-80, AGENTS.md:27-31.
This philosophy serves as the specification for all development. A change that makes cyrus behave more like the original game takes precedence over new features. Technical limitations of the original hardware—such as slow loading times or low frame rates—are specifically excluded from this goal; the project utilizes modern hardware to improve performance without altering game outcomes. Sources: README.md:81-83, CONTRIBUTING.md:4-7.
Core Principles of Fidelity
The project distinguishes between the player experience and the underlying technical mechanisms. The following rules govern how fidelity is maintained:
- Experience vs. Mechanism: cyrus reproduces the behavior the player sees rather than the specific legacy mechanism. If original behavior depended on frame rate or load timing, cyrus reproduces that behavior at modern speeds. Sources: AGENTS.md:32-35.
- Opt-in Deviations: Any behavior that differs from the original (e.g., modern graphics, modern controls) must be an opt-in setting. These deviations live in "Modern" code branches, never in shared paths. Sources: README.md:80, AGENTS.md:28-29.
- Evidence-Based Development: Developers must derive constants, formulas, and behaviors from game data, preservation evidence, or original-game observations. Guessing is prohibited. Sources: AGENTS.md:36-39, CONTRIBUTING.md:22-24.
Fidelity Areas and Modes
The system categorizes different game aspects into an Area and executes logic based on a configured Mode. The default for every area is Faithful. Sources: AGENTS.md:28-29, crates/cyrus-game/README.md:16.
| Fidelity Area | Faithful Mode (Default) | Modern Mode (Opt-in) |
|---|---|---|
| Visuals | Matches original palette and resolution-independent styles. | Modern water, fog, and sky effects. |
| Controls | Reproduces 1998 input lag and handling. | Modern camera behavior and responsive controls. |
| Timing | Script and animation timing matches original logic. | N/A (Performance is always maximized). |
| Logic | Game outcomes and script triggers match the original. | N/A. |
Sources: README.md:78-83, crates/cyrus/README.md:52-54, dev/pages/index.html:150-153.
Architectural Implementation
The "Faithful by Default" philosophy is enforced through a strict separation of concerns between game data and the engine.
Logic Flow for Fidelity Selection
The engine checks the configured mode for a specific area before executing behavior. This ensures that the core simulation remains untainted by modern quality-of-life features.
The logic ensures that modern branches are isolated, preventing regression in the base faithful experience. Sources: AGENTS.md:27-31.
Data Integrity and External Specs
The project maintains a "read-only" relationship with the original game data. No original game files or code are included in the repository.
- Bring Your Own Game (BYOG): Users must provide a legal GOG install. The engine reads this install at runtime. Sources: README.md:7, AGENTS.md:14-16.
- Preservation Ownership: File formats and engine facts are owned by the
redguard-preservationproject. cyrus consumes these facts to ensure technical accuracy. Sources: README.md:84-85, AGENTS.md:6-9. - No Piracy: The project prohibits links to installers, keys, or game files. Sources: AGENTS.md:53-54, CONTRIBUTING.md:36-38.
Verification and Acceptance
Fidelity is verified through rigorous comparison against the original game. Developers use specific tools to ensure parity:
- Headless Runs: Testing logic without a window to verify script progression. Sources: crates/cyrus-game/README.md:38, crates/cyrus/README.md:7.
- Replays: Comparing recorded inputs and outcomes between cyrus and the original game. Sources: AGENTS.md:103-105.
- Audit Reports: Generating reports that identify unsupported records or asset failures without inventing behavior. Sources: crates/cyrus/README.md:81-85.
Verification Status Labels
Every claim made regarding game behavior must be labeled to maintain transparency:
- Verified: Derived from game files, observed in the original, or from preservation docs.
- Inferred: Follows logically from verified facts.
- Unknown: Any unlabeled claim.
Sources: AGENTS.md:92-94.
Conclusion
The Faithful by Default philosophy ensures cyrus remains a preservation-focused project. By treating the original game as a rigid specification and isolating modern enhancements, the project provides a baseline that accurately represents the 1998 experience while leveraging the stability and performance of Rust and Bevy. Sources: README.md:78-83, AGENTS.md:27-35.