Physics engine

Physics are part of the physics engine on Roblox. The original physics engine was considered a very realistic engine by the staff members, but has been questioned due to the amount of fails and inaccuracies with the engines. In 2013, there was an articulated physics engine being worked on but was stopped because of it being slow and not solving collisions, and in mid 2015, a new collisions system was released first known as experimental physics but is now known as PGS physics. Before PGS physics, Roblox used a faster but more inaccurate solver known as spring physics, which as of March 4, 2019, has been completely removed in favor of the newer PGS physics solver.
== Released solvers ==
As of March 2019, spring physics has been phased out entirely in favor of PGS physics.
=== Spring physics ===
Spring physics was the first physics engine to be in use by Roblox, and is used to be used in most games. It is a faster engine for physics, but has a lot more give for things like collisions, which allows parts to go a little bit inside of other parts, allowing more bend. However, the engine is a lot more unreliable when used with a lot of physics. Hinges will sometimes glitch out and cause parts to go to random directions, leading to the model to spaz out. This solver used to run at 4000 Hz before it was deprecated.
=== Projected Gauss-Seidel ===
Projected Gauss-Seidel physics, or PGS physics, is a more reliable but more costly physics solver released in summer of 2015. The solver has a lot less "give" than spring physics, in terms of parts won't want to go into each other at all, making joints less flexible. This allows for parts to have less of a tendency to go through each other. As of October 21, 2015, the joints called glue joints are supported in the system, and will not break under pressure. The solver takes more processing power to work over spring physics, which will cause games to act slower. This solver runs at 240 Hz.
=== Comparison of spring physics and PGS physics ===
Before the solver was released, a comparison video was released that show the differences between the types of solvers.
Advantages of spring physics:
* The solver is faster and takes less processing power.
* Has more give (useful for some cases).
* Better handles parts inside other parts.
* Glue joints will break under pressure (if you have a use case).
Advantages of PGS physics:
* The solver is a lot more reliable.
* Mechanisms fail less due to less give or bending.
* Will support more joints in the future like ones seen in articulated physics.
* Glue joints won't break under pressure due to the main use case of ragdolls.
== Unreleased solvers ==
In late 2013, a very complex and very realistic system was in the testing phase called articulated physics, but was not released due to a lot of issues that came up.
=== Articulated physics ===
The articulated physics solver was being worked on in late 2013. It allowed for extremely complex joints, allowing for extremely complex machines without the person needing to do a lot of CFrame math with welds known as inverse kinematics.
Many rumors existed why the solver was stopped, a big one being the person behind the solver left. However, according to , the solver was canceled because it was an extremely slow solver and did not solve for collisions between moving parts.
The engineer behind the solver, Kevin He, released two different blog articles about the idea of articulated physics:
* Exploring the Possibilities of Articulated Physics in ROBLOX
* Exploring the Possibilities of Articulated Physics, Part 2
=== Videos on articulated physics ===
Three videos were released by Roblox that show different machines all working realistically with the solver.
thumb|center|335px
thumb|center|335px
thumb|center|335px
== Criticism ==
=== Breaking the famed SS chassis ===
Since PGSPhysicsSolver was released, many of those Robloxians, mostly people from the car community protested Roblox that they should remove PGS so the famed SS chassis, made by SecondLogic could work properly again. The symptoms include
# The chassis breaks often.
# [SS Chassis 3.57 only] When Traction Control is turned off, the vehicle shakes a lot. A LOT.
# [ATS Chassis only] The whole thing breaks because of enhanced gravity on PGS on.
But ever since Roblox implemented the feature to re-enable the old spring physics (also known as ImPlicitNgine), the hate eventually cooled down but due to the majority of unused places have PGSPhysicsSolver on, small amounts of people are still criticising it.
=== Ruining motors and hinges ===
Ever since Giant Survival was released, in one particular map a NPC with a head made out of motor glitched up badly, sometimes even leaving the map fields. Many people believed this to be PGS's fault, because Giant Survival was released in 2014 and all places had PGS on by default in October 2015, breaking a lot of games that use spring physics/ImPlicitNgine. The creator of Giant Survival did not disable PGS to fix the motor headed NPC however.
Category:Game development