Repository navigation
Conversation
A first-person horror starter in a two-story house made of 3D boxes, with a staircase, a roof and a fenced yard. The player finds the key upstairs, opens the front door and escapes through the gate, while the monster of the horror starter patrols both floors with navmesh pathfinding and chases the player on sight, up the stairs too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wa8uKpYuQrYqGYnqGCsquj
Contributor
Preview the game(s) changed or added in this Pull RequestThis is an automatic message displaying links to the games in this PR - double check the JSON in case of doubt. |
The player is 107 px tall instead of 80, so the camera is at an adult's eye height. The 6 gameplay tests still pass. The sides of the stairs took the pushable box texture of a theme (bright planks in some): the whole stairs now take the floor texture. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wa8uKpYuQrYqGYnqGCsquj
The Kenney furniture is replaced by 18 Poly Haven models (CC0): a gothic bed, a day bed, a worn sofa, a rocking chair, a commode with a vintage television, oil lamps, a grandfather clock, painted wooden cabinets and chairs, an electric stove, bookshelves, metal racks and an ornate mirror. They are placed against the walls from their measured size. Polyhaven has no bathroom furniture: the bathroom upstairs becomes a dressing room. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wa8uKpYuQrYqGYnqGCsquj
…ic yard - Furniture against the left and right walls faced the walls: angles turn clockwise, so a front facing +Y at the angle 0 faces -X at 90. Fixed for the sofa, commodes, television, clock, bookshelves, beds and chairs. - A few more pieces of furniture, reusing the same models. - The pushable boxes are wooden crates (a drawn texture), a third smaller. - Outside: dead trees and mossy rocks (Quaternius), a wooden rail fence and street lamps (Poly Haven) instead of the cartoon fence, trees, lightposts and jack-o'-lanterns. The front fence stops on both sides of the gate. - The monster is 125 px tall instead of 100. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wa8uKpYuQrYqGYnqGCsquj
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
starting-3d-house-horror("3D Horror House Escape"): a first-person horror starter inside a house. It serves the requests for haunted-house, Granny-like and escape horror games: about 40 3D requests in a sample of 1,000 AI requests, which today get an outdoor graveyard or no theme.It is built from
starting-first-person-horror: first person, flashlight, fog, the monster's state machine with raycast vision, the game resets when the monster catches the player, who can't fight back. The monster walks with navmesh pathfinding, like in the expanded horror starters.The level
A two-story house made of 3D boxes (about 1400 × 1000 px), in a fenced yard:
Ground floor: a living room, a kitchen, a study, a storage room with pushable wooden crates, and a hall with the staircase and the front door.
Upstairs: two bedrooms, a dressing room and the main bedroom, around a landing. The stairwell has railings.
Staircase: 20 steps of 16 px, under the 20 px step height of the 3D character and of the navmesh.
Structure:
Furniture: 18 semi-realistic models by Poly Haven (CC0), reused across the rooms, with static bodies. They are navmesh obstacles.
The models are placed against the walls from their measured size, facing into the rooms. Poly Haven has no bathroom furniture (toilet, bathtub, sink), so the room upstairs is a dressing room.
Pushable crates: 43 px boxes with a wooden crate texture drawn by the texture script (
HouseCrate.png).Yard: a wooden rail fence (Quaternius) with an opening in front of the door, two Victorian street lamps (Poly Haven) at the opening, dead trees and mossy rocks (Quaternius), with invisible walls beyond the fence.
Lights: dim point lights without shadows in a few rooms (at the oil lamps), two of them flickering.
A script draws the textures of the walls, floors, ceilings, roof, door, yard and crates (
HouseWallpaper.png,HouseFloor.png...). They are shown with a tile scale of 0.4, like the textures of the themes (about 512 px).Gameplay
The monster is 125 px tall (100 px in the starter) and starts upstairs. It walks with navmesh pathfinding (
NavMeshPathfinding) on both floors and the stairs. The navmesh is built from:It keeps the state machine of the starter. When the patrol can't reach the player, it walks to a random patrol point (hidden markers in each room of both floors,
PatrolPoint), instead of a random place in a ground box. The walls, floors, stairs and door hide the player from it (MonsterVisionObstacles); the windows don't.Events compared to the starter
56 → 97 instructions:
The events are unfolded, except the groups. The objects are in folders:
House,Furniture,Yard,Gameplay,Lights,Interface,Markers,Characters.Theme slots
theme-slots.jsonuses existing slots only:env.wall: the inside and outer walls, and the roof;env.ground.tiled: the top of the floors (withenv.wallunder the floors), and the whole stairs, so they look like wooden stairs in every theme;env.ground: the yard;env.crate: the pushable crates;character.monster;nature.tree: both kinds of dead trees;nature.rock.bigandnature.rock.small: the mossy rocks;sky.dark.Ignored, so they keep their look in every theme: the furniture, the door, the key, the windows, the fence, the street lamps, the markers and the invisible walls.
checkStarterThemeSlotspasses.Tests
6 tests, all passing with
node scripts/run-gameplay-tests.jsand the latest build of GDevelop'smaster:The starter's test "The monster comes after the player" is removed. It moved the monster in a straight line toward the player, which goes through the walls of the house. The chase test above checks the same thing.
The tests render at 160×90 with a 120 s timeout (150 s for the stairs), since the lights are slow in the software renderer.
jest,tscandprettierpass.Screenshots
The rooms, in the game (1280×720, lit by the flashlight). The living room (twice), the kitchen, the hall (the clock, and the commode with an oil lamp), the study:
The storage room with the crates, the two bedrooms, the main bedroom, the dressing room, and the desk with the key:
The yard: the opening of the fence between the street lamps, and the front of the house:
The hall with the monster and the stairs (the preview):
Cutaways of each floor (roof and upper floor hidden, full light), to show the layout:
With themes (from GDevelopApp/GDevelop-assets#718, built locally): the hall, the top of the stairs, outside, and the ground-floor cutaway. These were taken before the furniture, the crates and the yard were replaced; the themes don't change the furniture.
Haunted house (the witch is in the hall):

Dark woods (the yeti is in the hall):

Dark fantasy (the skeleton rogue is in the hall):

Not done / to check
thumbnail.png(1920×1080): a screenshot at that size came out black in the test renderer. There is a 1280×720preview.png, like the expanded starters.starting-slug).🤖 Generated with Claude Code
https://claude.ai/code/session_01Wa8uKpYuQrYqGYnqGCsquj