pedrocatalao/pinball-fantasies-encore

Pinball Fantasies: Encore! A native remake of the 1994 DOS pinball game for macOS, Linux and Windows, in C++20 with SDL3 and OpenGL, with remastered artwork

C++

31

192 commits

updated Oct 16, 2026

See the code

See what people are saying

SourceMessageScoreDate

I wanted to remaster Pinball Fantasies, and ended up rebuilding the entire game engine (r/ClaudeAI)

This started, as usual, with a "let's try to recompile this on my mac" but then it got a bit out of hand. :) I called it **Pinball Fantasies: Encore!** a native C++20/SDL3/OpenGL remake for macOS, Windows and Linux, built with Claude Code. **Website with Hall of Fame, downloads, etc:**…

5

Oct 8, 2026

README

Pinball Fantasies: Encore!

Pinball Fantasies: Encore!

macOS Linux Windows

Pinball Fantasies, the 1994 PC classic by Digital Illusions, running natively on macOS, Windows and Linux. All four tables, with the original rules and physics, and redrawn high-resolution artwork you can switch on and off at any time.

Download

Download for macOS (Universal) Download for Windows (x64) Download for Linux (x86_64) Download for Linux (arm64)

Unzip it and run it, there's nothing to install.

  • macOS and Windows: the game isn't signed, so the first time your system will warn you before opening it. See first run on macOS and Windows below.
  • Linux: ./install.sh in the unpacked folder adds the game to your app menu with its icon (everything goes under ~/.local). It's optional, the game runs from the folder too.
  • Older versions are on the releases page.

Found a problem? Please open an issue.

It needs the original game files

Nothing from the original game is included here. The game reads everything from the 1994 DOS files: the pictures, the collision maps, the table scripts, the music and the sound effects.

It needs exactly the 1994 disk release, since it reads data from fixed places in those files. Every file is checked when the game starts, and other releases are refused. docs/game-files.md lists the files and their checksums.

After you confirm you own a legal copy of the game, it will download the right files for you the first time it runs from a preservation website. They're kept in a FANTASY folder here:

SystemFolder
macOS~/Library/Application Support/Encore/Pinball Fantasies/FANTASY
Linux~/.local/share/Encore/Pinball Fantasies/FANTASY
Windows%APPDATA%\Encore\Pinball Fantasies\FANTASY

What's in it

It plays like the original. Since 1.1.0 Encore runs on its own engine, written from scratch from the DOS game's code: physics, table rules, dot matrix, music, intro and menu. Nothing is emulated. While building it, every frame was checked against the original program running side by side, so the tables behave exactly as they did in 1994. There are a few small changes on purpose, all listed in differences from the original, and the engine notes explain how it was made.

Remastered artwork, not an upscale. Every playfield, flipper, ball, slide and banner was redrawn by hand at high resolution, following the original's shapes, colours and lamps. No filters, no AI. Because the new pictures line up exactly with the old ones, F10 swaps between them at any moment, even in the middle of a ball.

The redrawn pictures aren't in the download. The first time you run the game it offers to fetch them (about 31 MB), and later it offers updates when there are new ones. Say no and you get the original pictures.

Four screen sizes, under Resolution in the options or with R in the pause:

SizeWhat you see
Normal240 rows, as in 1994: the screen follows the ball
High350 rows, as in 1994: more of the table, still following the ball
Fullthe whole table at once, flat pixels, for a normal screen
Tallthe whole table with square pixels, for a widescreen monitor turned 90º

Online high scores. When you get a high score, the game asks if you want to send it. The server replays the game from its recording before it counts, so every score on thebestpinball.com was really played.

Recordings. Every game you play is saved in a replays folder next to your high scores. Drop a .RPL file on the game window to watch it, in your own screen size. Escape stops it. You can download the recordings of the online scores from the website and watch them too.

Stones 'n' Bones, the 1994 picture and the remastered one, a line sweeping between them

Stones 'n' Bones: the 1994 artwork on the left of the line, the redrawn one on the right.

Controls

The original key layout.

In the menu

KeyWhat it does
F1 – F4*pick a table
F5*options
Escquit

* Or the number keys 1 – 5.

Playing

KeyWhat it does
Enterstart a game, press again before launching to add a player
F1 – F8*start a game for that many players
Shift Ctrl Altflippers, left and right (any of the three)
↓pull the plunger, let go to launch
Spacenudge the table (too much and you tilt)
Mmusic on or off (stays that way for the next games too)
Ppause
Escgive up the game, with the ball still at the plunger. With no game on, leave the table (Y to confirm)

* Or the number keys 1 – 8.

Paused

KeyWhat it does
Aangle: low, high or higher (steeper, with stronger flippers)
Sscrolling: hard, medium or soft
Rresolution: normal, high, full or tall
Mmusic on or off
↑ ↓scroll the table by hand
F7lamps: all on, all off, back to normal
F8ball trail on or off
Pback to the game
Escgive up the game (Y to confirm)

Any time

KeyWhat it does
F9CRT look on or off
F10redrawn or original pictures
F11full screen or window (on a Mac, ⌘ F too)

First run on macOS and Windows

The game isn't signed with a paid developer certificate, so the first time you open it your system will stop and ask. You only need to do this once.

  • Windows: when it says "Windows protected your PC", click More info, then Run anyway.
  • macOS: when it says the app can't be opened, go to System Settings → Privacy & Security, scroll down and click Open Anyway.

On macOS you can also do it from a terminal instead:

xattr -dr com.apple.quarantine "Pinball Fantasies.app"

Building it yourself

You need CMake, a C++20 compiler and SDL3, on macOS, Linux or Windows. docs/building.md has the steps, the command-line options, the extra tools and a map of the source.

Licence

The code is under the GNU GPL, version 3 or later. The redrawn artwork in assets is under CC BY-SA 4.0, which suits pictures better. NOTICE.md has the details.

Pinball Fantasies belongs to its owners, and this project isn't affiliated with them. No file from the original game is included here or in the downloads.

amiga
cpp20
dos-games
game-engine
opengl
pinball
remake
retrogaming
reverse-engineering
sdl3

pedrocatalao/pinball-fantasies-encore

Pinball Fantasies: Encore! A native remake of the 1994 DOS pinball game for macOS, Linux and Windows, in C++20 with SDL3 and OpenGL, with remastered artwork

C++

31

192 commits

updated Oct 16, 2026

See the code

See what people are saying

SourceMessageScoreDate

I wanted to remaster Pinball Fantasies, and ended up rebuilding the entire game engine (r/ClaudeAI)

This started, as usual, with a "let's try to recompile this on my mac" but then it got a bit out of hand. :) I called it **Pinball Fantasies: Encore!** a native C++20/SDL3/OpenGL remake for macOS, Windows and Linux, built with Claude Code. **Website with Hall of Fame, downloads, etc:**…

5

Oct 8, 2026

README

Pinball Fantasies: Encore!

Pinball Fantasies: Encore!

macOS Linux Windows

Pinball Fantasies, the 1994 PC classic by Digital Illusions, running natively on macOS, Windows and Linux. All four tables, with the original rules and physics, and redrawn high-resolution artwork you can switch on and off at any time.

Download

Download for macOS (Universal) Download for Windows (x64) Download for Linux (x86_64) Download for Linux (arm64)

Unzip it and run it, there's nothing to install.

  • macOS and Windows: the game isn't signed, so the first time your system will warn you before opening it. See first run on macOS and Windows below.
  • Linux: ./install.sh in the unpacked folder adds the game to your app menu with its icon (everything goes under ~/.local). It's optional, the game runs from the folder too.
  • Older versions are on the releases page.

Found a problem? Please open an issue.

It needs the original game files

Nothing from the original game is included here. The game reads everything from the 1994 DOS files: the pictures, the collision maps, the table scripts, the music and the sound effects.

It needs exactly the 1994 disk release, since it reads data from fixed places in those files. Every file is checked when the game starts, and other releases are refused. docs/game-files.md lists the files and their checksums.

After you confirm you own a legal copy of the game, it will download the right files for you the first time it runs from a preservation website. They're kept in a FANTASY folder here:

SystemFolder
macOS~/Library/Application Support/Encore/Pinball Fantasies/FANTASY
Linux~/.local/share/Encore/Pinball Fantasies/FANTASY
Windows%APPDATA%\Encore\Pinball Fantasies\FANTASY

What's in it

It plays like the original. Since 1.1.0 Encore runs on its own engine, written from scratch from the DOS game's code: physics, table rules, dot matrix, music, intro and menu. Nothing is emulated. While building it, every frame was checked against the original program running side by side, so the tables behave exactly as they did in 1994. There are a few small changes on purpose, all listed in differences from the original, and the engine notes explain how it was made.

Remastered artwork, not an upscale. Every playfield, flipper, ball, slide and banner was redrawn by hand at high resolution, following the original's shapes, colours and lamps. No filters, no AI. Because the new pictures line up exactly with the old ones, F10 swaps between them at any moment, even in the middle of a ball.

The redrawn pictures aren't in the download. The first time you run the game it offers to fetch them (about 31 MB), and later it offers updates when there are new ones. Say no and you get the original pictures.

Four screen sizes, under Resolution in the options or with R in the pause:

SizeWhat you see
Normal240 rows, as in 1994: the screen follows the ball
High350 rows, as in 1994: more of the table, still following the ball
Fullthe whole table at once, flat pixels, for a normal screen
Tallthe whole table with square pixels, for a widescreen monitor turned 90º

Online high scores. When you get a high score, the game asks if you want to send it. The server replays the game from its recording before it counts, so every score on thebestpinball.com was really played.

Recordings. Every game you play is saved in a replays folder next to your high scores. Drop a .RPL file on the game window to watch it, in your own screen size. Escape stops it. You can download the recordings of the online scores from the website and watch them too.

Stones 'n' Bones, the 1994 picture and the remastered one, a line sweeping between them

Stones 'n' Bones: the 1994 artwork on the left of the line, the redrawn one on the right.

Controls

The original key layout.

In the menu

KeyWhat it does
F1 – F4*pick a table
F5*options
Escquit

* Or the number keys 1 – 5.

Playing

KeyWhat it does
Enterstart a game, press again before launching to add a player
F1 – F8*start a game for that many players
Shift Ctrl Altflippers, left and right (any of the three)
↓pull the plunger, let go to launch
Spacenudge the table (too much and you tilt)
Mmusic on or off (stays that way for the next games too)
Ppause
Escgive up the game, with the ball still at the plunger. With no game on, leave the table (Y to confirm)

* Or the number keys 1 – 8.

Paused

KeyWhat it does
Aangle: low, high or higher (steeper, with stronger flippers)
Sscrolling: hard, medium or soft
Rresolution: normal, high, full or tall
Mmusic on or off
↑ ↓scroll the table by hand
F7lamps: all on, all off, back to normal
F8ball trail on or off
Pback to the game
Escgive up the game (Y to confirm)

Any time

KeyWhat it does
F9CRT look on or off
F10redrawn or original pictures
F11full screen or window (on a Mac, ⌘ F too)

First run on macOS and Windows

The game isn't signed with a paid developer certificate, so the first time you open it your system will stop and ask. You only need to do this once.

  • Windows: when it says "Windows protected your PC", click More info, then Run anyway.
  • macOS: when it says the app can't be opened, go to System Settings → Privacy & Security, scroll down and click Open Anyway.

On macOS you can also do it from a terminal instead:

xattr -dr com.apple.quarantine "Pinball Fantasies.app"

Building it yourself

You need CMake, a C++20 compiler and SDL3, on macOS, Linux or Windows. docs/building.md has the steps, the command-line options, the extra tools and a map of the source.

Licence

The code is under the GNU GPL, version 3 or later. The redrawn artwork in assets is under CC BY-SA 4.0, which suits pictures better. NOTICE.md has the details.

Pinball Fantasies belongs to its owners, and this project isn't affiliated with them. No file from the original game is included here or in the downloads.

amiga
cpp20
dos-games
game-engine
opengl
pinball
remake
retrogaming
reverse-engineering
sdl3

Significant stargazers

George Marshall

71 followers · starred Oct 2026