32 Commits

Author SHA1 Message Date
D8H deb802cfec Allow to override behavior properties on object instances (#8171)
* For now, this is limited to instances inside custom objects. This will be made available in the future for all instances in scenes if this works well.
2026-02-09 16:21:24 +01:00
Florian Rival f7a821f980 Add categories to classes for game engine documentation (#8076) 2025-12-18 17:12:07 +01:00
Clément Pasteau e174136fb4 New Save & Load built-in actions (#7811)
* New actions are available to save & load the game state, making Saving & Loading as easy as adding 1 action to your game!
* While it will work in most cases, it has a few limitations and hasn't been thoroughly tested on all types of objects/behaviors and games, so it is for the moment tagged as **Experimental** while we gather feedback and improve it
* Check out the wiki for more info: https://wiki.gdevelop.io/gdevelop5/all-features/save-state
2025-09-29 15:38:37 +02:00
D8H 752d047464 Upgrade GDJS to Prettier 3.4.2 (#7398)
- Don't show in changelog
2025-02-12 18:50:02 +01:00
D8H c0722dc441 [2D Physics] Reduce the CPU footprint of static objects (#7299) 2025-01-10 16:39:20 +01:00
D8H e2281dfd82 Add 3D physics and 3D character behaviors (#7149)
* The 3D physics engine is powered by [Jolt Physics](https://github.com/jrouwe/JoltPhysics) a modern, performant, battle-tested, fully featured 3D physics engine used in AAA games, like Horizon: Forbidden West. The new 3D physics engine is perfect for making FPS, TPS, 3D platformer and in the future 3D racing games or any 3D game.
* Similar to the 2D physics engine, you can add the 3D Physics behavior to your object. For example, add the behavior to platforms with the type set to "Static".
* You can choose the collider shape: box, sphere, cylinder or capsule and modify physics properties of the objects having this behavior - much like the 2D physics engine.
* For characters, a dedicated "3D Physics Character" behavior is available. Pair it with one or more additional behaviors to get controls working out of the box: "3D Shooter keyboard mapper", "3D Platformer keyboard mapper", etc...
* Take a look at the new examples to give it a try! New examples and behaviors will be progressively added.
2024-12-17 18:00:48 +01:00
D8H d110e83f6f Fix a crash when Physics behavior is used on object smaller than 0.1 pixel (#7209) 2024-11-29 15:49:02 +01:00
D8H a81c45f91a Fix position conflicts between Physics and other movement behaviors (#7189) 2024-11-26 11:25:41 +01:00
D8H a3f7176c42 [Physics2] Fix a memory leak on object instances (#7136) 2024-11-08 14:53:38 +01:00
D8H a90b9a27e9 [Physics2] Avoid an exception when the object position is not finite (#7017) 2024-10-07 11:11:36 +02:00
D8H 6321e82f63 [Physics2] Forbid negative damping values (#7016) 2024-10-04 18:06:12 +02:00
Clément Pasteau 0b7cac79ef Allow changing Sync Rate of objects in a multiplayer game (#6884)
* Default sync rate of objects is now set to 30 times per second (was 60 before, but 30 is enough for most games)
* A new action can be used to update this value depending on the type of your game, at the cost of bandwidth. Fast-paced competitive? go for 60. Slow turn-based game? 10 is probably enough, or even less!
2024-08-26 18:27:27 +02:00
D8H 8721c0099e [Physics2] Merge the 2 world scale properties into one (#6865) 2024-08-26 15:16:01 +02:00
D8H a9108fa87b Add a tolerance parameter on the "linear velocity angle" condition (#6804) 2024-07-26 14:27:17 +02:00
Clément Pasteau 0eb7b85e77 Improve multiplayer sync (#6672)
* Fix a rare case where the lobby was joined but did not appear as such in the interface
* Text inputs are now synced properly
* Add 2 new expressions for current player ping & username
* Fix Physics2 behavior being properly synced
2024-06-18 12:38:16 +02:00
Clément Pasteau da940abdc2 Multiplayer fixes (#6668)
* Prevent verticesBuffer to be synced for Physics2
* Ensure we create a force if no recycled are available
2024-06-17 18:35:20 +02:00
Clément Pasteau 3c5fee0535 Add experimental support for multiplayer games ("GDevelop Multiplayer") (#6613) 2024-06-07 14:12:58 +02:00
Tristan Rhodes 368da1b610 New action for Physics behavior: Set the linear velocity towards an angle (#5670) 2024-03-27 08:27:00 +01:00
Florian Rival 0a0811e355 Fix crash with 'Put the object around another' action when target object was not existing (#5931) 2023-11-21 17:11:37 +01:00
D8H 028bf7a70d Fix Physics behavior forces effect under 60 fps (#5783) 2023-10-16 17:50:52 +02:00
D8H dfe84fbe2b Fix an issue in the frame rate synchronization of the Physics behavior (#5649)
* It should avoid jittery cameras that was happening from time to time.
2023-09-19 15:11:57 +02:00
Tristan Rhodes 957f672b90 Add LinearVelocityAngle() expression for the Physics behavior (#4798) 2023-01-17 14:11:21 +01:00
D8H 6c44f6e937 Physics2 behavior no longer step before the first frame (#4559)
* It allows events to access to the initial object positions.
2022-11-18 17:05:28 +01:00
D8H 80cb6d697c Handle custom objects at runtime (#4294)
* Don't show in changelog
2022-10-18 13:36:48 +02:00
D8H c6abfc5433 Add type definitions on the Physics2 extension (#4147) 2022-07-27 09:47:32 +02:00
AlexandreS 3c44602486 Fix Physics2 behaviors (#4074)
* Make it possible to activate and reactivate physics 2 behaviour
* Fix behaviour for objects modified or destroyed during events life cycle
* Make Physics2 Collision condition valid in any step of behaviour life cycles
2022-07-12 14:46:49 +02:00
AlexandreS fcc19a6dcf Fix collision bug introduced when fixing a collision bug 2022-06-21 16:41:18 +02:00
D8H 5669eae198 [Physics] Add mass and moment of inertia expressions (#4000) 2022-06-16 10:29:28 +02:00
AlexandreS 8f97a5ba69 Fix: Detect Physics2 contacts between objects that happen between frames 2022-06-16 10:12:15 +02:00
AlexandreS a10c9362dd Add condition to test if platformer is on a given platform 2021-09-24 14:15:06 +02:00
Florian Rival d639e0ea6e Translate more files to TypeScript
Don't show in changelog
2021-01-08 19:54:52 +01:00
Florian Rival 11d69e46ed Translate all behaviors to TypeScript
Also adapt custom behavior code generation to use a (partial) ES6 class (methods are still added using prototype)

Don't show in changelog
2021-01-08 19:54:41 +01:00