An open-source Object Pascal physics engine library for 3D games with rigid body dynamics and collision detection.
Kraft Physics Engine is an open-source physics library written in Object Pascal, designed specifically for 3D game development. It provides realistic physics simulations for rigid body dynamics, collision detection, and joint constraints, enabling developers to create immersive gaming experiences with accurate object interactions and movement. The engine supports 1D, 2D, and 3D physics and offers performance optimizations like island-based multithreading and SIMD for x86 architectures.
Game developers using Object Pascal (Delphi or FreePascal) for 3D game projects requiring physics simulations, particularly those targeting desktop platforms or mobile via FreePascal. It's also suitable for developers needing precise physics with options for accuracy versus speed in position correction.
Developers choose Kraft for its Object Pascal-native design, offering robust rigid body dynamics with full one-shot contact manifold collision shapes that eliminate the need for compound shapes. Its unique selling point is the choice between slower, more precise post position correction and faster, less accurate Baumgarte stabilization, providing flexibility based on simulation needs.
Kraft Physics Engine is an open source Object Pascal physics engine library that can be used in 3D games.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports multiple collision shapes per rigid body without requiring compound shapes, simplifying asset setup and management, as highlighted in the features list.
Offers a choice between slower, more precise post position correction and faster Baumgarte stabilization, allowing developers to balance simulation needs based on project requirements.
Includes dynamic AABB tree broadphase, island-based multithreading, and SIMD optimizations for x86 architectures, enhancing simulation speed for complex game scenes.
Compatible with FreePascal >= 2.6.2 across many targets including Android and iOS, making it versatile for cross-platform development beyond Delphi limitations.
The README states 'Documentation: Later . . .', indicating incomplete or absent formal documentation, which can hinder learning, troubleshooting, and onboarding for new users.
The 'master' branch is frequently updated and can be unstable, as noted in the README, forcing reliance on the 'release' branch for stable builds and increasing maintenance overhead.
While compatible with Delphi 7-XE7, it does not support Android and iOS targets in Delphi, restricting its use in mobile projects that rely on Delphi for cross-platform development.