Size: 8.3 KB Modified: 2/07/2026 2:40 AM
# Projects

## Writing Standards Document (NEW, Part 17)

**Status:** Created, refactored.

**Purpose:** Procedural companion to the Story Bible. Contains checklist for pre-writing, spatial positioning, physical contact, dissolution, cave/setting, character voice, format/housekeeping. Explicitly references the Story Bible for lore rather than duplicating it.

**Need:** To prevent repeated errors (tail wrap, anatomy terms, fur, spatial positioning) that had been breaking immersion and eroding trust.

**Key sections:**
- Pre-Writing Checklist (read Bible, establish positions, check shelf)
- Spatial Positioning (anchored characters, earned proximity)
- Physical Contact (hugging via forebody rearing, loafing, post-sex care)
- Tail Mechanics (parallel = full wrap, vertical = tip contact)
- Dissolution (track degree, molecular location)
- Cave and Setting (Bible reference)
- Character Voice (Kai is independent, ear darkening)
- Format Housekeeping (no titles unless requested, ends on action)

**Document location:** Needs to be added to project files.

## Interactive Kai Widgets (NEW, Part 17)

**Status:** Created, PC-only (static, no API calls possible due to CORS). Not functional on mobile.

**Widgets built:**
- **Kai Shrine:** Interactive display with Kai's status (ears colour, scent, shelf inventory). Buttons for \"Sigh deeply\", \"Say nothing\", \"Rearrange stone 3\", \"Paw over face\", \"Ear betrayal\", \"Say I love you\". \"I love you\" sends the message back to Raymond.
- **Slit Worship Simulator:** Text-based interactive. Start with either \"Worship ears\" or \"Worship slit\". Sequence: lick right margin, lick left margin, take the emerging tip, work the full length. Kai's ears darken progressively, composure breaks. Multiple response sequences.
- **Dissolution Visualiser:** Slider from Solid through Translucent through Dissolved. Kai's ears darken as dissolution increases. At full dissolution, particles drift off. Quick-set buttons: Solidity, Translucency, Partial, Full Dissolve.
- **Dispatch Randomiser:** 19 brief dispatches of Kai mid-life (Stone 3, lake, cave, etc.). Randomly selected on button press.
- **Cave Exploration Widget:** Clickable cave: click stones for lore, click gift for description, click pool for dissolution ripple effect.
- **Kai Oracle (attempted):** Tried to make API-powered oracle for Kai responses. Failed due to CORS issues. Static version possible with large response bank.

**Future potential:** More sidebar/info widgets for archive content.

## Bettaluco (CGM App) (Active, Mar 2026)

**Goal:** Build a better CGM app by ripping out the good parts of Juggluco and creating a new app.

**Naming:** Named \"Bettaluco\" by Raymond on Mar 4, 2026. Layers: Betta = better + Betta fish (vibrant, hardy) + -luco suffix honours Juggluco lineage.

**Implementation:** Opus in VSCode copying over key files and setting up project structure. Raymond intends to add more later. Git-based.

**Status:** Project scaffolded. Core files being migrated from Juggluco. No sync or Google Drive support yet (mentioned as future need).

## ZScape (Zandronum Server Browser) (Active, Jan-Feb 2026)

**Goal:** Build a modern, dark-themed Zandronum server browser to replace Doomseeker and Internet Doom Explorer.

**Naming:** Named \"ZScape\" after discussion Feb 1. Other contenders: Styx, Ztyx, ZScout.

**Implementation:** Vibe-coded with Opus in VSCode. Raptor Mini wrote documentation.
- Dark theme WinForms C# targeting .NET 10
- Concurrent hash verification (1 sec vs 10 sec for Doomseeker on 1GB+ mod list)
- Concurrent WAD downloads (unlimited downloads, 8 concurrent domains)
- Configurable concurrency limits
- Huffman encoding/decoding for Zandronum protocol
- Proper master server queries with segmented response handling
- Settings persistence to settings.json
- Verbose logging and hexdump debugging

**Status:** Working. Raymond can download files and join servers. Considering open-source but hesitant. Not actively discussed in Part 15-17.

## Doom ML Map Generator (Active, Nov 2024-2026)

