Devlog No.4 09/25
It's already autumn. It's getting pretty chilly where I live.
Information Contagion & Memory Management
- Implemented memory decay and information propagation logic. When NPCs encounter and interact with each other, information is passed along as a "rumor" with reduced resolution. The resolution of all rumor data decays each turn; once it drops below a certain threshold, the rumor is completely erased from the NPC's memory. This prevents memory bloat and the infinite spread of rumors.
As a current development challenge, this underlying logic isn't clearly reflected in the UI yet, leaving it a bit of a black box from the player's perspective. While this is partially intentional, I'll continue working toward a UI where the game logic can be understood intuitively as much as possible.
Dual Inventory UI & Context Menu Support
- Introduced a system for intuitively transferring items to another base or character's inventory. Made major UI revamps, including data handling when dropping items "from the left grid to the right grid" and visual feedback when crossing borders. Additionally, implemented a feature to send items directly to another inventory via a right-click context menu, letting players choose their preferred method (drag-and-drop or right-click).
Intel Engine (Foundation for Memories and Impressions)
- The engine serving as the NPC's mind. Using SQLite as the backend, it persists events such as HOMICIDE, BETRAYAL, and OPERATION. It autonomously manages and links which events each NPC knows about and in what role (witness, victim, perpetrator, etc.).
Evidence Pipeline (Event-Driven Evidence Generation System)
- A pipeline designed to safely and appropriately feed all in-game occurrences into the Intel Engine. It is built to be fully event-driven to keep existing gameplay logic loosely coupled from the recording layer.
- Event Sorting: Automatically separates raw incoming signal data into "evidence records (EVENT)" and "routine affinity changes (IMPRESSION)", converting them into standardized formats.
- Witness Selection: Queries NPCs at the incident location to dynamically designate "witnesses."
- Gatekeeper (EvidenceGate): Introduces final verification logic to check the "authenticity" and "whitelist status" of generated evidence, preventing invalid data from being memorized.
Through this, I built a system where witnesses are automatically designated behind the scenes and NPC memories are managed.
I've been using SQLite to manage the NPCs themselves for a while now; the processing speed is extremely fast with no practical complaints. However, it falls a bit short in terms of modding flexibility, so I'm considering releasing a simple dedicated editing tool alongside the game for players who want to tweak subjects. NPC memories and impressions are managed via JSON. It shouldn't be too difficult to implement and seems quite doable in my spare time, though sorry in advance if I end up forgetting.
That wraps up the devlog for September 25.
Posted Sep 26, 2026, 3:01 AM UTC