Skip to content

Instantly share code, notes, and snippets.

View becked's full-sized avatar

Jeff Beck becked

  • New York, New York
View GitHub Profile

@Siontific Old World Channel: Theme Synthesis

Corpus: 73 videos | Date range: September 2, 2025 -- March 5, 2026 | Total runtime: ~187 hours


1. Content Type Breakdown

Content Type Count % of Corpus Total Hours Avg Length
@becked
becked / CrcFix.cs
Created February 11, 2026 02:00
Harmony patch fixing CRC strict mode bug in Old World scenario mods
using System.Reflection;
using HarmonyLib;
using TenCrowns.AppCore;
using TenCrowns.GameCore;
using UnityEngine;
namespace GallicWars
{
/// <summary>
/// Harmony patch that fixes a game bug where AppMain.StartGame() copies the
@becked
becked / old-world-crc-bug.md
Last active February 11, 2026 02:00
Old World Bug: External Scenario Mods with StrictModeDeferred Info Types Cause Version Mismatch

Old World Bug: External Scenario Mods with StrictModeDeferred Info Types Cause "Version Mismatch"

TL;DR

External (user) scenario mods that include -add.xml files for StrictModeDeferred info types (bonus, goal, event, eventOption, eventStory, goalReq, etc.) silently fail at game start with "Version mismatch" in the log. The root cause is that AppMain.StartGame() creates a new ModPath for the server but never copies the strictMode flag from the controller's ModPath, causing an asymmetric CRC computation between server and client.

Internal (DLC) scenario mods are unaffected because their files bypass OpenModdedXML/AddCRC entirely.

Reproduction

Old World: Spectator Games Disappear From Browser

TL;DR

The host stops verifying its Unity Relay allocation once all player slots are filled. The Relay eventually expires. The next person who browses games triggers permanent deletion of the game listing from DynamoDB. Spectator games are the only case where this matters — they need to remain joinable after all player slots are taken.

Bug Location

UnityTransportComponent.OnUpdate() — host match verification loop:

@becked
becked / api-validation-report.json
Created January 31, 2026 18:58
Old World API spec validation report (v3.1.0)
This file has been truncated, but you can view the full file.
{
"generated": "2026-01-31 13:55:05",
"summary": {
"endpoints_tested": 32,
"successful": 32,
"failed": 0,
"unique_issues": 6222
},
"issues_by_type": {
"type_mismatch": 68,
@becked
becked / calamity_mirroring.md
Created January 1, 2026 21:33
Calamity Mirroring in Duels

Calamity Balancing in Multiplayer/Duel Games

No Direct "Mirror" Mechanic, But There IS Balancing

There is NO mechanism that forces one player to experience a calamity within 4 turns after another player experiences one. However, there is a sophisticated balancing distribution system that makes it more likely (but not guaranteed) that calamities spread between players.


How the Calamity Balancing Works

Bug Report: Courtier Mirroring in Multiplayer

Summary

Family seat courtiers (Traders/Merchants, Patrons/Ministers) are cloned between players who found their family seat on the same turn. Both players receive courtiers with identical gender, name, ratings, archetype, and adjective traits.

Severity

Medium - Affects multiplayer balance and immersion when multiple players select the same family class.

Old World RNG Implementation Analysis

Summary

This report documents an investigation into the random number generator (RNG) implementation used in Old World for character generation, specifically examining whether consecutive characters (such as courtiers granted to multiple players choosing the same family) could have correlated traits.

Key Findings:

  1. The game uses two different RNG algorithms: a Linear Congruential Generator (LCG) for seed derivation and a Park-Miller variant for actual random draws.

Courtier Mirroring Analysis Report

Summary

Courtiers granted by family seat bonuses are not mirrored between players in multiplayer or hotseat games. Each courtier receives a unique deterministic seed based on their Character ID, resulting in independent trait generation.

Family Seat Courtiers

Only two family classes grant courtiers when founding their seat city:

@becked
becked / dartfirststate_de_us_procs.sql
Created July 19, 2016 01:30 — forked from mheadd/dartfirststate_de_us_procs.sql
Stored Procedures for querying GFTS data from the State of Delaware in a MySQL database.
-- ----------------------------------------------------------------------------------------------------
-- Stored Procedures for querying GFTS data from the State of Delaware in a MySQL database.
--
-- Copyright 2010 Mark J. Headd
-- http://www.voiceingov.org
--
-- This file is free software; you can redistribute it and/or modify it under the terms of the
-- GNU Library General Public License as published by the Free Software Foundation; either version 2 of the
-- License, or (at your option) any later version.
-- This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;