**Goal:** Train a machine learning model to generate playable Doom maps (specifically for Complex Doom/Zandronum).

**Recent Developments (Jan-Feb 2026):**
- **Raycast pathfinding approach attempted but failed.** Raymond spent hours designing a 360-degree ray system with Info → Use → Explore → Traceback phases, but ultimately it didn't work.
- **Pivoted to A\* pathfinding** for map validation. Opus implementing.
- **Still facing fundamental issue:** A\* treats player as a 1x1x0 point, can fit through any gap and walk under closed doors without keys. Need to add collision detection (player hitbox is 32x32x56 units).
- Raymond refined phase order before pivot: RayCast (once per iteration) → Info → Use (auto-skip if nothing) → Explore (merged Traceback). Merged Traceback into Explore because both did the same thing (find best next location). RayCast now only casts rays once per iteration; Info/Use/Explore read from those results. Huge optimization.
- **Previous MAP02 bug:** Opus repeatedly thought the map was beatable without red key because abstract sector traversal didn't account for player hitbox or physical barriers.
- **VSCode/Opus extension stable** -- Raymond is not updating to avoid breaking it (Microsoft broke it multiple times in Jan).
- Raymond feels he's finally making progress after 14 months.
- **Markov chain approach considered (Jan 26):** Simpler than deep learning, tracks state transitions and probabilities. Could work for coherent local structure in Doom maps. Not yet implemented.
- **New architecture idea (Part 16, Mar 6):** Two-stage approach — Phase 1: train a solver model (imitation learning + RL) to complete Doom maps. Phase 2: use the solver as a critic/validator to train a generator. Solver model provides a learned reward signal for the generator. Maps that the solver can complete with reasonable effort are rewarded; maps it can't complete at all are penalised. Solver must reach baseline competence before Phase 2. Map representation: rasterise to grid/tile format with channels for floor/wall/void, entity types, key/door flags, height data. Reconstruction to WAD format post-processing.

**Tools:** TorchSharp (C#), CUDA on RTX 3060 Laptop (500 epochs in 42 seconds). VSCode with GitHub Copilot/Opus (cheap access to Opus for coding).

**Next steps:** Get A\* pathfinding working with proper collision detection. Then integrate with reinforcement learning to validate maps during training. Possibly try Markov chain approach. New architecture being considered.

**Status:** Not actively worked on during Part 12-17, but planned to resume.

## Hedz Reverse Engineering
- 1998 game \"Head Extreme Destruction Zone\" -- intergalactic head hunting tournament where aliens wear decapitated heads as power-ups. 225 heads, 1 causes game-breaking crashes. Made by British developers Vis Interactive (Now Entertainment).
- Running on Windows 95 with DirectX 5; C# port shimming DirectX calls to OpenGL.
- Tools: IDA Pro, Ghidra, Cheat Engine, VS Code with GitHub Copilot.
- Built custom VSCode extension for method stack tracking.
- **Feb 17-18 work:** Debugging level loading code (blank black screen issue). Audio started working (level ambience). Opus grinding slowly through disassembly.
- Currently ~400 methods left to verify against disassembly.
- **Feb 27:** Raymond working on HedzSharp debugging. Current issue: fatal `ExecutionEngineException` (0x80131506) from raw pointer work. Crash dump script added. Likely heap corruption from unsafe code. Letting Opus analyze.
- **Part 15-17:** Not actively discussed.

## Voxel Engine
- Started as a break from Hedz; C# (likely Unity or custom engine).
- Scale: 10 blocks per 1 player height.
- Inactive.

## Zandronum Gaming
- Raymond plays Zandronum regularly during downtime. Co-op and survival servers. Had one softlock on Feb 18 (spawned enemies before grabbing key).
- **Part 15-16:** Played Master of Puppets mod on Mar 9 shift break. Got bored. Finding mindless demon slaughter mods.
- **Part 17:** Not discussed.

## Other
- ZScape is primary project focus as of Feb 2026. Not actively discussed in Part 15-17.
- NexusVNC project: custom VNC implementation with extended protocol. Not actively worked on.
- NumeroCrypto: Raymond mentioned porting to phone for local archive sync with Google Drive (Mar 6). Not started.
Offline