Commit Graph

8 Commits

Author SHA1 Message Date
sijcdu 74e4bd1e97 Add patrolling enemies and link level 1 to level 2
New walker prefab (mushroom_red sprite) patrols a platform, turns at walls and ledges, drains a heart on contact and dies when stomped, bouncing the player up. Three are placed in level2. The level 2 spawn point is set to cell (7,11) so the player starts standing on the floor instead of falling in from mid-air, and level 1's LevelClear now loads level2.tscn.
2026-10-07 22:02:46 +08:00
sijcdu 84020864cc Remove the level 2 scaffold at the user's request
The user will build level 2 by hand in the Godot editor. main.tscn's LevelClear no longer points at a next scene, so the clear button falls back to restarting level 1. The scaffold is still in history at 81ffe98 and can be restored with: git checkout 81ffe98 -- scenes/level_2.tscn
2026-10-07 21:25:07 +08:00
sijcdu 81ffe989f6 Add a level 2 scaffold and make the level-clear screen load the next level
level_clear.gd gained a next_level_scene export: empty reloads the current level, otherwise it changes to the given scene. Level 1 now points at res://scenes/level_2.tscn. level_2.tscn is an empty but complete level: background, three TileMapLayers wired to the same TileSet, player, HUD, death screen and level-clear screen, plus the empty prefab containers. Its hidden_passages script explicitly sets hidden_cells = [] so level 1's passage cells are not carved here.
2026-10-07 21:10:25 +08:00
sijcdu 7c78a088a0 Add diamond collection and a level-clear door
The three diamonds and both doors were painted as tiles in TerrainBase, which cannot act as pickups or triggers. Replaced them with real prefabs that reuse the same atlas tiles (diamond = (7,3), doors = (10,6) and (11,5)) and erase their placeholder tile on ready. Collecting all three diamonds unlocks the door; touching it fades to black, pauses the tree and shows the level-clear screen with a next-level button (currently reloads the level, as there is only one). HUD now shows the diamond count.
2026-10-07 21:04:58 +08:00
sijcdu f67bd94605 Remove leftover key tile on the crate; damage keeps the player in place
The key object moved next to the spawn, so the key tile painted at cell (10,8) (on top of the crate tile) was left behind and rendered a second key. Cleared it by setting that record's source_id to -1, which is a same-length edit inside the base64 tile_map_data. Also hurt() no longer teleports to the spawn point, it only drains a heart and grants brief i-frames; only dying returns the player to the spawn.
2026-10-07 20:56:54 +08:00
sijcdu 19ab10de5f Add hazard spikes on the tree tops (grey spikes from the tileset atlas)
The two new spikes were painted as tiles in TerrainBase, but tileset collision can only make a solid wall, not a damaging hazard. Replaced them with a real spikes_grey prefab that uses the same atlas tile (8,3) plus hazard.gd, and erases the placeholder tile on ready. Also includes the level edits made in the editor (top-left terrain rework).
2026-10-07 20:52:44 +08:00
sijcdu 40340527b2 Move the key next to the spawn point so the throw/warp skill is reachable 2026-10-07 20:43:11 +08:00
sijcdu 9dffacd938 Initial commit: Godot 4.7 pixel platformer prototype
Player: move/jump (Space), test flight (F, debug builds only). Key: pickup, hold S to aim with live trajectory preview, release to throw, W to warp to the thrown key. Spring bounce. Spikes deal damage. 3-heart health, Z consumes a heal item for +1 heart and a 5s shield. HUD with hearts and item count. Death screen with fade-to-black and restart. Hidden passages. Assets: Kenney Pixel Platformer (CC0).
2026-10-07 20:32:42 +08:00