Skip to content
View Giftedx's full-sized avatar

Highlights

  • Pro

Block or report Giftedx

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
Giftedx/README.md
Four of Michael's projects side by side. The ha·ggis Hub bothy at sunset, the Wild Haggis Survivors menu, the AccentGuessr globe, and the IdleScape 3D world.

Michael

Systems, games, and a wee bit of Scotland.

I make playable things, and the engines underneath them. Mostly Rust and TypeScript. I keep a soft spot for the parts other folk skip: the deterministic core, the hand-written hash, the sprite drawn in code.

🎮 Live now

The ha·ggis Hub bothy — a Highland cottage interior at sunset with a lit hearth and the wee crowned haggis Wild Haggis Survivors main menu, its title glowing over a darkening moor
ha·ggis Hub
The lobby. Chap a door and you're in a game. ha + ggis = haggis.
Rust + WebAssembly core · hand-rolled Canvas2D renderer · strict TypeScript host
▶ Play it live
Wild Haggis Survivors
A Highland-at-dusk bullet heaven. Your haggis has famously uneven legs, so every step drifts a few degrees clockwise.
Phaser 4 + TypeScript · every sprite drawn in code · English & Scots · deterministic replays
▶ Play it live

Just Five More Minutes: a 2004-flavoured bedroom game. A daft wee MMO runs on the bedroom CRT while your mum asks you, three separate times, to tidy your room. Three.js, generated entirely at runtime. ▶ Play it live

flowchart LR
    subgraph live["Live at ha.ggis.xyz"]
        hub["ha·ggis Hub — the lobby"] -->|door| whs["Wild Haggis Survivors"]
        hub -->|door| jfmm["Just Five More Minutes"]
    end
    subgraph shop["The workshop — private, for now"]
        ag["AccentGuessr"]
        is["IdleScape"]
        pfd["plex-for-discord"]
        kw["Kittiwake"]
    end
    robot["the robot"] -.->|tends| live
    robot -.->|tends| shop
Loading

🧮 Other

Project-Euler-Clanker: 138 maths problems wearing far too much architecture, after an AI got hold of them. (Outside the diagram.)

🔨 In the workshop

Private while they grow, so no links. Nothing here should 404 on you.

Project What it is
The robot It scouts my repos for red CI and rough edges, writes a fix, verifies it, and ships it. A second model reviews anything that smells off.
AccentGuessr GeoGuessr for voices. Hear a stranger speak, race to pin the accent on the map. Rust→WASM client, a hand-rolled WebGPU globe, zero npm packages.
IdleScape Old School RuneScape, but idle — in an actual 3D world instead of a spreadsheet. Go tick engine, React + WebGL client.
plex-for-discord Watch Plex together inside Discord, properly in sync. A four-crate Rust workspace with its own Discord Gateway client.
Kittiwake A small, honest site for the family's off-grid hut on the Isle of Mull. Astro + Tailwind, and nothing it doesn't need.

🧰 Toolbelt

Rust Go TypeScript Python WebAssembly Phaser 4 Astro


Everything playable lives at ha.ggis.xyz. Mon then.

Pinned Loading

  1. ha-ggis-hub ha-ggis-hub Public

    A playable Highland-games arcade lobby - walk to a door, tap, you're in a game. Rust + WebAssembly core, hand-rolled Canvas renderer, strict TypeScript host. ha + ggis = haggis.

    TypeScript

  2. just-five-more-minutes just-five-more-minutes Public

    A 2004-flavoured bedroom game with Mudwick Online inside your CRT — grind goblins, dodge chores, survive dinner.

    TypeScript

  3. wild-haggis-survivors wild-haggis-survivors Public

    A handcrafted Highland-at-dusk bullet heaven: you are a wild haggis whose every input drifts clockwise. Phaser 4 + TypeScript, every sprite drawn in code, bilingual English/Scots, deterministic rep…

    TypeScript