Skip to content

About

The second-dumbest creature in the universe as a Codex pet

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

Repository files navigation

Dopefish Codex Pet

The second-dumbest creature in the universe can now be your Codex pet. Made with love. Suggestions welcome.

Dopefish hero reel: idle blink, chomp, burp, belly-up tumble

Install

Use the published package from mychaelconnolly/dopefish-codex-pet:

Install Dopefish in Codex

Manual install from this checkout, useful while testing the local dopefish-v0.14.0 build:

mkdir -p "$HOME/.codex/pets/dopefish"
cp pets/dopefish/pet.json pets/dopefish/spritesheet.webp "$HOME/.codex/pets/dopefish/"

Then open Codex, go to Settings > Appearance > Pets, and refresh custom pets from your local Codex home.

Sprite Sheet

Dopefish Codex pet sprite sheet

What This Is

This repo packages a custom Codex pet as a ready-to-install pet.json and WebP spritesheet.

Project details:

  • Built in accordance with OpenAI's documented Codex pet flow.
  • Uses the documented codex://pets/install link format with name, HTTPS imageUrl, and optional description parameters.
  • Supports local manual install through the Codex home pet directory.
  • Keeps the source-pixel style: nearest-neighbor scaling and hard sprite edges.
  • Includes the dopefish-v0.14.0 build with per-state animation identity:
    • idle: calm swim with a rare eye blink (frame 3).
    • running-right: the 8-frame left-facing chomp row from v0.13, now with a sine bob.
    • running-left: swim cycle with a full-amplitude sine bob.
    • waving: front-facing greeting using the burpfish frames.
    • jumping: squash-crouch, rise, apex, stretch-fall, settle arc.
    • failed: belly-up tumble and sink, with a burp bubble rising on the final frames.
    • waiting: swim with a bubble rising from the mouth. Bubbles use the original sheet's white rim-and-shine art with a transparent interior.
    • running: swim into a held chomp (unchanged from v0.13) with a gentle bob.
    • review: front-facing stare at the user with a slow blink.
  • Includes QA artifacts for review: docs/contact-sheet.png and docs/previews/*.gif.
  • Includes a README hero reel generator: scripts/make_hero_gif.py renders docs/hero.gif from build/frames/ (run the build first).

OpenAI documentation:

The atlas uses Codex's full 9-row pet contract:

idle, running-right, running-left, waving, jumping, failed, waiting, running, review

The installable package lives in:

pets/dopefish/pet.json
pets/dopefish/spritesheet.webp

Atlas geometry:

cell size: 192x208
atlas size: 1536x1872
format: WebP with transparency

Current build:

dopefish-v0.14.0

Current spritesheet.webp SHA-256:

85ba1051f742854e4075ac9060362f216adae938fcf42c9cb664807ebf7aa8ce

Process Notes

The package is built from local reference assets committed under source/local-refs/ so the spritesheet can be rebuilt without relying on loose files from a desktop or downloads folder.

The build script creates deterministic frame folders under build/frames/. Those generated files are ignored by Git. Published runtime assets stay limited to pets/dopefish/, while review images stay under docs/.

The final atlas fills every Codex pet row, even when states intentionally reuse frames. That keeps the package compatible with the expected 8-column by 9-row pet layout and makes the behavior easier to inspect.

Rebuild

Install dependencies:

python3 -m pip install -r requirements.txt

Build source frames into build/:

python3 scripts/build_exact_dopefish.py

Compose and validate the Codex atlas with the hatch-pet skill scripts:

SKILL_DIR="${CODEX_HOME:-$HOME/.codex}/skills/hatch-pet"
python3 "$SKILL_DIR/scripts/inspect_frames.py" \
  --frames-root build/frames \
  --json-out build/qa/review.json \
  --require-components
python3 "$SKILL_DIR/scripts/compose_atlas.py" \
  --frames-root build/frames \
  --output build/final/spritesheet.png \
  --webp-output build/final/spritesheet.webp
python3 "$SKILL_DIR/scripts/validate_atlas.py" \
  build/final/spritesheet.webp \
  --json-out build/final/validation.json
python3 "$SKILL_DIR/scripts/make_contact_sheet.py" \
  build/final/spritesheet.webp \
  --output build/qa/contact-sheet.png
python3 "$SKILL_DIR/scripts/render_animation_previews.py" \
  --frames-root build/frames \
  --output-dir build/qa/previews

Update the packaged pet after validation:

cp build/final/spritesheet.webp pets/dopefish/spritesheet.webp
cp build/qa/contact-sheet.png docs/contact-sheet.png
cp build/qa/previews/*.gif docs/previews/

Notice

This is unofficial fan art. The opening line references the in-game Dopefish description documented on KeenWiki. This project is not affiliated with or endorsed by id Software, Bethesda, Microsoft, or any rights holder. See NOTICE.md.

About

The second-dumbest creature in the universe as a Codex pet

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages