Raspberry Pi powered pinball machine – Gameplay impressions

Having a playable but only half-done pinball machine means still that there will be somebody who wants to play. Good thing is that I get a lot of feedback. Bad thing is development speed slows down quite a bit. Here are some impressions from my beta testers playing my DIY Raspberry Pi powered pinball machine:


Highlight of the current state is the display. The display shows points for the current ball, total points, played ball and the high score since the game started. On top the display shows some comic speech bubbles whenever an event is triggered. The display is in fact an old 17″ monitor attached by some plates from the do-it-yourself store. According to my intelligence boys want to break the high score and girls want to break boys so there is always competition and fun. Best impression so far was two girls dressed up as princesses are playing with the pinball machine made from a princess bed. Gorgeous.

Technically some timeouts were adjusted and I introduced real multiprocessing for sound effects and background music. One “slingshot” is equipped with a switch to get points when the ball hits the rubber. So far so good. Whenever I have some spare time the second sling shot receives a switch as well and I want to add targets to the play field. Targets are great for incentives and should impact the game play as it becomes more interesting. Furthermore, I’ll play around with some barriers as the out lanes are hit too often at the moment.

Whenever the Raspberry Pi is switched on the operating system boots up and the program gets started at boot time. No X Window system is used which means I’m using a direct framebuffer as you can see in the source code. Starting a Python script at boot time is relatively easy as the following line can be used in a start/stop script:

start-stop-daemon --start --background --pidfile $PIDFILE --make-pidfile --exec $DAEMON --startas $DAEMON


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert