Kinematic Character System

Which subscription? Can you please provide a link?

Great work btw, the demo is really impressive!

3 Likes

Answered in a private message. :handshake:

1 Like

Hello everyone!!!

Today is just an excellent addition that allows you to squeeze out the maximum optimization for your project, now you can adjust FixedTimeStep in real time, use interpolation to smooth out movements, specify whether to update the physical state for objects that, for example, are far from the player and updating them in the physical world makes no sense, and also specify the frequency of updates for them.

Many thanks to @LeXXik for the consultation.


1 Like
1 Like

Update:

Now in the demo example controller, an example of the implementation of a double jump is presented, as well as a jump from the wall. (For the implementation of the parkour game)

  1. Part of the code has been optimized.
  2. Improved integration for various physics engines, see

IPhysicsProvider.mts

ExamplePlatformScript.js

1 Like

Hello everyone! From 06/09 to 06/10 we have a 35% sale, we want to attract more client-developers to our project. For communication, write a private message.

Update:

  • In the latest version, an issue for mobile devices was fixed, where FPS below 30 caused incorrect interpolation of dynamic objects.

  • A TargetFrameRate script has been added, which attempts to maintain the application’s FPS at a specified level.

  • The event system for fixed steps has been improved; the states fixedUpdate, physicsEngineFixedUpdate, and physicsEngineUpdate have been separated. This cycle allows for predictable physics processing within the application.

image
image

1 Like

Update:

The system’s performance has increased significantly, as support for the new physics engine Jolt Physics is now 100% complete, resulting in a 30% performance boost.

Added the ability to control the controller using AI.

Even if you use your own physics engine, we can provide integration of our Kinematic Character System for you.

Thank you for your consultation @LeXXik


2025-06-15 16-45-08.mp4 [video-to-gif output image]

1 Like

Fix:

  1. Fixed a bug when using the Ammo physics engine provider, where a controller with a kinematic interactive type incorrectly perceived neighboring controllers with dynamic interactive types and took them into account during movement.

  2. Fixed an issue where interpolation was taken on camera movement with the rotateWithPhysicsMover flag set, but the system interpolation flag was not active.

1 Like

Update:

CompoundPhysicsMoverItemState has been simplified to only reference CompoundPhysicsMover

/src/Core/CompoundPhysicsMoverItemState.mts ->
/src/Core/CompoundPhysicsMoverItem.mts

This innovation simplified the movement logic, but eliminated the ability to move kinematic objects without using a Mover. Now, any body that needs to be moved must have a Mover applied, which allowed us to optimize the calculation of movements when traversing child elements.

Kinematic Character System Update:

  • The system now supports object filtering by mask on the Ammo engine side, allowing greater flexibility in configuring interactions. (For reference, the Jolt engine already includes such filtering by default.)
  • The interpolation calculation for dynamic bodies worked with by the player controller has been improved. This ensures smoother control and character animation.
  • The collision handling algorithm in the CCD solution has been significantly revised: now not only collision events are taken into account, but also the impact force affects the character’s movement, adding realism to interactions.

Thank you! Please test the updated features and share your feedback.

1 Like

Support has been updated to the latest engine version 2.14.4

This video showcases the ExampleCurveMovingPlatform script, which moves platforms along defined points or curved paths. It demonstrates smooth platform motion, adjustable speed and direction control, and interaction with a dynamic body — part of a gameplay task involving its transportation.
This approach can be used to create various moving level elements such as elevators, lifts, conveyors, or player-reactive platforms.

3 Likes

:tada: Kinematic Character System Update

The system has been completely redesigned — calculations can now be performed in a Web Worker alongside physics, without blocking the main thread.
In addition, the core system has been isolated from the engine, making it possible to use it across different engines. Thanks to lightweight wrappers around IEntityProvider, IPhysicsProvider, and IKCSystem, integration now takes just a few lines of code.
This approach simplifies integration, improves performance, and opens up new possibilities for independent kinematics system development.

:muscle: The changes are available to all our subscribers, and are backward compatible with previous updates.

image

1 Like

We have migrated from tsc (AMD modules) to esbuild , which made the system more flexible and easier to maintain. All examples have been rewritten — instead of using the internal optimized Vec3Math and QuatMath methods, they now rely on the engine code referenced in the provided examples. The core, however, continues to use internal performance optimizations that make the code less readable but significantly faster due to aggressive inline expansions and other techniques recommended for high-performance JS math computations.

In the core codebase, we removed the previous submodule structure — the core is now built as a single unified file without the ability to load its parts separately. The build process generates both ESM and CJS module formats for compatibility with different environments.

image

2 Likes

We’ve released a method optimizer for Ammo that provides direct access to the heap memory without using WASM wrappers. This approach delivers about a 35% performance boost. The only drawback is that pointer adjustments are required if Ammo’s internal structures change, but since such changes are rare, the solution remains stable and reliable in most cases.

The demo stand demonstrates the simultaneous operation of 200 controllers.

1 Like

:rocket: Test AI Agent in Action: Pursuit, Gravity, and Kinematics on a Spherical World!

Watch our prototype AI bot hunt the player in a unique environment with its own planetary gravity!

:fire: Dynamic Pursuit: AI analyzes the player’s path and adapts in real-time.
:earth_africa: World Interaction: Rolls across a spherical planet, using kinematic platforms for jumps and maneuvers.
:boom: Combat Physics: Reacts to bullets — dodges, takes damage, and changes behavior on hit.
:hammer_and_wrench: Universal Solution: Works with game engines Babylon.js, Three.js, PlayCanvas and physics engines Jolt, Ammo.js. Easily integrates into any stack — from WebGL to WASM-optimized builds!

This is a modular test build. Perfect for games with procedural worlds and AI-driven gameplay.

2 Likes