Skip to content

Commit 4b4970c

Browse files
[Auto] [Improve] Enhanced platformer and top-down movement docs with ladder, drop-through, and isometry details (#455)
Co-authored-by: 4ian <1280130+4ian@users.noreply.github.com>
1 parent ae1411a commit 4b4970c

3 files changed

Lines changed: 39 additions & 1 deletion

File tree

automated_updates_data.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@
3232
{
3333
"date": "2026-02-18",
3434
"summary": "Improved variables documentation: added array/structure manipulation operations, object variable use-case guidance, and fixed physics2 typos"
35+
},
36+
{
37+
"date": "2026-02-18",
38+
"summary": "Improved platformer and top-down movement docs: added ladder climbing, jumpthru drop-through, ledge grab clarifications, and isometric viewpoint options"
3539
}
3640
]
3741
}

docs/gdevelop5/behaviors/platformer/index.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ The offset of the grab can also be changed on the Y-axis.
3838

3939
The offset option allows us to change the position of the grab to fit the animation of our character.
4040

41+
!!! note
42+
43+
A platform must also have **"Grab the ledge"** enabled for a character to grab its edges. Both the platform and the character must have the option enabled.
44+
4145
### Create platforms with tilemaps
4246

4347
The platform behavior can be added to tilemap collision mask objects. Learn more about it on the [tilemap](/gdevelop5/objects/tilemap#handle_collisions) page.
@@ -85,9 +89,21 @@ Again, as with the "Platform Behavior", we can set the grab offset on the Y axis
8589

8690
By changing the grab tolerance value, we can set how close the character needs to be to the platform in order to allow the character to grab the platform object.
8791

92+
By default, the character can grab a ledge even while standing still. This is useful so that, when moving toward a wall, a character automatically grabs a nearby ledge. You can disable "Automatically grab platform ledges without having to move horizontally" if you only want the character to grab while actively moving.
93+
94+
### Climb a ladder
95+
96+
When the character overlaps a **Ladder** object, pressing the up or down key makes the character climb or descend. Horizontal movement is disabled while on a ladder.
97+
98+
The climbing speed is a separate property from the walking speed and can be adjusted in the behavior properties or changed at runtime with events.
99+
100+
### Go down through a platform
101+
102+
When the character is standing on a **Jumpthru platform**, pressing the down key causes the character to fall through it. This is useful for platforms the player can drop down from, such as floating floors. This behavior is enabled by default and can be turned off in the behavior properties.
103+
88104
### Slope max angle
89105

90-
By changing this value, we can set the maximum angle of a slope that the player can climb. The default is 0. 0 default means the character can move only on a flat surface.
106+
By changing this value, we can set the maximum angle of a slope that the player can climb. Slopes steeper than this angle will block the character. A value of 0 means the character can only move on a perfectly flat surface, while higher values allow climbing steeper slopes. A value of 60 degrees (the default in most configurations) allows traversing moderately steep terrain.
91107

92108
### Change the character speed
93109

docs/gdevelop5/behaviors/topdown/index.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,22 @@ By default, the facing angle of our sprite is 0 which is the right side of our s
3737
!!! note
3838

3939
Note that some expressions like `AngleBetweenPositions` can gives you a result between -180 and 180. This is equivalent to this schema. An angle of -45 degrees is equivalent to an angle of 270 degrees.
40+
41+
#### Viewpoint (for isometric games)
42+
43+
The **Viewpoint** property controls how movement directions are projected onto the screen. This is essential for isometric games where the visual perspective differs from the movement plane.
44+
45+
* **Top-Down** (default): Movement directions map directly to screen axes. Moving right moves the object right on screen.
46+
* **Isometry 2:1**: Uses a classic pixel isometry projection (approximately 26.6°), the style common in many retro strategy games. The movement directions are transformed so that "forward" on screen matches the isometric visual perspective.
47+
* **True Isometry (30°)**: Uses a mathematically perfect 30-degree isometric projection.
48+
* **Custom Isometry**: Allows specifying any isometry angle, useful for non-standard perspectives.
49+
50+
When using an isometric viewpoint, it is also recommended to set the **Movement angle offset** to **-45 degrees**. This rotates the input directions so that pressing "up" moves the character toward the top of the isometric view rather than straight up on screen.
51+
52+
!!! tip
53+
54+
See the **Isometric Game** example below for a working demonstration of how to combine the Isometry viewpoint with the movement angle offset.
55+
4056
#### Allows diagonals
4157

4258
![](allow-diagonals-box.png)
@@ -67,6 +83,8 @@ The "top-down multitouch controller mapper" behavior from the [multi-touch joyst
6783

6884
By default, our object will rotate toward the direction of movement. The object will rotate at the speed we specify in the Rotation speed option. If we don't want the object to rotate, we need to disable this by unchecking the box.
6985

86+
For characters that face different directions using separate animations rather than rotation (for example, a top-down RPG character with separate walk-left and walk-right animations), disable rotation and use the movement angle expression to determine which animation to play with events.
87+
7088
All theses values can also be changed at any time during the game using [events](/gdevelop5/events).
7189

7290

0 commit comments

Comments
 (0)