Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
4f122e4
FPS with enemies submission
HelperWesley Oct 6, 2026
ab6bd75
Camera monitoring game submission
HelperWesley Oct 8, 2026
7134202
Adding gameplay test for FPS with enemies
HelperWesley Oct 8, 2026
b72bfe3
Adding thumbnail and md file
HelperWesley Oct 8, 2026
f1e5aa2
Updating textures
HelperWesley Oct 9, 2026
8c58260
Adding "3D" to starter name
HelperWesley Oct 9, 2026
d86d91e
Merge remote-tracking branch 'origin/main' into claude/awesome-knuth-…
claude Oct 19, 2026
cb41132
Use the standard cube orientation for the skybox of the FPS with enemies
claude Oct 19, 2026
cef15cd
Make the enemies of the FPS with enemies walk with a navmesh
claude Oct 19, 2026
8c45a8a
Map the objects of the FPS with enemies and the camera monitoring to …
claude Oct 19, 2026
9e00467
Give the tests of the camera monitoring starter a 120 s timeout
claude Oct 19, 2026
8593eb3
Throw a shot enemy back with the impulse at the impact again
claude Oct 19, 2026
41ccaf9
Throw a shot enemy back keeping their physics body
claude Oct 19, 2026
3d793eb
Require the GDevelop version with the "Body type" action for the exam…
claude Oct 20, 2026
c7279ff
Make the walking enemies kinematic, and dynamic when shot
claude Oct 20, 2026
d47a396
Give the submitted tests of the FPS with enemies a 120 s budget
claude Oct 20, 2026
0448b41
FPS with enemies: World folder, remove tests of implementation details
claude Oct 22, 2026
0060eec
FPS with enemies, camera monitoring: unfold the events, except the gr…
claude Oct 22, 2026
9a97f7f
Shorten the READMEs of the starters to a description of the game
claude Oct 23, 2026
71f1c7e
Merge the rewritten branch of GDevelopApp/GDevelop-examples#1076
claude Oct 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1717,7 +1717,7 @@
],
"events": [
{
"folded": true,
"folded": false,
"type": "BuiltinCommonInstructions::Comment",
"color": {
"b": 109,
Expand All @@ -1730,7 +1730,7 @@
"comment": "Disable editor lighting"
},
{
"folded": true,
"folded": false,
"type": "BuiltinCommonInstructions::Standard",
"conditions": [],
"actions": [
Expand Down Expand Up @@ -1790,7 +1790,7 @@
]
},
{
"folded": true,
"folded": false,
"type": "BuiltinCommonInstructions::Comment",
"color": {
"b": 109,
Expand All @@ -1803,7 +1803,7 @@
"comment": "Setting object room variables"
},
{
"folded": true,
"folded": false,
"type": "BuiltinCommonInstructions::ForEach",
"object": "RoomArea",
"conditions": [
Expand Down Expand Up @@ -1858,7 +1858,7 @@
"type": "BuiltinCommonInstructions::Group",
"events": [
{
"folded": true,
"folded": false,
"type": "BuiltinCommonInstructions::Comment",
"color": {
"b": 109,
Expand All @@ -1871,7 +1871,7 @@
"comment": "Change camera"
},
{
"folded": true,
"folded": false,
"type": "BuiltinCommonInstructions::Standard",
"conditions": [
{
Expand Down Expand Up @@ -1905,7 +1905,7 @@
],
"events": [
{
"folded": true,
"folded": false,
"type": "BuiltinCommonInstructions::Standard",
"conditions": [
{
Expand Down Expand Up @@ -1933,7 +1933,7 @@
]
},
{
"folded": true,
"folded": false,
"type": "BuiltinCommonInstructions::Standard",
"conditions": [
{
Expand Down Expand Up @@ -1962,7 +1962,7 @@
]
},
{
"folded": true,
"folded": false,
"type": "BuiltinCommonInstructions::Comment",
"color": {
"b": 109,
Expand All @@ -1975,7 +1975,7 @@
"comment": "Camera transition and effect"
},
{
"folded": true,
"folded": false,
"type": "BuiltinCommonInstructions::Standard",
"conditions": [
{
Expand Down Expand Up @@ -2056,7 +2056,7 @@
],
"events": [
{
"folded": true,
"folded": false,
"type": "BuiltinCommonInstructions::Standard",
"conditions": [
{
Expand Down Expand Up @@ -2123,7 +2123,7 @@
]
},
{
"folded": true,
"folded": false,
"type": "BuiltinCommonInstructions::Standard",
"conditions": [
{
Expand Down Expand Up @@ -2183,7 +2183,7 @@
"type": "BuiltinCommonInstructions::Group",
"events": [
{
"folded": true,
"folded": false,
"type": "BuiltinCommonInstructions::Standard",
"conditions": [
{
Expand All @@ -2208,7 +2208,7 @@
]
},
{
"folded": true,
"folded": false,
"type": "BuiltinCommonInstructions::Standard",
"conditions": [
{
Expand Down Expand Up @@ -2246,7 +2246,7 @@
],
"events": [
{
"folded": true,
"folded": false,
"type": "BuiltinCommonInstructions::Comment",
"color": {
"b": 109,
Expand All @@ -2259,7 +2259,7 @@
"comment": "Setting clock time"
},
{
"folded": true,
"folded": false,
"type": "BuiltinCommonInstructions::Standard",
"conditions": [],
"actions": [
Expand All @@ -2286,7 +2286,7 @@
],
"events": [
{
"folded": true,
"folded": false,
"type": "BuiltinCommonInstructions::Standard",
"conditions": [
{
Expand Down Expand Up @@ -2314,7 +2314,7 @@
]
},
{
"folded": true,
"folded": false,
"type": "BuiltinCommonInstructions::Standard",
"conditions": [
{
Expand Down Expand Up @@ -2342,7 +2342,7 @@
]
},
{
"folded": true,
"folded": false,
"type": "BuiltinCommonInstructions::Standard",
"conditions": [],
"actions": [
Expand Down Expand Up @@ -2594,6 +2594,7 @@
"type": "gameplay",
"source": [
"await harness.goToScene('Game Scene');",
"harness.setTimeoutMs(120000);",
"await harness.stepFrames(40);",
"const near=(a,b)=>Math.abs(a-b)<0.1;",
"const sameAngle=(a,b)=>Math.abs(((a-b+540)%360)-180)<0.1;",
Expand Down Expand Up @@ -2638,6 +2639,7 @@
"type": "gameplay",
"source": [
"await harness.goToScene('Game Scene');",
"harness.setTimeoutMs(120000);",
"await harness.stepFrames(40);",
"const near=(a,b)=>Math.abs(a-b)<0.1;",
"const sameAngle=(a,b)=>Math.abs(((a-b+540)%360)-180)<0.1;",
Expand Down
16 changes: 16 additions & 0 deletions examples/starting-3d-camera-monitoring/theme-slots.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"version": 1,
"objects": {
"scene:Game Scene/Walls": "env.wall",
"scene:Game Scene/Floor": "env.ground.tiled",
"scene:Game Scene/Furniture": "env.crate"
},
"effects": {},
"ignoredObjects": [
"scene:Game Scene/Camera",
"scene:Game Scene/Glass",
"scene:Game Scene/RoomArea",
"object:Light3D::SpotLight3D/Placeholder",
"object:Light3D::PointLight3D/Placeholder"
]
}
8 changes: 1 addition & 7 deletions examples/starting-first-person-shooter-enemies/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
# 3D FPS game with Enemies

A 3D physics-based first-person shooter, where the player can look around and turn using the camera, as well as jump and fall within the environment. The scene includes a ground surface, solid platforms the player can land on, and pushable physics boxs that reacts realistically to movement.

Enemies roam around the playable area using pathfinding to navigate around obstacles, as they try to find the player. Their behavior is controlled by a simple state machine. The enemies use raycasting to check if the player is in their line of sight, and when one detects the player, it stops pathfinding and switches to a chase state. If an enemy collides with the player, the game resets.

The player holds a 3D gun model that can be fired. Firing uses raycasting to detect where the bullet hits, creating a 3D particle effect at the point of impact. Each shot plays a sound effect and causes the screen to shake.

This setup works well for any action game where the player is able to shoot and kill enemies. The game supports both keyboard/mouse controls and mobile touch controls.
A 3D physics-based first-person shooter, where the player can look around, walk, jump and fall, on a ground with a platform reached by ramps and pushable physics boxes. The player holds a 3D gun: firing uses raycasting to detect where the bullet hits, with a 3D particle effect at the impact, a sound and a screen shake. Enemies patrol using navmesh pathfinding, chase the player when they see them (raycasting), and are thrown back and killed when shot. If an enemy catches the player, the game resets. This setup works well for any action game where the player shoots and kills enemies. The game supports both keyboard/mouse controls and mobile touch controls.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Loading