# ๐ฑ Introducing PhyzMax 2D โ High-Speed Physics for Construct 3! | First Playable Demo
Hey everyone!
I'm excited to share the first playable demo of **PhyzMax 2D**, a custom physics engine and collection of modular addons I'm developing for **Construct 3**.
Although the first demonstration focuses on an 8-ball pool simulation, **PhyzMax 2D is not designed exclusively for billiards**.
The goal is to build a flexible, high-performance physics system for arcade games where **speed, collision precision, responsiveness, and believable physical interactions matter**.
Think **pinball, tennis, air hockey, billiards, breakout-style games, ricochet shooters, physics puzzles, and other fast-paced arcade experiences**.
## ๐ฎ First Playable Demo โ Now on Scirra Arcade!
I've published an early 8-ball physics showcase demonstrating:
- **High-speed movement:** Mouse-controlled shots reaching approximately 5,000 pixels per second.
- **Continuous Collision Detection (CCD):** Designed to reduce tunneling through obstacles at high speeds.
- **Custom physics simulation:** Impulses, velocity, restitution, collision response, and configurable simulation frequency.
- **3D spherical rendering:** A custom shader maps a 2D UV texture onto a simulated three-dimensional ball.
- **Automatic visual rolling:** The texture rotates according to the ball's movement direction and distance.
- **Cue-ball spin controls:** Adjustable impact points for topspin, backspin, and sideways curvature effects.
- **Surface interactions:** Configurable friction and rolling resistance.
- **Visual cue targeting:** Select an impact point on the cue ball and control the strength of the resulting spin.
This is currently a **barebones technology demonstration**, not a finished game. The purpose is to demonstrate the underlying systems and collect feedback from the Construct community.
## โ๏ธ Modular Physics Addons
PhyzMax is being developed as a collection of interoperable components:
**PhyzMax 2D** โ Core physics, velocity, impulses, collision detection, and simulation.
**PhyzSurface** โ Surface friction, rolling resistance, and virtual ground interactions.
**Phyz3DBall FX** โ Shader-based spherical projection, lighting, and texture rotation.
**Phyz3DBall Auto Roll** โ Automatic visual rolling synchronized with movement.
**PhyzCueBall** โ Cue-ball shot control, adjustable power, and spin effects.
**PhyzCueTarget** โ A visual X/Z impact-point controller for mouse and keyboard interaction.
**PhyzPocket** โ An experimental automatic pocket system for ball capture, rim interactions, and simulated depth.
The design philosophy is simple: **drag, drop, configure, and play**.
Developers should be able to create complex physical interactions using Construct's familiar Behaviors and Properties, without rebuilding physics systems manually in Event Sheets.
## ๐ Upcoming Physics Improvements
### Advanced Collision & Spin Transfer
- Angular momentum transfer between colliding balls.
- Contact-angle-dependent spin interactions.
- More accurate glancing collisions and cut shots.
- Realistic ball-to-ball friction and throw.
- Improved linear and angular momentum exchange.
- Better handling of multiple simultaneous contacts.
### Cushion & Surface Physics
- Spin-sensitive rebounds from cushions and walls.
- More realistic bank shots and ricochets.
- Friction-dependent rebound angles.
- Independent angular velocity and rotational inertia.
- Improved sliding-to-rolling transitions.
- Surface materials with different friction and resistance characteristics.
These features are intended to benefit not only pool games, but also pinball, tennis, air hockey, and many other arcade physics applications.
### Cue-Ball & Advanced Spin
- Physically simulated topspin and backspin.
- Draw, follow, and stun shots.
- Advanced side spin and cushion interaction.
- Independent 3D angular velocity.
- Improved synchronization between physical spin and visual rotation.
### Automatic Pocket Physics
- Ball capture and pocket-edge detection.
- Realistic rattling and bouncing around pocket openings.
- Orbiting around the inner rim before falling.
- Z-axis descent into pockets.
- Simulated ball-return channels.
- Automated scoring and cue-ball scratch events.
### Graphics & Developer Tools
- Higher-quality spherical UV rendering.
- Improved antialiasing and visual smoothness.
- Complete pool-ball texture sets.
- Enhanced aiming and cue-control interfaces.
- Collision visualization and physics debugging.
- Performance profiling and simulation optimization.
- Additional reusable arcade physics Behaviors and effects.
## ๐น๏ธ Beyond Billiards
While billiards provides an excellent environment for testing precision collisions and spin, the broader objective is to support many types of games.
**Pinball:** High-speed ball collisions, flippers, bumpers, and spin-sensitive rebounds.
**Tennis & Table Tennis:** Fast-moving projectiles, directional spin, and surface interactions.
**Air Hockey:** Responsive puck collisions and high-speed arcade movement.
**Breakout & Arkanoid-style Games:** Precise bouncing, collision angles, and fast-moving objects.
**Arcade Shooters:** Ricochets, bouncing projectiles, and collision-heavy environments.
**Physics Puzzles:** Momentum, friction, forces, and complex object interactions.
These are target use cases for development and testing, rather than a claim that every genre-specific mechanic is already implemented.
## ๐ง Construct Compatibility Roadmap
**Current development target: Construct 3 โ Addon SDK v2.**
PhyzMax is being developed using Construct 3's modern SDK v2 architecture, which is the supported addon standard for current Construct 3 releases.
**Legacy Construct 3 / SDK v1:** Compatibility with older Construct 3 releases may be investigated where technically practical. This would require a separate legacy-compatible implementation and is not currently guaranteed.
**Construct 2:** A possible future port is under consideration, depending on community interest, technical feasibility, and the amount of work required to adapt the physics runtime and addon interfaces.
The priority will remain **modern Construct 3 compatibility, stability, and performance** before expanding to legacy versions.
## ๐ฏ The Long-Term Vision
I want PhyzMax 2D to become a flexible physics toolkit for Construct developers, particularly those building arcade games where conventional collision systems may struggle with high velocities or more advanced interactions.
The ultimate goal is to deliver:
**Precision physics + advanced motion + modular Behaviors + minimal setup.**
Whether you're creating a pool simulator, a pinball game, a fast-paced sports game, or a physics-driven arcade project, the aim is to make advanced physical interactions more accessible.
## ๐ Coming Soon to the Scirra Store!
**PhyzMax 2D and its companion physics addons will be available for purchase on the Scirra Store soon!**
The upcoming commercial release aims to offer a modular, easy-to-use physics toolkit for Construct 3 developers, with a focus on high-speed collisions, advanced ball physics, spin effects, and reusable arcade gameplay systems.
Further details about pricing, included addons, documentation, and release availability will be announced as development progresses.
**๐ฑ Try the free Arcade demo today โ and stay tuned for the official Scirra Store release!**
## ๐ฑ Play the Demo
**Scirra Arcade:**
This is an early work-in-progress release. Expect experimental behavior, unfinished visuals, and ongoing development.
I'd especially appreciate feedback on collision accuracy, high-speed movement, physics responsiveness, spin behavior, and performance.
I'm also interested in hearing which physics features Construct developers would find most useful in their own projects.
More updates coming soon!
**Developed by George A. Zaharia**
*PhyzMax 2D โ Precision Physics for Construct 3*