AndrewRqy commited on
Commit
5afb7b3
·
0 Parent(s):

Initial commit — The Apprentice for Build Small

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .env.example +16 -0
  2. .gitattributes +1 -0
  3. .gitignore +78 -0
  4. README.md +112 -0
  5. app.py +0 -0
  6. assets/parallax/banner_far.png +3 -0
  7. assets/parallax/banner_mid.png +3 -0
  8. assets/parallax/banner_near.png +3 -0
  9. assets/parallax/far.png +3 -0
  10. assets/parallax/mid.png +3 -0
  11. assets/parallax/near.png +3 -0
  12. assets/parallax/v1_backup/banner_far.png +3 -0
  13. assets/parallax/v1_backup/banner_mid.png +3 -0
  14. assets/parallax/v1_backup/banner_near.png +3 -0
  15. assets/parallax/v1_backup/far.png +3 -0
  16. assets/parallax/v1_backup/mid.png +3 -0
  17. assets/parallax/v1_backup/near.png +3 -0
  18. assets/sprites/banner_near.png +3 -0
  19. assets/sprites/demo/_model_test/hero_smug_flux_1_1_pro.png +3 -0
  20. assets/sprites/demo/_model_test/hero_smug_flux_1_1_pro_extreme.png +3 -0
  21. assets/sprites/demo/_model_test/hero_smug_flux_1_1_pro_pixelheavy.png +3 -0
  22. assets/sprites/demo/_model_test/hero_smug_flux_schnell.png +3 -0
  23. assets/sprites/demo/_model_test/hero_smug_rd_fast.png +3 -0
  24. assets/sprites/demo/p1_resolve.png +3 -0
  25. assets/sprites/demo/p1_resolve_raw.png +3 -0
  26. assets/sprites/demo_bandit_archer.png +3 -0
  27. assets/sprites/demo_bluejay_angry.png +3 -0
  28. assets/sprites/demo_card_backdrop.png +3 -0
  29. assets/sprites/demo_hero_confused.png +3 -0
  30. assets/sprites/demo_hero_panic_scarf.png +3 -0
  31. assets/sprites/demo_hero_smug_phone.png +3 -0
  32. assets/sprites/demo_hero_tripped.png +3 -0
  33. assets/sprites/demo_hero_whistle.png +3 -0
  34. assets/sprites/demo_hornet_dagger.png +3 -0
  35. assets/sprites/demo_hornet_queen_guilty.png +3 -0
  36. assets/sprites/demo_wraith_heron.png +3 -0
  37. assets/sprites/dragon.png +3 -0
  38. assets/sprites/dragon_black_land.png +3 -0
  39. assets/sprites/dragon_galactic_light.png +3 -0
  40. assets/sprites/dragon_mistgate.png +3 -0
  41. assets/sprites/dragon_quiet_years.png +3 -0
  42. assets/sprites/dragon_space_cowboy.png +3 -0
  43. assets/sprites/dragon_throne_room.png +3 -0
  44. assets/sprites/epilogue_homecoming.png +3 -0
  45. assets/sprites/force_black_land.png +3 -0
  46. assets/sprites/force_galactic_light.png +3 -0
  47. assets/sprites/force_mistgate.png +3 -0
  48. assets/sprites/force_quiet_years.png +3 -0
  49. assets/sprites/force_space_cowboy.png +3 -0
  50. assets/sprites/forest_dusk_texture.png +3 -0
