Skip to content
View barbalet's full-sized avatar

Block or report barbalet

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
barbalet/README.md

Tom Barbalet

I build simulations, games, tools, and small systems that explore how complex worlds can emerge from compact code. Most of my public work sits somewhere between artificial life, cognitive simulation, ecological modelling, historical systems, deterministic game engines, and practical native software. I am especially interested in agent behavior, environment, weather, language, long-running simulation lineages, and the way older ideas can be carried forward through new platforms without losing their original character.

The newest public work is also represented through Jagged Seraph, a public-facing home for current game projects shaped by artificial life, generative AI, and moral play. It currently helps frame the newer project direction around Cage Fighting AI, Caz, and related public project material.

Cage Fighting AI is the latest public C simulation. It models identical humanoid cage-fighting robots with the same body, mass, armor, actuator, processor, and component-health rules. The competitive difference is the command program loaded into the head-resident processor. The current simulator has continuous arena positions, velocity, hard-body separation, wall contact, body contact, knockback, downed states, standing recovery, component damage, stoppage rules, and tournament comparison between .cfos command sets.

Caz is a Cat Operating System: a small Z80-inspired virtual machine driving a simulated contemporary house-cat droid. It combines a readable C VM, .caz assembly programs, sensor ports, actuator ports, body skills, reflex state, domestic and rural scenarios, and a CazMac native visual path. It is not a cycle-perfect emulator; it keeps the parts that make an 8-bit animal mind feel tangible: registers, flags, bytecode, input/output ports, jumps, and a loop that has to notice the world before deciding what kind of cat it intends to be.

The newest public battle-simulation line is the modern urban tactical work around mosul, fallujah, and modernerKrieg. mosul is the Mac SwiftUI project home for a playable tactical demo set around the 2003 Market / Commercial Streets scenario in Mosul, Iraq. fallujah extends the same public-facing modern conflict direction toward the First Battle of Fallujah. modernerKrieg is the portable C + CMake tactical engine underneath: deterministic rules, scenario data, asset manifests, board projection, AI/autoplay, replay validation, scoring, headless tests, and native-frontend handoff. Together they focus on urban security problems: line of sight, suppression, wounds, casualties, civilian risk, hidden contacts, suspected threats, rooftop and breach/search interactions, objective control, and platform-native interfaces over shared portable rules.

The recent historical wargame work grew through guderian, monty, and derZweiteWeltkrieg. guderian is a macOS World War II wargame project about battles connected to Heinz Guderian's field commands, with sober historical framing and a default emphasis on the forces resisting or countering those commands. monty applies the same broad design pattern to Bernard Montgomery's field commands, with either side selectable. derZweiteWeltkrieg is the underlying playable SwiftUI/C tabletop-style World War II demo, covering force setup, deployment, movement, shooting, artillery, transports, vehicle damage, assaults, morale, objectives, and victory scoring.

zombie moves the battle-simulation approach into selected armed engagements from The Troubles, while deliberately excluding attacks on civilians, sectarian killings, punishment attacks, riots, and crowd violence. It uses a bounded tactical scenario model, high-level historical source notes, protected noncombat spaces where needed, and a Mac Catalyst path for scenario browsing and play. fieldofchaos is the tabletop-skirmish rules and engine exploration that informs that work: a traceable C implementation, SwiftUI/Metal app shell, campaign layer, tutorial flow, rule reference, deterministic tests, and release-candidate tooling.

ApeSDK remains the central long-running artificial life line. It is the public home of the Noble Ape / Simulated Ape simulation, now a portable C codebase for autonomous ape-like beings in a changing landscape with weather, biology, movement, memory, language, social relationships, immune behavior, scripting, graphics, and native wrappers. Around that core are descendants and support projects: immersiveape, the next incarnation of ApeSDK; apesdk-rs, a Rust version; apesdk-js, a JavaScript port; longtermbrief, a reduced ApeSDK form for command-line and language-port work; and skeleton, a Noble Ape skeleton project.

Other recent and older public projects explore simulation, engines, and small utilities. lastbreach is a post-apocalypse shelter simulation about routine, scarcity, tools, morale, repairs, food, water, and everyday survival after the dramatic event has already happened. jungle is a first-person jungle perspective for the Mac. musictodriveby is an urban 3D engine. werewolf is a C to Java, JavaScript, Ruby, and Python transpiler. png2json turns PNG files into JSON descriptions.

The older environmental and historical simulations still matter to the shape of the work. bronzesim is a stand-alone ISO C99 simulation of an Early Bronze Age-style island world driven by a small domain-specific language. london1940 simulates London in 1940. They sit beside ApeSDK as part of the same long interest in worlds that can be inspected from the inside: terrain, weather, people, occupations, stress, conflict, and daily life represented through compact rules.

Across these repositories, I tend to favor small, inspectable codebases, portable C foundations, deterministic test surfaces, native Mac interfaces, and systems that can be understood from the inside out. Some repositories are active development work; others are archives, sketches, ports, preserved stages, or public records of a longer line of thought. Together they form a public record of simulation craft: agents, worlds, battles, terrain, cognition, tools, language, and experiments.

For a broader curated index of public work, visit barbalet.com.

Pinned Loading

  1. apesdk apesdk Public

    The aim of this artificial life simulation is to create a detailed biological environment and a cognitive simulation.

    C 55 2

  2. modernerKrieg modernerKrieg Public

    Modern Wargaming Engine developed for Mosul wargame project

    C

  3. mosul mosul Public

    A tactical war game based on the battles for Mosul with modernerKrieg

    Swift

  4. cagefightingai cagefightingai Public

    The spec of the cage fighting AI robot

    C

  5. caz caz Public

    Cat Operating System Based on Z80 instructions

    C

  6. guderian guderian Public

    Simulate the WW2 battles of Heinz Guderian

    Swift