Pinball Engine Update

3 min read Original article ↗
Pinball Engine

Started by sysrpl on 11 November 2026

I have been working to add features, squash bugs, and improve the performance of my Linux pinball simulation engine this week. It will be fully FOSS, but it needs some more work before it's ready for an initial release. I hope to show it at the 2026 IAAPA Expo next week to some vendors to gauge their interest in support of Linux and FOSS.

Here are some of the things I completed recently:

  • New sound system allows for easy attachment of sounds to parts. Multiple sounds can be added each with their own volumes.
  • Ambient noises added for most everything, including ball rolling on the table, slingshots the ball hitting rubber or metal. Sounds are attenuated based on the forces applied.
  • Physics are greatly improved. They are by no means done, but I have been running simulations on them over and over to try to narrow down which settings seem to work for the most realism.
  • Added console system, Typescript can now do offscreen rendering, added an Asteroids mini game as a video mode to the demo table.
  • The in-game editor allows you to move around parts, rotate them, and make some table changes while you play.
  • Multiple camera modes have been added including a portrait mode for simulated pinball tables. Scripts can take control of the camera.

What comes next is better physics, adding an upper playfield to the demo, adding in my voice character lines and more art on the table. I will be writing a table creation guide and providing a Typescript define file for programming your own tables. I am working on a way for typescript to make their own DMD display animations and would like to work on a dual monitor backglass system.

I am looking for anyone that want to help with table art for this and few other demo tables. Message me or send an email to my account at sysrpl@getlazarus.org.

Hi, great, I have a question: ever since I played “Pingball Dream” on the Amiga a very long time ago (and Arkanoid even before that), I’ve been trying to figure out how the physics work in a pinball game. I’ve seen several tutorials, and some use pre-calculated bitmap images to figure out the angle or something like that. Some source code was published, but it was in assembly language… What method do you use (I’m terrible at math)?
Best regards,
WCDR

I foolishly started writing my own physics eninge last year. I had previously been writing phyiscs for pool tables and was able to create a realistic simulation without too much problem, then I started more working on this simulation physics seriously in March of 2025. I wrote a tool to test out various materials using my own engine that seemed to work well enough:

But then when I bought it into an actual table with ramps and curves, it fell apart. This year I decided to switch to Jolt, and it seems to work. If you are curious about the math, it's all linear algebra.