Repository navigation
Conversation
Contributor
4ian
force-pushed
the
claude/awesome-knuth-vaoj1s
branch
from
October 14, 2026 09:43
b8b5ef0 to
49a896c
Compare
4ian
force-pushed
the
claude/awesome-knuth-vaoj1s-more-maps
branch
from
October 14, 2026 12:16
d1d9a1c to
042d988
Compare
4ian
force-pushed
the
claude/awesome-knuth-vaoj1s
branch
from
October 14, 2026 12:17
49a896c to
6541de0
Compare
4ian
force-pushed
the
claude/awesome-knuth-vaoj1s-more-maps
branch
from
October 14, 2026 13:25
042d988 to
a7b178b
Compare
4ian
force-pushed
the
claude/awesome-knuth-vaoj1s-more-maps
branch
from
October 14, 2026 13:48
a7b178b to
77b2733
Compare
Variants of four more 3D starters on maps made with the 3D terrain extension, built from the starters as they are on main, with the latest versions of their extensions. Forests, rocks and plants are scattered models. The lake of the flight and the stream of the RTS are Water3D objects whose edges are under the shore. The RTS units walk with navmesh pathfinding, and two fingers move its camera on touch screens. The RPG player walks on the deck of the bridge, is stopped by the buildings, and is kept out of the trunks and the river by events, without invisible obstacles. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wa8uKpYuQrYqGYnqGCsquj
4ian
force-pushed
the
claude/awesome-knuth-vaoj1s-more-maps
branch
from
October 14, 2026 17:13
77b2733 to
d91fab9
Compare
…p on main They get the skybox of their starters in the standard cube orientation (#1069). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wa8uKpYuQrYqGYnqGCsquj
…r tests - The grass of the survival and the RPG covers the whole terrain (one Grass instance): it only grows on its layer and on gentle slopes, and the far chunks are hidden. - The water of the flight, the RPG and the RTS: opacity 120, crests 231;248;255, foam 0.05, ripples 600 px, waves 2 px high, 150 px long, at a speed of 1.8. Each keeps its color. - Folders: the scattered trees, rocks and plants of the flight and the survival are in "Nature", their buildings and camp in "Decoration". - The tests checking how the map is made (objects starting on the ground, climbing a given hill, a given mountain, house, tree or river stopping the player, a path around a given hill, the copies of the scattered models) are removed: a game made from the starter changes the map. The tests of the gameplay are kept. - New previews. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wa8uKpYuQrYqGYnqGCsquj
The events moving the player are removed: putting it on the ground, on the deck of the bridge, out of the trunks and the rocks, and back out of the river. The player is a 3D physics character instead of a top-down movement: the 3D physics behavior, the 3D character behavior, and the keyboard (arrows, like the starter) and joystick mappers. It walks on the terrain and on the planks of the bridge (a static body with the shape of its model), and is stopped by static bodies: the buildings, the obstacle of the starter, the trunk collisions of the trees and rocks, the walls at the limits of the map, and new invisible walls along the river banks and the sides of the bridge. The events are those of the starter, except that the dialog deactivates the two mappers instead of the top-down movement, and that the player is no longer separated from the obstacle (its body stops the player). The "Obstacles" group is removed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wa8uKpYuQrYqGYnqGCsquj
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wa8uKpYuQrYqGYnqGCsquj
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wa8uKpYuQrYqGYnqGCsquj
…sture extension The events following the two touches (their identifiers, the mouse being 1) are replaced by the "Touch is pinching" condition of the pinching gesture extension (1.2.2, which converts the pinch center to the scene on a 3D layer): the point of the ground at the center of the pinch stays between the fingers. The group goes from 7 events to 2, and the touch identifier variables are removed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wa8uKpYuQrYqGYnqGCsquj
The starters with a map are more than starters (a map for now, maybe more later): their slug is "starting-expanded-<starter>" instead of "starting-<starter>-with-a-map", which tells them apart from the starters, and their name is "<starter name> Expanded" instead of "<starter name> with a map". The project UUIDs are kept. 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 expanded versions of four more 3D starters: the same game, on a map made with the 3D terrain extension, modeled on the 3D GTA Expanded. The original starters are unchanged.
The expanded starters are named
starting-expanded-<starter>and " Expanded": they are more than starters (a map for now, maybe more later), and their slug tells them apart from the starters.Uses the theme support for custom objects, the
terrain.*slots and the model slots for scattered models of #1082 (merged). Based on the latestmain. Same approach as #1086 and #1087.The starters
starting-expanded-3d-flight-sim— "3D Flight Simulator Expanded"starting-expanded-first-person-survival-crafting— "3D First Person Survival Crafting Expanded"starting-expanded-3d-top-down-rpg— "3D RPG Expanded"starting-expanded-3d-rts-unit-selection— "Top-down RTS (unit selection) Expanded"Each variant is built from the starter as it is on
main. What changed in the events is only what the map needs:Terrain.GroundZ(PlayerAircraft.X(), PlayerAircraft.Y()) + 20), and inside the map (a new event clamps its position, with a comment). The lake is a hollow dug in a flat shore; its water (aWater3Dobject, rotated along the lake) is as high as the hollow holds it, and all its edges are under the shore, so the shore draws the outline of the lake (no straight edge, no water above the ground).RaycastSurface, so that items are placed on it. The trees and boulders to gather stay objects; the bushes, berry bushes, plants and flowers are scattered models.Platformer3DKeyboardMapper,Platformer3DMultitouchMapper). It walks on the terrain and on the planks of the bridge (a static body with the shape of its model), and is stopped by static bodies: the buildings, the obstacle of the starter, the trunk collisions of the trees and rocks, the walls at the limits of the map, and invisible walls along the river banks and the sides of the bridge (RiverBank, 10 boxes): the bridge is the only way across. The only changes in the events: the dialog deactivates the two mappers instead of the top-down movement, and the player is no longer separated from the obstacle (its body stops the player). The dialog box keeps the button variants of the starter (OptionButton) through the update ofPanelSpriteButton. The 5 grass models of the starter are now a scattered models object (GrassTufts), asGrassis the terrain grass in the expanded starters. The camera instance is moved above the village.NavMeshPathfinding), instead of the grid pathfinding of the starter with invisible obstacles over the hills and at each tree. The navmesh is built from the terrain (slopes over 22° can't be walked on, so the units go around the hills and stay in the valley), the trunks of the scattered trees and rocks, and the buildings, and it follows the terrain and the forests when they are changed. The units avoid each other (crowd). The destinations are put on the ground (Terrain.GroundZ): the navmesh keeps the units on it. The map being bigger than the screen, the arrow keys (or WASD) move the camera object, clamped above the valley, and the layers look from it every frame. On touch screens, dragging with two fingers moves the camera, in a "Two-finger camera drag" group: with the "Touch is pinching" condition of the pinching gesture extension (1.2.2, [Pinching gesture] Fix converting positions to the scene on a 3D layer (v1.2.2) GDevelop-extensions#2330), the point of the ground at the center of the pinch (PinchGesture::CurrentCenterX/Y) stays between the fingers; the touch controls of the starter (tap to move, hold and drag to select) wait until the fingers are lifted. The buildings are Fantasy RTS models where the starter has its impassable boxes. The water boxes of the starter are replaced by aWater3Dobject like the river of the RPG, as high as the shallow stream (the units walk across it), with its edges under the banks.The events of these starters are unfolded, except the groups (which can stay folded).
Each variant has its forests, bushes, rocks and plants as scattered models (
Terrain3D::ScatteredModels, GPU instancing, theirModelmapped to thenature.*model slots, in aNaturefolder), mountains around the playable area (and walls at the limits where the player could climb), its shape in theEditsproperty of the terrain (generated by a script running the terrain and scatter code of the extension), ambientCG ground textures with normal maps, CC0 asset-store models credited in its README, a new project UUID, apreview.pngfrom a 1280×720 screenshot, the latest version of every extension it uses (including GDevelopApp/GDevelop-extensions#2310), and its objects mapped to theme slots.The survival and the RPG have grass on the whole terrain (one
Grassinstance: it only grows where its layer is painted and on gentle slopes, drawn in chunks of 500 px, the far ones hidden). The flight and the RTS, seen from far away, have none.The water of the flight, the RPG and the RTS is a
Water3Dwith an opacity of 120, wave crests 231;248;255, foam 0.05, ripples fromassets/WaterNormalMapwith a size of 600, wave height 2, wave length 150 and wave speed 1.8. Each keeps its color.Tests
The tests of the starters are kept and run on the map, with tests added for the gameplay the map changes (in bold; the flight and RPG starters had none):
Removed, because they check how the map is made, which a game made from the starter will change (they would break as soon as the map is edited):
The tests render at 160×90 without shadows, with the grass and the scattered models hidden, and with a 60 s timeout. All 9 tests pass with
node scripts/run-gameplay-tests.jsand the latest build of GDevelop'smaster(the one the CI uses). Checked apart for the RPG with its 3D physics character, with tests not kept: the arrow keys move the player and it walks up a hill; the river stops it; it crosses the bridge walking on its planks (1 to 5 px above the deck), and the walls along the bridge keep it on the planks; a house, the well, the obstacle of the starter and a tree trunk stop it.Events compared to the starters
What changed in the events of each starter, compared to the starter it expands:
Terrain.GroundZ(...) + 20) instead of above the ground box, and inside the map (a new event clamps its position).RaycastSurfacegroup.MoveTowith the destination on the ground, instead of the grid pathfinding (twice: touch and mouse). The camera: the arrow keys (or WASD) move it (4 events), the "Two-finger camera drag" group (while pinching, the camera keeps the point of the ground at the center of the pinch between the fingers: 2 events), and an event keeping it above the valley, the layers looking from it. The touch controls of the starter wait while two fingers drag (a condition).Screenshots
Views of the maps (1280×720, scaled down):
3D Flight Simulator Expanded

3D First Person Survival Crafting Expanded

3D RPG Expanded

Top-down RTS (unit selection) Expanded

With themes applied (built from GDevelopApp/GDevelop-assets#704), first view and overview. These were taken before the grass covered the whole terrain and before the new water settings:
Not done / to check
GDevelop-ai-prompts).npm run build(database) stops in this sandbox when fetching the deployed themes (proxy). The theme slots were checked withcheckStarterThemeSlots, and every theme was applied to every new starter withapplyThemeToStarter.🤖 Generated with Claude Code
https://claude.ai/code/session_01Wa8uKpYuQrYqGYnqGCsquj