smoky1496's picture
SpawnPoint-Coder-7B v5: side-scrolling shooters, per-genre format, reads Vietnamese directly
75aed62 verified
|
Raw History Blame Contribute Delete
4.75 kB
---
license: apache-2.0
language: [en, vi]
library_name: transformers
tags: [gamedev, godot, json, spawn-point, awq]
---
# SpawnPoint-Coder-7B
**A 7B model that generates Godot 4 games.** Fine-tuned for [Spawn Point](https://github.com/leluong141996-dev/Spawn-Point),
an open-source autonomous game studio: you describe a game in plain English or Vietnamese, the model writes
the game design as strict JSON, and Spawn Point compiles it into a playable Godot 4 project (scenes, GDScript
components, levels, sprites) that runs on desktop or in the browser.
What it does inside the pipeline:
- **Design**: game idea → the game's design (one small schema per genre: character, abilities, enemies, goal, art style, feel).
- **Tweak**: "jump 20% higher, add a sword, make it cartoon" → a precise patch of the game.
- **Edit an entity**: "double its health and make it shoot fireballs" → component and parameter changes.
4-bit AWQ, runs on a single 12 GB GPU.
**What's new in v5**
- **Side-scrolling shooters** ("a falcon ship fights drones and saucers, the boss is a mothership"): enemies that
fly straight, in waves, dive at you or stop and shoot; power-ups; a boss.
- **Vietnamese is read directly**: no separate translation step, so names come out right ("chú vịt" is a Duck).
- **One small schema per genre**: shorter answers and prompts (a third of the v4 prompt) and no cross-genre
mistakes such as a rescue target in a farm.
- Fixes from v4: "a wizard shooting skeletons" keeps the shoot ability, "collect coins" is a collect goal, an unnamed
pickup is a Coin.
**Needs Spawn Point 0.3 or later**: v5 answers in the per-genre format. Older Spawn Point versions expect the v4
format; use release `v4-release` of this repo with them.
## Run it
```bash
docker run --gpus all -p 8000:8000 --ipc=host vllm/vllm-openai:v0.10.2 \
--model smoky1496/SpawnPoint-Coder-7B-AWQ --served-model-name SpawnPoint-Coder-7B --max-model-len 16384 --gpu-memory-utilization 0.85
```
Then Spawn Point finds it automatically at `http://localhost:8000/v1`.
## Evaluation
Hand-written prompts in English and Vietnamese through the whole pipeline, same server and sampling for both versions.
Sealed sets were written before training and not looked at until the release decision. The first two rows include
prompts about the genre v4 did not know, so v4 cannot be expected to answer them.
| benchmark (prompts fully right) | v4 | v5 (this release) |
|---|---|---|
| **sealed set: shooters and the v4 fixes** (16 prompts) | 56% | 88% |
| dev set: shooters and the v4 fixes (24 prompts) | 54% | 83% |
| sealed set: farms, tower defense, cartoon (12 prompts) | 67% | 92% |
| 16 prompts: farms, tower defense, melee, cartoon | 75% | 75% |
| sealed set: the first nine genres (12 prompts) | 67% | 58% |
| 30 human-written prompts | 87% | 80% |
| 12 prompts: bubble, rescue, survivor | 92% | 92% |
**Where v5 is a little behind v4**: on the 30 prompts and the sealed set written before shooters and farms existed.
Some of those prompts are now genuinely ambiguous ("a space shooter" can be a side-scrolling shooter, "a farm game"
a farming game), and a few name the player only indirectly ("a tank shooting monsters": the tank can come out as the
default hero). Results vary by one to three prompts per set from run to run. A patch for this is planned.
Held-out synthetic examples with one exact answer (v5 only: they use the v5 format): briefs 73%, tweaks 98%, entity edits 100%.
The 4-bit AWQ files you download, measured the same way:
| benchmark (prompts fully right) | AWQ build |
|---|---|
| **sealed set: shooters and the v4 fixes** (16 prompts) | 75% |
| 30 human-written prompts | 77% |
| dev set: shooters and the v4 fixes (24 prompts) | 83% |
## Limitations
- Fine-tuned only for the 2D game kinds Spawn Point builds: **platformers (including rescue missions and sword
fighting), top-down arenas and survivors, bubble shooters, farming games, tower defense and side-scrolling
shooters**. Other genres (3D, RPG systems, card games, racing…) and free-form Godot coding were not part of the
training data, so expect results no better than a general 7B coder model there.
- Prompts that do not say the genre can be read either way ("a space shooter" may come out as a side-scrolling
shooter, "a farm game" as a farming game).
- It writes Spawn Point's JSON formats; the GDScript itself comes from Spawn Point's tested component
library, not from the model. Outside Spawn Point it is a general coding model with a narrow specialty.
- Occasionally one detail of a request is missed (an enemy's name, a palette); Spawn Point's validator and
normalizer catch most of these.
## License
Apache 2.0, see `LICENSE` and `NOTICE`.