Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion art/sprites/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,5 @@ Sprite reference boards: the hero sheet (approved) and the animation, enemy, ite
| [![FX · falling leaves](images/fx-leaves-preview.png)](fx-leaves.md)<br>**[FX · falling leaves](fx-leaves.md)** | [![FX · footstep puffs](images/fx-ground-preview.png)](fx-ground.md)<br>**[FX · footstep puffs](fx-ground.md)** |
| [![FX · pond ripples and lily pad](images/fx-water-preview.png)](fx-water.md)<br>**[FX · pond ripples and lily pad](fx-water.md)** | [![Dexter · prologue additions](images/dexter-prologue-preview.png)](dexter-prologue.md)<br>**[Dexter · prologue additions](dexter-prologue.md)** |
| [![Menu · the Hidden Garden at first light](images/menu-key-preview.png)](menu-key.md)<br>**[Menu · the Hidden Garden at first light](menu-key.md)** | [![Props · the storm drain's IT details](images/it-props-preview.png)](it-props.md)<br>**[Props · the storm drain's IT details](it-props.md)** |
| [![Secret · the rubber chicken](images/rubber-chicken-preview.png)](rubber-chicken.md)<br>**[Secret · the rubber chicken](rubber-chicken.md)** | |
| [![Secret · the rubber chicken](images/rubber-chicken-preview.png)](rubber-chicken.md)<br>**[Secret · the rubber chicken](rubber-chicken.md)** | [![Prop · Jenny's arena platforms](images/arena-platform-preview.png)](arena-platform.md)<br>**[Prop · Jenny's arena platforms](arena-platform.md)** |
| [![Prop · the platforms' chains](images/arena-chain-preview.png)](arena-chain.md)<br>**[Prop · the platforms' chains](arena-chain.md)** | |
25 changes: 25 additions & 0 deletions art/sprites/arena-chain.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Prop · the platforms' chains

<!-- nav:start -->
[← Prop · Jenny's arena platforms](arena-platform.md) · [Sprite boards](README.md) · **31 / 31** · [Sprite boards →](README.md)
<!-- nav:end -->

![Prop · the platforms' chains](images/arena-chain-preview.png)

**Review:** 🟨 Awaiting Alexander's review (25 Oct). The platforms hang from the girder over the arena: scripts/arena_platforms.py tiles this chain's link period from each platform end up to the girder's underside. The second frame came out as a second chain instead of an eye-bolt, so it is unused.

## Brief

On a flat, solid, pure magenta #FF00FF background (no paper colour, no ground shadows), with NO text at all - no titles, no captions, no labels: Image 1 is an approved prop from this game, a rusty steel girder platform: draw in exactly its pixel-art look, pixel grain, palette and rusty orange-on-steel colours. Prop sprite sheet, 1 row, exactly 2 frames, side by side with a wide magenta gap: frame 1, ONE heavy rusted steel CHAIN hanging perfectly straight and vertical, about as long as the platform in image 1 is wide, made of many identical oval links alternating face-on and edge-on, the top and bottom links cut flat; frame 2, ONE heavy steel EYE-BOLT anchor: a small rusted base plate with two rivets and a thick eye ring on top, with a single rusted shackle through the ring - the piece that would sit on top of the platform where the chain is fixed. Both frames at the SAME pixel scale (the chain's links as thick as the shackle). No platform, no people, no scenery.

## Inputs

- [arena-platform-preview.png](images/arena-platform-preview.png)
- [coffee-machine-preview.png](images/coffee-machine-preview.png)
- [style-master-preview.png](../direction/images/style-master-preview.png)

Model `gpt-image-2.5-sunburst` · pixel factor 2 · source image `images/arena-chain.png` · rebuild: `python scripts/make_boards.py draw arena-chain --redo --config art/sprites/boards.json`

<!-- nav:start -->
[← Prop · Jenny's arena platforms](arena-platform.md) · [Sprite boards](README.md) · **31 / 31** · [Sprite boards →](README.md)
<!-- nav:end -->
25 changes: 25 additions & 0 deletions art/sprites/arena-platform.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Prop · Jenny's arena platforms

<!-- nav:start -->
[← Secret · the rubber chicken](rubber-chicken.md) · [Sprite boards](README.md) · **30 / 31** · [Prop · the platforms' chains →](arena-chain.md)
<!-- nav:end -->

![Prop · Jenny's arena platforms](images/arena-platform-preview.png)

**Review:** 🟨 Awaiting Alexander's review (25 Oct). Replaces the strip cut from the maze plate, which read flat and floated with no reason (Alexander). Drawn with volume from the coffee-machine sheet's look and the maze's own girder as the material reference: a riveted box girder with a grated underside, 202 × 25 px in the game. The prompt asked for eye-bolts and chain stubs, and the model drew the platform alone, so it is locked and the chains are their own board.

## Brief

On a flat, solid, pure magenta #FF00FF background (no paper colour, no ground shadows, no dust under the objects), with NO text at all - no titles, no captions, no frame numbers, no labels, no readable words or logos: Image 1 is an approved prop sheet from this game: draw in exactly that pixel-art look - solid three-dimensional objects drawn as detailed 2D pixel art with volume, the same pixel grain, palette and warm rim light. Image 2 shows the rusty steel girders of the level these props hang in: copy their material exactly - pale blue-grey painted steel eaten by orange rust, riveted flanges, a dark grated underside. Prop sprite sheet, 2 rows. Row 1, exactly 1 frame: ONE short girder PLATFORM segment hung like a stage rigging bar, seen from slightly below like image 2: a long flat box beam about FIVE times as long as it is tall, its front face with rivets, a lit top flange, a dark grated underside with depth, solid end caps showing its thickness; on top, near each end, a heavy steel eye-bolt with the lowest three links of a rusted chain rising straight up from it. Row 2, exactly 1 frame: ONE long straight vertical rusted steel CHAIN hanging perfectly straight up and down, many identical links, about as long as the platform in row 1, the same chain as on the platform. Both rows at the SAME pixel scale. Rows separated by a wide empty magenta band. No people, no scenery, no sky.

## Inputs

- [coffee-machine-preview.png](images/coffee-machine-preview.png)
- [girder-reference.png](../stages/rusty-creek/arena/girder-reference.png)
- [style-master-preview.png](../direction/images/style-master-preview.png)

Model `gpt-image-2.5-sunburst` · pixel factor 2 · source image `images/arena-platform.png` · rebuild: `python scripts/make_boards.py draw arena-platform --redo --config art/sprites/boards.json`

<!-- nav:start -->
[← Secret · the rubber chicken](rubber-chicken.md) · [Sprite boards](README.md) · **30 / 31** · [Prop · the platforms' chains →](arena-chain.md)
<!-- nav:end -->
47 changes: 47 additions & 0 deletions art/sprites/boards.json
Original file line number Diff line number Diff line change
Expand Up @@ -1197,6 +1197,53 @@
]
},
"review": "🟨 Awaiting Alexander's review (25 Oct). Playtest T2 (Lex): the rubber chicken must be in the game. First draw, two frames (resting, squeezed mid-squeak); about 34 x 9 px in the game, a little bigger than a real one so it reads next to the 76 px hero."
},
{
"id": "arena-platform",
"title": "Prop · Jenny's arena platforms",
"factor": 2,
"inputs": [
"repo:art/sprites/images/coffee-machine-preview.png",
"repo:art/stages/rusty-creek/arena/girder-reference.png",
"repo:art/direction/images/style-master-preview.png"
],
"prompt": "On a flat, solid, pure magenta #FF00FF background (no paper colour, no ground shadows, no dust under the objects), with NO text at all - no titles, no captions, no frame numbers, no labels, no readable words or logos: Image 1 is an approved prop sheet from this game: draw in exactly that pixel-art look - solid three-dimensional objects drawn as detailed 2D pixel art with volume, the same pixel grain, palette and warm rim light. Image 2 shows the rusty steel girders of the level these props hang in: copy their material exactly - pale blue-grey painted steel eaten by orange rust, riveted flanges, a dark grated underside. Prop sprite sheet, 2 rows. Row 1, exactly 1 frame: ONE short girder PLATFORM segment hung like a stage rigging bar, seen from slightly below like image 2: a long flat box beam about FIVE times as long as it is tall, its front face with rivets, a lit top flange, a dark grated underside with depth, solid end caps showing its thickness; on top, near each end, a heavy steel eye-bolt with the lowest three links of a rusted chain rising straight up from it. Row 2, exactly 1 frame: ONE long straight vertical rusted steel CHAIN hanging perfectly straight up and down, many identical links, about as long as the platform in row 1, the same chain as on the platform. Both rows at the SAME pixel scale. Rows separated by a wide empty magenta band. No people, no scenery, no sky.",
"atlas": {
"height": 25,
"rows": [
[
{
"anim": "platform",
"frames": 1
}
]
]
},
"locked": true,
"review": "🟨 Awaiting Alexander's review (25 Oct). Replaces the strip cut from the maze plate, which read flat and floated with no reason (Alexander). Drawn with volume from the coffee-machine sheet's look and the maze's own girder as the material reference: a riveted box girder with a grated underside, 202 × 25 px in the game. The prompt asked for eye-bolts and chain stubs, and the model drew the platform alone, so it is locked and the chains are their own board."
},
{
"id": "arena-chain",
"title": "Prop · the platforms' chains",
"factor": 2,
"inputs": [
"repo:art/sprites/images/arena-platform-preview.png",
"repo:art/sprites/images/coffee-machine-preview.png",
"repo:art/direction/images/style-master-preview.png"
],
"prompt": "On a flat, solid, pure magenta #FF00FF background (no paper colour, no ground shadows), with NO text at all - no titles, no captions, no labels: Image 1 is an approved prop from this game, a rusty steel girder platform: draw in exactly its pixel-art look, pixel grain, palette and rusty orange-on-steel colours. Prop sprite sheet, 1 row, exactly 2 frames, side by side with a wide magenta gap: frame 1, ONE heavy rusted steel CHAIN hanging perfectly straight and vertical, about as long as the platform in image 1 is wide, made of many identical oval links alternating face-on and edge-on, the top and bottom links cut flat; frame 2, ONE heavy steel EYE-BOLT anchor: a small rusted base plate with two rivets and a thick eye ring on top, with a single rusted shackle through the ring - the piece that would sit on top of the platform where the chain is fixed. Both frames at the SAME pixel scale (the chain's links as thick as the shackle). No platform, no people, no scenery.",
"atlas": {
"height": 120,
"rows": [
[
{
"anim": "chain",
"frames": 2
}
]
]
},
"review": "🟨 Awaiting Alexander's review (25 Oct). The platforms hang from the girder over the arena: scripts/arena_platforms.py tiles this chain's link period from each platform end up to the girder's underside. The second frame came out as a second chain instead of an eye-bolt, so it is unused."
}
]
}
4 changes: 2 additions & 2 deletions art/sprites/boss-jenny-2.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Boss · Jenny, stunned and debris

<!-- nav:start -->
[← Boss · Jenny, attacks](boss-jenny.md) · [Sprite boards](README.md) · **17 / 29** · [Item · pocket computer →](pocket-computer.md)
[← Boss · Jenny, attacks](boss-jenny.md) · [Sprite boards](README.md) · **17 / 31** · [Item · pocket computer →](pocket-computer.md)
<!-- nav:end -->

![Boss · Jenny, stunned and debris](images/boss-jenny-2-preview.png)
Expand Down Expand Up @@ -29,5 +29,5 @@ On a flat, solid, pure magenta #FF00FF background (no paper colour, no ground sh
Model `gpt-image-2.5-sunburst` · pixel factor 2 · source image `images/boss-jenny-2.png` · rebuild: `python scripts/make_boards.py draw boss-jenny-2 --redo --config art/sprites/boards.json`

<!-- nav:start -->
[← Boss · Jenny, attacks](boss-jenny.md) · [Sprite boards](README.md) · **17 / 29** · [Item · pocket computer →](pocket-computer.md)
[← Boss · Jenny, attacks](boss-jenny.md) · [Sprite boards](README.md) · **17 / 31** · [Item · pocket computer →](pocket-computer.md)
<!-- nav:end -->
4 changes: 2 additions & 2 deletions art/sprites/boss-jenny.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Boss · Jenny, attacks

<!-- nav:start -->
[← FX · black fluid](fx.md) · [Sprite boards](README.md) · **16 / 29** · [Boss · Jenny, stunned and debris →](boss-jenny-2.md)
[← FX · black fluid](fx.md) · [Sprite boards](README.md) · **16 / 31** · [Boss · Jenny, stunned and debris →](boss-jenny-2.md)
<!-- nav:end -->

![Boss · Jenny, attacks](images/boss-jenny-preview.png)
Expand Down Expand Up @@ -29,5 +29,5 @@ On a flat, solid, pure magenta #FF00FF background (no paper colour, no ground sh
Model `gpt-image-2.5-sunburst` · pixel factor 2 · source image `images/boss-jenny.png` · rebuild: `python scripts/make_boards.py draw boss-jenny --redo --config art/sprites/boards.json`

<!-- nav:start -->
[← FX · black fluid](fx.md) · [Sprite boards](README.md) · **16 / 29** · [Boss · Jenny, stunned and debris →](boss-jenny-2.md)
[← FX · black fluid](fx.md) · [Sprite boards](README.md) · **16 / 31** · [Boss · Jenny, stunned and debris →](boss-jenny-2.md)
<!-- nav:end -->
4 changes: 2 additions & 2 deletions art/sprites/chair-block.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Chair · block

<!-- nav:start -->
[← Chair · overhead slam](chair-overhead.md) · [Sprite boards](README.md) · **11 / 29** · [Enemy · drone →](enemy-drone.md)
[← Chair · overhead slam](chair-overhead.md) · [Sprite boards](README.md) · **11 / 31** · [Enemy · drone →](enemy-drone.md)
<!-- nav:end -->

![Chair · block](images/chair-block-preview.png)
Expand Down Expand Up @@ -30,5 +30,5 @@ On a flat, solid, pure magenta #FF00FF background (no paper colour, no ground sh
Model `gpt-image-2.5-sunburst` · pixel factor 2 · source image `images/chair-block.png` · rebuild: `python scripts/make_boards.py draw chair-block --redo --config art/sprites/boards.json`

<!-- nav:start -->
[← Chair · overhead slam](chair-overhead.md) · [Sprite boards](README.md) · **11 / 29** · [Enemy · drone →](enemy-drone.md)
[← Chair · overhead slam](chair-overhead.md) · [Sprite boards](README.md) · **11 / 31** · [Enemy · drone →](enemy-drone.md)
<!-- nav:end -->
4 changes: 2 additions & 2 deletions art/sprites/chair-overhead.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Chair · overhead slam

<!-- nav:start -->
[← Chair · side sweep](chair-side.md) · [Sprite boards](README.md) · **10 / 29** · [Chair · block →](chair-block.md)
[← Chair · side sweep](chair-side.md) · [Sprite boards](README.md) · **10 / 31** · [Chair · block →](chair-block.md)
<!-- nav:end -->

![Chair · overhead slam](images/chair-overhead-preview.png)
Expand Down Expand Up @@ -31,5 +31,5 @@ On a flat, solid, pure magenta #FF00FF background (no paper colour, no ground sh
Model `gpt-image-2.5-sunburst` · pixel factor 2 · source image `images/chair-overhead.png` · rebuild: `python scripts/make_boards.py draw chair-overhead --redo --config art/sprites/boards.json`

<!-- nav:start -->
[← Chair · side sweep](chair-side.md) · [Sprite boards](README.md) · **10 / 29** · [Chair · block →](chair-block.md)
[← Chair · side sweep](chair-side.md) · [Sprite boards](README.md) · **10 / 31** · [Chair · block →](chair-block.md)
<!-- nav:end -->
4 changes: 2 additions & 2 deletions art/sprites/chair-side.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Chair · side sweep

<!-- nav:start -->
[← The student · ladder top and bottom](hero-ladder.md) · [Sprite boards](README.md) · **9 / 29** · [Chair · overhead slam →](chair-overhead.md)
[← The student · ladder top and bottom](hero-ladder.md) · [Sprite boards](README.md) · **9 / 31** · [Chair · overhead slam →](chair-overhead.md)
<!-- nav:end -->

![Chair · side sweep](images/chair-side-preview.png)
Expand Down Expand Up @@ -30,5 +30,5 @@ On a flat, solid, pure magenta #FF00FF background (no paper colour, no ground sh
Model `gpt-image-2.5-sunburst` · pixel factor 2 · source image `images/chair-side.png` · rebuild: `python scripts/make_boards.py draw chair-side --redo --config art/sprites/boards.json`

<!-- nav:start -->
[← The student · ladder top and bottom](hero-ladder.md) · [Sprite boards](README.md) · **9 / 29** · [Chair · overhead slam →](chair-overhead.md)
[← The student · ladder top and bottom](hero-ladder.md) · [Sprite boards](README.md) · **9 / 31** · [Chair · overhead slam →](chair-overhead.md)
<!-- nav:end -->
4 changes: 2 additions & 2 deletions art/sprites/coffee-machine.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Prop · coffee machine (save point)

<!-- nav:start -->
[← Mensa · food pickups](mensa-food.md) · [Sprite boards](README.md) · **20 / 29** · [Dexter · moves →](dexter.md)
[← Mensa · food pickups](mensa-food.md) · [Sprite boards](README.md) · **20 / 31** · [Dexter · moves →](dexter.md)
<!-- nav:end -->

![Prop · coffee machine (save point)](images/coffee-machine-preview.png)
Expand All @@ -27,5 +27,5 @@ On a flat, solid, pure magenta #FF00FF background (no paper colour, no ground sh
Model `gpt-image-2.5-sunburst` · pixel factor 2 · source image `images/coffee-machine.png` · rebuild: `python scripts/make_boards.py draw coffee-machine --redo --config art/sprites/boards.json`

<!-- nav:start -->
[← Mensa · food pickups](mensa-food.md) · [Sprite boards](README.md) · **20 / 29** · [Dexter · moves →](dexter.md)
[← Mensa · food pickups](mensa-food.md) · [Sprite boards](README.md) · **20 / 31** · [Dexter · moves →](dexter.md)
<!-- nav:end -->
4 changes: 2 additions & 2 deletions art/sprites/dexter-acts.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Dexter · gestures

<!-- nav:start -->
[← Dexter · moves](dexter.md) · [Sprite boards](README.md) · **22 / 29** · [FX · falling leaves →](fx-leaves.md)
[← Dexter · moves](dexter.md) · [Sprite boards](README.md) · **22 / 31** · [FX · falling leaves →](fx-leaves.md)
<!-- nav:end -->

![Dexter · gestures](images/dexter-acts-preview.png)
Expand Down Expand Up @@ -30,5 +30,5 @@ On a flat, solid, pure magenta #FF00FF background (no paper colour, no ground sh
Model `gpt-image-2.5-sunburst` · pixel factor 2 · source image `images/dexter-acts.png` · rebuild: `python scripts/make_boards.py draw dexter-acts --redo --config art/sprites/boards.json`

<!-- nav:start -->
[← Dexter · moves](dexter.md) · [Sprite boards](README.md) · **22 / 29** · [FX · falling leaves →](fx-leaves.md)
[← Dexter · moves](dexter.md) · [Sprite boards](README.md) · **22 / 31** · [FX · falling leaves →](fx-leaves.md)
<!-- nav:end -->
4 changes: 2 additions & 2 deletions art/sprites/dexter-prologue.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Dexter · prologue additions

<!-- nav:start -->
[← FX · pond ripples and lily pad](fx-water.md) · [Sprite boards](README.md) · **26 / 29** · [Menu · the Hidden Garden at first light →](menu-key.md)
[← FX · pond ripples and lily pad](fx-water.md) · [Sprite boards](README.md) · **26 / 31** · [Menu · the Hidden Garden at first light →](menu-key.md)
<!-- nav:end -->

![Dexter · prologue additions](images/dexter-prologue-preview.png)
Expand Down Expand Up @@ -29,5 +29,5 @@ On a flat, solid, pure magenta #FF00FF background (no paper colour, no ground sh
Model `gpt-image-2.5-sunburst` · pixel factor 2 · source image `images/dexter-prologue.png` · rebuild: `python scripts/make_boards.py draw dexter-prologue --redo --config art/sprites/boards.json`

<!-- nav:start -->
[← FX · pond ripples and lily pad](fx-water.md) · [Sprite boards](README.md) · **26 / 29** · [Menu · the Hidden Garden at first light →](menu-key.md)
[← FX · pond ripples and lily pad](fx-water.md) · [Sprite boards](README.md) · **26 / 31** · [Menu · the Hidden Garden at first light →](menu-key.md)
<!-- nav:end -->
Loading
Loading