Add moon surface intro level with asteroid hazards and unarmed mechanics
Introduce moon01.lvl as the starting level — a pure jump-and-run intro with no gun and no enemies, just platforming over gaps and dodging falling asteroids. The player picks up their gun upon transitioning to level01. New features: - Moon tileset and PARALLAX_STYLE_MOON with crater terrain backgrounds - Asteroid entity (ENT_ASTEROID): falls from sky, damages on contact, explodes on ground with particles, respawns after delay - PLAYER_UNARMED directive disables gun for the level - Pit rescue mechanic: falling costs 1 HP and auto-dashes upward - Gun powerup entity type for future armed-pickup levels - Segment-based procedural level generator with themed rooms - Extended editor with entity palette and improved tile cycling - Web shell improvements for Emscripten builds
This commit is contained in:
27
DESIGN.md
27
DESIGN.md
@@ -76,9 +76,9 @@ Already implemented: `GRAVITY`, `BG_COLOR`, `MUSIC`, `PARALLAX_FAR`, `PARALLAX_N
|
||||
### Implemented
|
||||
- **Grunt** — Red spiky ground patrol. Walks back and forth, turns at edges/walls. 2 HP.
|
||||
- **Flyer** — Purple bat-like. Bobs in air, chases player when close, shoots fireballs. 1 HP.
|
||||
- **Turret** — Stationary, rotates to aim at player, fires periodically
|
||||
|
||||
### Planned
|
||||
- **Turret** — Stationary, rotates to aim at player, fires periodically
|
||||
- **Charger** — Detects player at range, charges in a straight line at high speed
|
||||
- **Shielder** — Has a directional shield, must be hit from behind or above
|
||||
- **Spawner** — Stationary, periodically spawns smaller enemies
|
||||
@@ -125,12 +125,16 @@ Current directives: `TILESET`, `SIZE`, `SPAWN`, `GRAVITY`, `BG_COLOR`, `MUSIC`,
|
||||
- `WIND`, `STORM`, `DRAG` — Atmosphere settings
|
||||
|
||||
### Level Ideas
|
||||
1. **Derelict Station** — Low gravity, dark, flickering lights, abandoned corridors
|
||||
2. **Desert Planet** — High gravity, sand storm wind, bright orange palette
|
||||
3. **Gas Giant Moon** — Very low gravity, floating platforms, toxic atmosphere
|
||||
4. **Asteroid Belt** — Zero-G sections, small disconnected platforms
|
||||
5. **Space Freighter** — Normal gravity, tight corridors, turret enemies
|
||||
6. **Volcanic World** — Normal gravity, rising lava hazard, fire enemies
|
||||
|
||||
0. **Intro Level (Moon)** - Low gravity, bright surface, spacey/no obstacles
|
||||
1. **Mars Surface** - Low gravity, red surface, spacey, little to no obstacles, transition area is entry to base
|
||||
2. **Mars Base** - Normal gravity, very vertical, narrow, 90 degree turns, lots of enemies
|
||||
3. **Derelict Station** — Low gravity, dark, flickering lights, abandoned corridors
|
||||
4. **Desert Planet** — High gravity, sand storm wind, bright orange palette
|
||||
5. **Gas Giant Moon** — Very low gravity, floating platforms, toxic atmosphere
|
||||
6. **Asteroid Belt** — Zero-G sections, small disconnected platforms
|
||||
7. **Space Freighter** — Normal gravity, tight corridors, turret enemies
|
||||
8. **Volcanic World** — Normal gravity, rising lava hazard, fire enemies
|
||||
|
||||
---
|
||||
|
||||
@@ -153,21 +157,21 @@ Current directives: `TILESET`, `SIZE`, `SPAWN`, `GRAVITY`, `BG_COLOR`, `MUSIC`,
|
||||
|
||||
### High Priority
|
||||
- [x] Entity spawn directives in .lvl format (`ENTITY` directive)
|
||||
- [ ] Level exit zones and level transitions
|
||||
- [x] Level exit zones and level transitions
|
||||
- [x] Dash mechanic
|
||||
- [ ] Wall slide / wall jump
|
||||
- [x] Particle system (death puffs, landing dust, projectile impact sparks, wall slide dust)
|
||||
- [x] Screen shake on damage / enemy kills
|
||||
- [x] Sound effects (jump, shoot, hit, enemy death, dash)
|
||||
- [x] Basic HUD (health hearts + jetpack charges)
|
||||
|
||||
### Medium Priority
|
||||
- [x] In-game level editor (tile/entity placement, save/load, test play)
|
||||
- [ ] Wind / drag atmosphere properties
|
||||
- [x] Parallax scrolling backgrounds (procedural stars + nebula, or from image files)
|
||||
- [x] Per-level background color (`BG_COLOR` directive)
|
||||
- [x] Music playback per level (`MUSIC` directive)
|
||||
- [ ] Weapon switching system
|
||||
- [ ] Pickup entities (health, ammo, credits)
|
||||
- [x] Pickup entities (health, jetpack refill, drone companion)
|
||||
- [ ] Better tileset art (space-themed)
|
||||
- [ ] Player sprite polish (more animation frames)
|
||||
- [x] Death / respawn system
|
||||
@@ -212,6 +216,5 @@ Current directives: `TILESET`, `SIZE`, `SPAWN`, `GRAVITY`, `BG_COLOR`, `MUSIC`,
|
||||
## Reference Games
|
||||
- Jazz Jackrabbit 2 (movement feel, weapon variety, level design)
|
||||
- Metal Slug (run-and-gun, enemy variety, visual flair)
|
||||
- Mega Man X (wall jump, dash, tight controls)
|
||||
- Cave Story (atmosphere, exploration, story integration)
|
||||
- Mega Man X (dash, tight controls)
|
||||
- Cowboy Bebop (aesthetic, tone, music style)
|
||||
|
||||
Reference in New Issue
Block a user