ADRs (Architecture Decision Records) I've copied the ADRs to the GitHub repository. You can view them here: https://github.com/ChicagoDave/sharpee/issues
ADR 014 - Unrestricted World Model Access So we ran into a goofy problem that would only happen in a modern architecture. Encapsulation is something IF development has rarely adhered to and Sharpee leans into it. The event source and spatial indexing (the implemented world model) have event-based interfaces and you currently can't change things
Integration Testing Exposes Flaw So far the unit testing had gone very smoothly. The architecture was holding up. Until we got to the integration testing, there were no major flaws. But these last tests showed a shallow, but wide problem in our entities. We had been using the name as the id, but that
World Model Testing Pt 1. There were some challenges here, specifically visibility. I have about 10 ADRs (Architecture Decision Records) that I'll share that address complex issues like lighting. We implemented a baseline standard isDark lighting system and this can be replaced with future extensions. PASS tests/unit/world/visibility-behavior.test.ts (18.
Sharpee Platform Architecture Is very nearly complete. I have a baseline story (Cloak of Darkness) somewhat working as expect. Enough to believe the architecture is solid. So how do we prove it outside of a big game? Unit testing. I have completed unit test suites for the packages Core, Event Processor, and am
Sharpee's Architecture Solidifies Rewind A little over three years ago I started playing around with elements of a new IF Platform built in C#. The vision included a graph data store, text service, and not much else. Then when ChatGPT arrived, I was able to make some progress, especially learning new patterns, but
Sharpee: Process an IF turn entirely Without Text As I develop Sharpee, one design decision has clarified significantly. During the processing of a turn, the system won't generate or "print" any text. None. But wait Dave! This IS an interactive (text) fiction authoring thing you're building, right? Yes, but is streaming print
Sharpee's Text Emission Strategy One of the foundational aspects I decided for Sharpee was to use modern architecture. The world model is stored in a bi-directional graph and that is fully working and tested. The next "layer" is the IF "things" and then Grammar, Parser, Language, Game Runner, and the
Sharpee's Architecture Solidifies I have a lot to talk about at this point in the development of my C# interactive fiction authoring platform called Sharpee. The "design" of the system is coming to a working and well-defined point. One of the first things I had envisioned in developing this platform was
I may have found a template for GenAI It's been a few weeks since I worked on Sharpee. Tonight, I think I found a workable template for using GenAI (Claude Sonnet 3.5) to help with the coding. I've set up a set of basic rules for the project as such: "You are