Quote Originally Posted by Jonax View Post
And when you mention bouncing balls I have an idea of making a remake of an ancient bouncing balls program I once made in Delphi 3.
Well if this old game you mention is heavily physics based then you should perhaps consider using some existing physics engine in that game instead of trying to handle all the physics yourself.

Lately Box2d https://code.google.com/archive/p/box2d-delphi/ is considered as a basic 2D based physics engine that many Delphi developers use. Now while the headers are designed for Delphi I'm guessing you should not have to much trouble compiling them with FPC just make sure you enable Delphi mode https://www.freepascal.org/docs-html/prog/progse74.html (might not be necessary) and Advanced Records (which already seem to enabled by default in FPC 2.6.0 and newer) since the headers heavily rely on using them.

Or perhaps you might decide to use Kraft Physics Engine https://github.com/BeRo1985/kraft instead. Kraft Physics Engine is much more advanced and also fully supports 3D physics. It is being used in Castle Game Engine https://castle-engine.io/ which is one of the most popular pascal based game engines lately.