Skip to content

Faster 3D terrain in the starters, and fixes for the terrain replacing the ground - #1110

Merged
4ian merged 8 commits into
StarterProjectUpdate_TerrainAdditionfrom
claude/sharp-tesla-20zcgw
Nov 2, 2026
Merged

4ian merged 8 commits into
StarterProjectUpdate_TerrainAdditionfrom
claude/sharp-tesla-20zcgw

Conversation

@4ian

@4ian 4ian commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

To be merged into #1106, so that it can then be merged into main.

Changes

  • Merge of main: brings in Fix and improve touch controls in the first-person and 3D starters #1107 (touch controls) and Speed up the CircleCI install and deploy jobs #1109. The only conflict was in the shooter-enemies starter: Adding terrain to 3D starters #1106 removed "folded": false lines right next to events added by Fix and improve touch controls in the first-person and 3D starters #1107. Both changes are kept.
  • 3D terrain v0.2.0 in the 12 starters (from [Reviewed][3D terrain] Make the ground faster to draw on slower graphics cards (v0.2.0) GDevelop-extensions#2345): a faster shader, to fix the stutters reported on slower graphics cards. Only the extension's changes are applied to each project (code, version and the new advanced "Anisotropic filtering" property), keeping the format GDevelop saves.
  • Fixes for roles the old ground box had and the terrain did not take over:
    • Shooter with enemies: the terrain had no NavMeshObstacle behavior, so enemies had no floor to walk on. 2 gameplay tests were failing: "A patrolling enemy walks toward the player" and "An enemy that sees the player chases and catches them".
    • Farming and survival crafting: the terrain was not in the RaycastSurface group, so held items could not be shown or placed on the ground. A new gameplay test, "A held item is shown on the ground where the player looks", checks it: it fails without the terrain in the group and passes with it.
    • Theme slots: theme-slots.json still mapped the removed ground boxes and not the terrain, which failed the build. The terrain layers are now mapped to the terrain.ground slot, and terrain.road for the checkered road of the driving and tank starters. The terrain's internal AreaPlaceholder objects are now ignored.
    • All of these match how the expanded versions of these starters on main are set up.

Testing

All gameplay tests of the 12 starters were run with GDevelop 5.6.286.

  • Tests: all 29 pass (27 existing and 2 new). Before these fixes, the 2 enemy tests failed with both versions of the extension.
  • Screenshots, old vs new extension: most are pixel-identical. The ones that differ show gameplay timing (gun sway, tree shake, shot impacts, tank physics), not the ground. Benchmark scenes with a fixed state are identical or within 0.1 mean difference.
  • Rendering time: measured with a temporary benchmark test (not committed): a 640×360 frame, waiting for the graphics work to finish, median of 20 frames. It is −14.5% overall across the 12 starters, from −0.7% (first-person horror) to −30.6% (3D platformer). Times come from Chromium's software renderer, so they show the direction rather than the gain on a real graphics card.
  • CI: green, including the build, the staging deploy and the gameplay tests of the changed games.

🤖 Generated with Claude Code

https://claude.ai/code/session_01GFZnZwjYz8dSQxu3B2QVUJ

4ian and others added 7 commits October 28, 2026 17:14
The terrain shader does less work for each pixel of ground (noise read from a
texture, layer average colors computed once, only the used features compiled),
which removes stutters on slower graphics cards.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GFZnZwjYz8dSQxu3B2QVUJ
… starters

The terrain replaced the ground boxes, but did not take over all their roles:
- In the shooter with enemies, it had no navigation mesh behavior, so enemies
  had no floor to walk on (two gameplay tests were failing).
- In the farming and survival crafting starters, it was not in the
  RaycastSurface group, so held items could not be shown nor placed on the
  ground. A gameplay test now checks it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GFZnZwjYz8dSQxu3B2QVUJ
@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

Preview the game(s) changed or added in this Pull Request


This is an automatic message displaying links to the games in this PR - double check the JSON in case of doubt.

The ground boxes the terrain replaced were still mapped in theme-slots.json,
and the terrain was not mapped, which made the build fail. The terrain layers
are mapped to the terrain slots, like in the expanded starters.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GFZnZwjYz8dSQxu3B2QVUJ
@4ian
4ian merged commit d503ef0 into StarterProjectUpdate_TerrainAddition Nov 2, 2026
6 checks passed
4ian pushed a commit that referenced this pull request Nov 3, 2026
#1110 was squash-merged: its content already includes the changes of main
(#1107, #1109), so the conflict is resolved with this branch's version and
this merge changes no file.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GFZnZwjYz8dSQxu3B2QVUJ
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants