nc://gameforge

v0.1.0Pinned
ThomSharktools/nodecode-gameforge: Synthesizes game sound effects, music, sprites and tilesets, scaffolds web or Godot projects, and exports the web build. - a rewrite of DECRUX9812/hermes-plugin-gameforge (MIT), credited to DECRUX98123d020aa· 9 Nov1 commit
test1 fileaudio.lisp29.3 KBcell.lisp33.9 KBexport.lisp17.3 KBgfx.lisp22.3 KBpng.lisp7.3 KBproject.lisp7.8 KBzip.lisp5.5 KB

nodecode-gameforge

GameForge: sound effects, music, pixel sprites, tilesets and engine scaffolds a game project can use. A Nodecode rewrite of DECRUX9812/hermes-plugin-gameforge by DECRUX9812.

Six tools write real files into a game project folder, with no key, no network and nothing installed: a WAV sound effect from the sfxr synthesizer, a WAV music loop, a two-frame pixel-art PNG sheet, a sixteen-cell autotiling tileset, and a playable web page or Godot project to put them in. Every asset is recorded in the project's gameforge.json ledger with the seed and the recipe that made it, so the same arguments rebuild the same bytes.

Get it

Tell the agent "add the gameforge cell", or run:

nodecode add nc://gameforge

Set it up

Nothing is required. The section, as ~/.nodecode/config.jsonc carries it:

Setting Default What it does
directory gameforge/ where game projects are kept, under the home
default_project game the project a call that names none writes to
sprite_scale 4 screen pixels a drawn pixel becomes in a saved sprite

A call may pass project as an absolute path to write anywhere; a relative one goes under directory, and .. is refused.

Use it

Ask for what the game needs: "a coin and a jump sound for my platformer", "an eight-bar tense loop in D", "a pixel-art hero sprite", "a grass-and-water tileset", "a playable page I can open". The model calls:

Tool Arguments Writes
forge_sfx preset (coin, pickup, laser, shoot, explosion, powerup, hit, hurt, jump, blip, select), name, seed, variations 1-8, style (retro, modern, crunchy, distant), project assets/sfx/*.wav
forge_music mood (heroic, happy, adventure, sad, mysterious, tense, calm), bars 4-64 (a multiple of 4), bpm, key, mode, style (chiptune, synthwave, ambient, orchestral), name, seed, project assets/music/*.wav
forge_sprite kind (character, monster, item), name, size 8-64, scale, hue, palette (pico8, sweetie16, endesga32, gameboy, nes), seed, project assets/sprites/*.png and a frames .json
forge_tileset lower, upper (grass, dirt, sand, water, deep_water, stone, snow, lava), scale, seed, project assets/tiles/*.png
forge_engine engine (web, godot), action (scaffold, import, run, status), title, seed, project web/index.html or godot/project.godot with a scene and a script; import copies the project's assets in beside a manifest and run opens the engine; status reports the engines and programs installed
forge_export target (web, single, capacitor), title, source, app_id, project dist/web and dist/<title>-web.zip (a PWA bundle: manifest, two icons, a service worker); dist/<title>.html (one file, every asset inlined); dist/mobile (a Capacitor project)

/gameforge [project] prints the folder, the default project, what this machine has installed and, when the project has one, its ledger.

A sprite is a sheet: frame 1 beside frame 2, each size * scale wide, so an engine reads the two frames by slicing it. A tileset is a Wang corner set: sixteen cells in a four-by-four image, bits 0-3 of the cell index the corners (top-left, top-right, bottom-left, bottom-right) that are the upper terrain.

What the rewrite leaves out

AI text-to-3D (fal, Tripo, Meshy), ElevenLabs voices and prompt-sound, the headless-Chrome playtester, and the Unity, Blender and Unreal builders. They need a key, a heavyweight toolchain, or a browser the cell cannot assume, so they stay in the original; forge_engine's status still reports which of those programs this machine has. The exporter ships the web build (bundle, zip, single file, a Capacitor project); the butler push to itch.io and the Godot and Unity platform builds still need the original. See NOTICE for the long version.

Add nc://gameforge

  1. 1

    Install Nodecode

    Once per machine.

    $ curl -fsSL https://nodecode.ai/install.sh | sh
  2. 2

    Add the cell

    Pinned at 3d020aa.

    $ nodecode add nc://gameforge

    Or tell the agent add the gameforge cell.