.env.example ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copy to .env.local and fill in. Without these, the app runs in mock mode.
2
+
3
+ # Modal-hosted OpenAI-compatible endpoint (vLLM serving Qwen2.5-32B or similar).
4
+ # Leave empty to force mock mode for the LLM calls.
5
+ MODAL_URL=
6
+
7
+ # Modal proxy auth (optional, only if the endpoint requires headers).
8
+ MODAL_KEY=
9
+ MODAL_SECRET=
10
+
11
+ # Force mock mode for the LLM even if MODAL_URL is set.
12
+ ORACLES_FORCE_MOCK=0
13
+
14
+ # Klein-4B image generation endpoint (separate from the LLM URL).
15
+ # Leave empty to disable live image gen; mock SVG cards are used.
16
+ KLEIN_URL=
.gitattributes ADDED
@@ -0,0 +1 @@
 
 
1
+ *.png filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ---------------------------------------------------------------------------
2
+ # Local secrets — NEVER push to HF Space.
3
+ # ---------------------------------------------------------------------------
4
+ .env
5
+ .env.local
6
+ .env.production
7
+
8
+ # ---------------------------------------------------------------------------
9
+ # Python build artifacts
10
+ # ---------------------------------------------------------------------------
11
+ __pycache__/
12
+ *.pyc
13
+ *.pyo
14
+ *.pyd
15
+ .Python
16
+ *.egg-info/
17
+ .pytest_cache/
18
+
19
+ # ---------------------------------------------------------------------------
20
+ # OS junk
21
+ # ---------------------------------------------------------------------------
22
+ .DS_Store
23
+ Thumbs.db
24
+ .vscode/
25
+ .idea/
26
+
27
+ # ---------------------------------------------------------------------------
28
+ # Dev-only directories — they live on the local machine but never need to
29
+ # ship to the HF Space. The Space only runs app.py + the oracles/ package
30
+ # + prompts/ + assets/sprites.
31
+ # ---------------------------------------------------------------------------
32
+
33
+ # Klein sprite generator scripts — only used at build time
34
+ modal_backend/
35
+ scripts/
36
+
37
+ # Training + distillation — produced the LoRA weights, not needed at runtime
38
+ training/
39
+
40
+ # Smoke / unit tests — not part of the served app
41
+ tests/
42
+
43
+ # Local LoRA adapter weights — published to HF Hub separately
44
+ lora-out/
45
+ lora-out-v2/
46
+ lora-out-tiny/
47
+
48
+ # Pre-chroma-key raw PNGs — *.png is what the app uses
49
+ assets/sprites/*_raw.png
50
+ assets/sprites/v1_backup/
51
+
52
+ # GGUF artifacts for the local llama-cpp backend
53
+ gguf-out/
54
+ *.gguf
55
+
56
+ # Captured LLM traces — submit separately to HF Datasets for the
57
+ # Sharing-is-Caring badge, not for the Space repo
58
+ traces/
59
+ .llama_cpp_cache/
60
+ /tmp/oracles_local_llama.log
61
+
62
+ # ---------------------------------------------------------------------------
63
+ # Project pivot logs + planning docs — useful to the developer, noise to
64
+ # the Space reader. Keep on disk, don't ship.
65
+ # ---------------------------------------------------------------------------
66
+ PIVOT_LOG.md
67
+ IMPLEMENTATION_PLAN.md
68
+ CONTRACTS.md
69
+
70
+ # Mocked / debug output dirs
71
+ mock_out/
72
+ debug_out/
73
+
74
+ # Runtime-generated mock SVG scene images — produced by the
75
+ # image-fallback code in oracles/images.py when Klein output is
76
+ # unavailable. These accumulate over self-test runs and should
77
+ # never ship to the Space.
78
+ assets/generated/
README.md ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: The Apprentice
3
+ emoji: 🌲
4
+ colorFrom: indigo
5
+ colorTo: yellow
6
+ sdk: gradio
7
+ sdk_version: 4.44.1
8
+ python_version: "3.10"
9
+ suggested_hardware: cpu-basic
10
+ app_file: app.py
11
+ pinned: false
12
+ license: mit
13
+ short_description: A pixel-art branching-narrative game powered by a custom 14B LoRA — the mentor inscribes the wisdom, the apprentice has to make it save his life.
14
+ tags:
15
+ - thousand-token-wood
16
+ - off-brand
17
+ - well-tuned
18
+ - field-notes
19
+ - tiny-titan
20
+ - branching-narrative
21
+ - game
22
+ - pixel-art
23
+ - gradio
24
+ - vllm
25
+ - lora
26
+ - qwen
27
+ - bilingual
28
+ models:
29
+ - Qwen/Qwen2.5-14B-Instruct
30
+ - Qwen/Qwen2.5-1.5B-Instruct
31
+ - AndrewRqy/oracles-wizard-14b-lora
32
+ - AndrewRqy/oracles-wizard-1.5b-lora
33
+ ---
34
+
35
+ # The Apprentice — Build Small Hackathon
36
+
37
+ > A pixel-art branching fairy-tale game. You inscribe five short oracles before the journey begins; an apprentice has to make every one of them save his life across five trials in a branching graph that converges on one of five distinct endings.
38
+
39
+ **Track**: Thousand Token Wood
40
+ **Stack**: Gradio + Modal-hosted vLLM + Qwen2.5-14B + custom humor LoRA
41
+ **Languages**: English + Simplified Chinese
42
+ **Demo video**: _(to be added by submitter)_
43
+ **Social post**: _(to be added by submitter)_
44
+
45
+ ---
46
+
47
+ ## What's in the box
48
+
49
+ | Component | Detail |
50
+ |---|---|
51
+ | **Frontend** | Single-file Gradio app (~5000 lines) with a hand-authored pixel-art aesthetic — Press Start 2P + VT323 fonts, NES-style sharp corners, layered animated scene composition, custom theme that suppresses every visible piece of Gradio chrome. |
52
+ | **Backend** | Qwen2.5-14B-Instruct + custom humor LoRA (`AndrewRqy/oracles-wizard-14b-lora`) served via vLLM on Modal. OpenAI-compatible API; the frontend talks to it through the OpenAI SDK. |
53
+ | **Tiny Titan path** | Qwen2.5-1.5B-Instruct + LoRA, also trained on the same 23k humor corpus (`AndrewRqy/oracles-wizard-1.5b-lora`). Eligible for the ≤4B prize. |
54
+ | **Branching narrative** | Hand-authored 15-node story graph with 5 distinct endings. Each fork at trials 2–4 is picked by an LLM call seeded with the player's inscribed oracle, so the path the apprentice walks is shaped by what wisdom was inscribed. |
55
+ | **6 themes × 2 languages** | Fantasy, Space-Cowboy, Galactic-Light, Black-Land, Mistgate, Quiet-Years — each with its own sprite set, finale boss, themed obstacle scenes (finale / arena / passage / trap), localized banner + oracle artifact + apprentice role title. All authored for both English and Chinese. |
56
+ | **Klein-4B sprites** | All in-game art (~105 pixel-art sprites + 4 environment backdrops per theme) was generated locally via Klein-4B on a Modal H100, then chroma-keyed offline. No FLUX, no commercial generators. |
57
+
58
+ ## How to play
59
+
60
+ 1. **Inscribe** — pick a language, then a theme, then write five short oracles (any words, gibberish, emoji — whatever you want).
61
+ 2. **Send-off** — the mentor seals the parchments and the apprentice leaves.
62
+ 3. **Five trials** — at each obstacle, the apprentice draws ONE oracle. The model takes the obstacle + the oracle and writes a 200-word resolution in one of three humor modes (wild imagination / accidental trip / last-minute revelation).
63
+ 4. **Boss** — trial 5 is the world's finale (the dragon for fantasy; the warlord-king for space-cowboy; etc.). Different paths through the tree lead to different bosses.
64
+ 5. **Ending** — one of 5 distinct endings plays, each with its own preset framing (Why the boss behaved as it did + What the apprentice carried home) and an LLM-expanded 3-paragraph epilogue.
65
+ 6. **Summary** — clicking through reveals the story tree with the path you took lit gold and the four endings you didn't reach blurred behind "???" for replay motivation.
66
+
67
+ ## Badge claims
68
+
69
+ | Badge | Why we claim it |
70
+ |---|---|
71
+ | **🎯 Well-Tuned** | Qwen2.5-14B + a hand-distilled 23k-example humor LoRA (rank 16, ~6.5 h on H100). The fine-tune visibly steers all three humor modes; the field-notes write-up below details the distillation pipeline. |
72
+ | **🎨 Off-Brand** | ~2000 lines of bespoke CSS, Press Start 2P + VT323 fonts, hand-painted pixel-art sprites, sharp-corner theme that overrides every visible Gradio token, custom story-tree visualization, custom ending banner with five-pip "endings discovered" strip. No stock Gradio chrome reaches the rendered page. |
73
+ | **📓 Field Notes** | See `docs/FIELD_NOTES_distillation.md` — a ~950-word blog post on the schema-locked Claude-Sonnet-4.5 → Qwen distillation pipeline, the three humor modes, the JSON enforcement layers, and what 98.4% reject-sampling acceptance got us. |
74
+ | **⚡ Tiny Titan (prize)** | Same 23k corpus also trained into a Qwen2.5-1.5B LoRA on H100 (~$5.50, ~1.5 h). Eligible for the ≤4B prize. |
75
+
76
+ ## Running it (locally or on Space)
77
+
78
+ Three environment variables need to be set as **secrets** (HF Space Settings → Variables and secrets):
79
+
80
+ ```
81
+ MODAL_URL = https://<modal-workspace>--<app-name>-serve.modal.run
82
+ MODAL_KEY = wk-… (Modal proxy auth key)
83
+ MODAL_SECRET = ws-… (Modal proxy auth secret)
84
+ ```
85
+
86
+ Once those are set, the Space spins up the Gradio app and the player can immediately walk a trial. No GPU is needed on the Space side — the LLM call streams in from Modal over HTTPS.
87
+
88
+ If `MODAL_URL` is unset OR `ORACLES_FORCE_MOCK=1`, the app runs in **mock mode** — every LLM call returns a hand-written placeholder, the visuals still play, but the humor is dead. Useful for offline demos.
89
+
90
+ ## Repository layout
91
+
92
+ ```
93
+ oracles_app/
94
+ ├── app.py main Gradio file (~5000 lines)
95
+ ├── README.md this file (HF Space metadata + write-up)
96
+ ├── requirements.txt gradio + openai + Pillow
97
+ ├── .gitignore excludes dev artifacts from the Space upload
98
+ ├── oracles/ pure-Python package (state, LLM client, story graph, themes, i18n)
99
+ ├── prompts/ LLM prompt templates (resolution / epilogue / interludes / obstacles)
100
+ └── assets/sprites/ ~105 chroma-keyed pixel-art PNGs
101
+ ```
102
+
103
+ The dev-only directories (`modal_backend/`, `scripts/`, `training/`, `tests/`, `lora-out/`, `*_raw.png`) live in this folder on local disk but are excluded from the HF Space upload by `.gitignore`.
104
+
105
+ ## Credits
106
+
107
+ - Base model — Qwen2.5-14B-Instruct + Qwen2.5-1.5B-Instruct (Alibaba)
108
+ - Distillation teacher — Claude Sonnet 4.5 (Anthropic) via OpenRouter
109
+ - Sprite generator — Klein-4B (Anthropic) on Modal H100
110
+ - Pixel-art fonts — Press Start 2P + VT323 (Google Fonts)
111
+
112
+ Built for the **Build Small Hackathon — Thousand Token Wood track** (2026-06-15).
app.py ADDED
The diff for this file is too large to render. See raw diff
 
assets/parallax/banner_far.png ADDED

Git LFS Details

  • SHA256: 7cb5fa2c913b0242c3779a369db67db1d3d213d60329f7ba066507395e300a7b
  • Pointer size: 131 Bytes
  • Size of remote file: 111 kB
assets/parallax/banner_mid.png ADDED

Git LFS Details

  • SHA256: ee9e739e1aa1ce6ca70adca74f6fe24df53e94a8785abb9ad8177979085c2baf
  • Pointer size: 131 Bytes
  • Size of remote file: 169 kB
assets/parallax/banner_near.png ADDED

Git LFS Details

  • SHA256: 5cafce547a9e222b8216396bdebc2b496cc3dc6526dd9e0aaf4840c62d0456c2
  • Pointer size: 132 Bytes
  • Size of remote file: 1.22 MB
assets/parallax/far.png ADDED

Git LFS Details

  • SHA256: 0fbb1438d8167368c0bb1ab6539c8ede047f755993ead6c0322513667c73b639
  • Pointer size: 131 Bytes
  • Size of remote file: 435 kB
assets/parallax/mid.png ADDED

Git LFS Details

  • SHA256: 3d4bdf171a85e8b2cf8ca0fb4377093a7fbca80cf91623451bfa8ba1331a398e
  • Pointer size: 131 Bytes
  • Size of remote file: 621 kB
assets/parallax/near.png ADDED

Git LFS Details

  • SHA256: 0a2b27ba4deb2f05c658abb1c1b22153a48acb0cc9a1bc7e340ea02f9d94ccc7
  • Pointer size: 131 Bytes
  • Size of remote file: 765 kB
assets/parallax/v1_backup/banner_far.png ADDED

Git LFS Details

  • SHA256: 7cb5fa2c913b0242c3779a369db67db1d3d213d60329f7ba066507395e300a7b
  • Pointer size: 131 Bytes
  • Size of remote file: 111 kB
assets/parallax/v1_backup/banner_mid.png ADDED

Git LFS Details

  • SHA256: ee9e739e1aa1ce6ca70adca74f6fe24df53e94a8785abb9ad8177979085c2baf
  • Pointer size: 131 Bytes
  • Size of remote file: 169 kB
assets/parallax/v1_backup/banner_near.png ADDED

Git LFS Details

  • SHA256: 7da2fc773da9c2a8bfc24285bff24ab53b58bfb41a3e26582e26d2302cf2c453
  • Pointer size: 131 Bytes
  • Size of remote file: 209 kB
assets/parallax/v1_backup/far.png ADDED

Git LFS Details

  • SHA256: 0fbb1438d8167368c0bb1ab6539c8ede047f755993ead6c0322513667c73b639
  • Pointer size: 131 Bytes
  • Size of remote file: 435 kB
assets/parallax/v1_backup/mid.png ADDED

Git LFS Details

  • SHA256: 3d4bdf171a85e8b2cf8ca0fb4377093a7fbca80cf91623451bfa8ba1331a398e
  • Pointer size: 131 Bytes
  • Size of remote file: 621 kB
assets/parallax/v1_backup/near.png ADDED

Git LFS Details

  • SHA256: 0a2b27ba4deb2f05c658abb1c1b22153a48acb0cc9a1bc7e340ea02f9d94ccc7
  • Pointer size: 131 Bytes
  • Size of remote file: 765 kB
assets/sprites/banner_near.png ADDED

Git LFS Details

  • SHA256: 5cafce547a9e222b8216396bdebc2b496cc3dc6526dd9e0aaf4840c62d0456c2
  • Pointer size: 132 Bytes
  • Size of remote file: 1.22 MB
assets/sprites/demo/_model_test/hero_smug_flux_1_1_pro.png ADDED

Git LFS Details

  • SHA256: 93c20465e96f01af24203dbdc59e0b993d3fd5ef2ea438e0546b31704ae3a74a
  • Pointer size: 132 Bytes
  • Size of remote file: 1.15 MB
assets/sprites/demo/_model_test/hero_smug_flux_1_1_pro_extreme.png ADDED

Git LFS Details

  • SHA256: 22ccfa8e0c9db56c3227149ff8e55625219d720d61698df1562a249f9324c4d7
  • Pointer size: 131 Bytes
  • Size of remote file: 686 kB
assets/sprites/demo/_model_test/hero_smug_flux_1_1_pro_pixelheavy.png ADDED

Git LFS Details

  • SHA256: 3dfd7621b892a702c9e46b75f6a8c0cdc30a5e3ab10b3276119830185cf663de
  • Pointer size: 132 Bytes
  • Size of remote file: 1.01 MB
assets/sprites/demo/_model_test/hero_smug_flux_schnell.png ADDED

Git LFS Details

  • SHA256: 8e24a8deda6de1f0998fadcba594b0da602e815de76c200bb2a83635e57c0ee8
  • Pointer size: 131 Bytes
  • Size of remote file: 858 kB
assets/sprites/demo/_model_test/hero_smug_rd_fast.png ADDED

Git LFS Details

  • SHA256: d963c87f58b5ce7460020ba07e62e0b239ed2b0f6e4363494c37e12c8261a8a1
  • Pointer size: 130 Bytes
  • Size of remote file: 21.2 kB
assets/sprites/demo/p1_resolve.png ADDED

Git LFS Details

  • SHA256: 9b4358bcb4557236d45002b5180815513f41cbd98f95bacbc1433bdc813612c1
  • Pointer size: 131 Bytes
  • Size of remote file: 563 kB
assets/sprites/demo/p1_resolve_raw.png ADDED

Git LFS Details

  • SHA256: 6a83f5d1491819ea8a64ffba10b75a12010f98920935ee1e2fd74b9b22d0d507
  • Pointer size: 132 Bytes
  • Size of remote file: 1.67 MB
assets/sprites/demo_bandit_archer.png ADDED

Git LFS Details

  • SHA256: 2a558669202bc2abbfd0148396e7307189960053fba3a3d3c408ccaef130e5da
  • Pointer size: 131 Bytes
  • Size of remote file: 691 kB
assets/sprites/demo_bluejay_angry.png ADDED

Git LFS Details

  • SHA256: bdecac0c6e1e9908cf8e97a1c51e69fe6e3bad34f06038cca16782a8a5e597b0
  • Pointer size: 131 Bytes
  • Size of remote file: 622 kB
assets/sprites/demo_card_backdrop.png ADDED

Git LFS Details

  • SHA256: 2ec828e07dfda1a96536cbb4c8303d68d2143d5f0b0a12e173df9a12ac36f3fa
  • Pointer size: 132 Bytes
  • Size of remote file: 1.24 MB
assets/sprites/demo_hero_confused.png ADDED

Git LFS Details

  • SHA256: 21df1f97fd719708298b8e48dd5abf8f7137253e8ec1dadc0cc2f59f39d52599
  • Pointer size: 131 Bytes
  • Size of remote file: 631 kB
assets/sprites/demo_hero_panic_scarf.png ADDED

Git LFS Details

  • SHA256: e0e145abf732c770137e4400f693b66f3f20ef01db5b776952259212817f02ca
  • Pointer size: 131 Bytes
  • Size of remote file: 852 kB
assets/sprites/demo_hero_smug_phone.png ADDED

Git LFS Details

  • SHA256: bf64f9143acd8fe340a9832b329565cefe245b066128d96aeb0d103eaf2bedd3
  • Pointer size: 131 Bytes
  • Size of remote file: 799 kB
assets/sprites/demo_hero_tripped.png ADDED

Git LFS Details

  • SHA256: 64f127f1876fe75673ecce627ded5a6f3d4d1584b46c07e2d1c304cc4b85165f
  • Pointer size: 132 Bytes
  • Size of remote file: 1.83 MB
assets/sprites/demo_hero_whistle.png ADDED

Git LFS Details

  • SHA256: 57501d35833bf31067bc815cee32dc6ca06819d31a10751eb89c17f290e75724
  • Pointer size: 131 Bytes
  • Size of remote file: 590 kB
assets/sprites/demo_hornet_dagger.png ADDED

Git LFS Details

  • SHA256: 909c0ff0bee47175229b14bb47c698125f4ffccf11c24467a19ceb49028410e2
  • Pointer size: 131 Bytes
  • Size of remote file: 626 kB
assets/sprites/demo_hornet_queen_guilty.png ADDED

Git LFS Details

  • SHA256: 28660a815fb3f20c8b70cec951ca683a1a6295d4ce3587dbed5b92b45deddf4a
  • Pointer size: 131 Bytes
  • Size of remote file: 541 kB
assets/sprites/demo_wraith_heron.png ADDED

Git LFS Details

  • SHA256: 5d1fab670b73fd3995618720423b8a1fb0ea2435022e400fb0d2d6a737dc3283
  • Pointer size: 131 Bytes
  • Size of remote file: 665 kB
assets/sprites/dragon.png ADDED

Git LFS Details

  • SHA256: a0a6c5593c7e8b319434836b6553196d489671af2db180f8b5bfdbc62b3fdefa
  • Pointer size: 130 Bytes
  • Size of remote file: 94 kB
assets/sprites/dragon_black_land.png ADDED

Git LFS Details

  • SHA256: 58cdf861fbe3b85a2aadee9eebeecdcb9e2e2f46d7351c5c42db9b1359fc85c5
  • Pointer size: 130 Bytes
  • Size of remote file: 64.4 kB
assets/sprites/dragon_galactic_light.png ADDED

Git LFS Details

  • SHA256: 3079f103cb9afa8c737b8b1fb8566a694889422cfee59f0cd21b59bcef01771d
  • Pointer size: 130 Bytes
  • Size of remote file: 57.6 kB
assets/sprites/dragon_mistgate.png ADDED

Git LFS Details

  • SHA256: e68839eaa3c63606023401d74eed676def15a72a7939ed0babacf9365163efda
  • Pointer size: 130 Bytes
  • Size of remote file: 76.4 kB
assets/sprites/dragon_quiet_years.png ADDED

Git LFS Details

  • SHA256: cceed50f1d29f1c5b1cb802cf63b58cbe30515590eee9e678d996e8c7c2d0bc1
  • Pointer size: 130 Bytes
  • Size of remote file: 72.1 kB
assets/sprites/dragon_space_cowboy.png ADDED

Git LFS Details

  • SHA256: 812a05adfaa7814e4f899e90826b89dcb84b4a2072fcfdc6daefd74ad96abe23
  • Pointer size: 130 Bytes
  • Size of remote file: 75.2 kB
assets/sprites/dragon_throne_room.png ADDED

Git LFS Details

  • SHA256: 0dea027bc46a24565be2a1e86b7775e17bc8d292a71dc6782fabcb6e45e62c44
  • Pointer size: 132 Bytes
  • Size of remote file: 1.5 MB
assets/sprites/epilogue_homecoming.png ADDED

Git LFS Details

  • SHA256: 62787f0670c55caaf33e547ec51daf0397aeac87f95dfc61931b58e4837730fd
  • Pointer size: 132 Bytes
  • Size of remote file: 1.35 MB
assets/sprites/force_black_land.png ADDED

Git LFS Details

  • SHA256: ca466c84c48c4bc75e91a866ef03bb7ace71db13566ccd8e4967f4993e7edefd
  • Pointer size: 130 Bytes
  • Size of remote file: 84 kB
assets/sprites/force_galactic_light.png ADDED

Git LFS Details

  • SHA256: ff1758c1fab782564b626c0a8a0fcea8ecb2fb01908257365180b7619a3cbee7
  • Pointer size: 130 Bytes
  • Size of remote file: 80.5 kB
assets/sprites/force_mistgate.png ADDED

Git LFS Details

  • SHA256: 11a3e7ebae2ea26fc19422470c9dff56ba94ee1f9829818eeb94583f39a0f0fc
  • Pointer size: 130 Bytes
  • Size of remote file: 68 kB
assets/sprites/force_quiet_years.png ADDED

Git LFS Details

  • SHA256: 394d7e4f1feeda2695511ef95a56e6f71eab7278f553e6961ba3815c2e7ef6a2
  • Pointer size: 130 Bytes
  • Size of remote file: 78.6 kB
assets/sprites/force_space_cowboy.png ADDED

Git LFS Details

  • SHA256: a047c4bc1272445724e338955818a6967237aa6ec99245240457e5b36a938dce
  • Pointer size: 130 Bytes
  • Size of remote file: 67.3 kB
assets/sprites/forest_dusk_texture.png ADDED

Git LFS Details

  • SHA256: 4a12aa97ef1905cbd97c49970e0b6f7d73fa1c3214d6cab4233b6c3622ff78ed
  • Pointer size: 131 Bytes
  • Size of remote file: 994 kB