Setting Up and Installing Prince of Persia (SDLPoP) – Ubuntu Edition

Released in 1989 by Jordan Mechner, Prince of Persia was groundbreaking for its time. Using rotoscoping techniques, Mechner created fluid character animations that set a new standard in video game realism.

The game’s mix of platforming, sword combat, and puzzle-solving captivated audiences and spawned sequels, remakes, and eventually Ubisoft’s Sands of Time trilogy. Its DNA can even be traced into modern franchises like Assassin’s Creed.

SDLPoP is an open-source port of the original DOS Prince of Persia, based on a disassembly of the game and rebuilt using the SDL2 library. Created by David “NagyD” and contributors, the project preserves the original gameplay while adding modern conveniences like:

  • Fullscreen support
  • Gamepad compatibility
  • Quicksave and replay features
  • Modding support

This makes SDLPoP the best way to experience the original game on modern Linux desktops.

Original DOS vs. SDLPoP (SDL2 Port)

FeatureOriginal DOS (1989)SDLPoP (SDL2 Port)
PlatformMS-DOS PCsModern Linux, Windows, macOS
Graphics320×200 CGA/EGA/VGAScaled resolution, fullscreen support
SoundPC Speaker / AdLibSDL2 audio, stereo sound
ControlsKeyboard onlyKeyboard + Gamepad support
Save SystemPassword codesQuicksave / Quickload
Replay FeatureNoneReplay recording & playback
ModdingNot supportedMods folder, custom levels
AccessibilityRequires DOSBox todayNative build, easy compile with SDL2
Community UpdatesFrozen since 1990sActively maintained on GitHub

Installing SDL2 and Compiling SDLPoP on Ubuntu

Step 1: Installing the Required Libraries

sudo apt update
sudo apt install build-essential git
sudo apt install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev

Ubuntu Packages Explained

PackagePurposeWhy It’s Needed
build-essentialMeta-package that installs GCC (GNU Compiler Collection), make, and other core tools for compiling software.Provides the compiler and build tools required to compile SDLPoP from source.
gitVersion control system for managing source code.Used to clone the SDLPoP repository from GitHub.
libsdl2-devDevelopment headers and libraries for SDL2 (Simple DirectMedia Layer).Core library that SDLPoP uses for graphics, input, and window management.
libsdl2-image-devSDL2 extension for loading and manipulating images (PNG, JPG, etc.).Enables SDLPoP to load textures and sprites beyond raw bitmap formats.
libsdl2-mixer-devSDL2 extension for audio mixing and playback.Provides sound effects and music playback in the game.
libsdl2-ttf-devSDL2 extension for rendering TrueType fonts.Allows SDLPoP to display text (menus, HUD, etc.) using modern font rendering.

Step 2: Clone the SDLPoP Repository

git clone https://github.com/NagyD/SDLPoP.git
cd SDLPoP

Step 3: Compile the Game

cd src
make

Step 4: Run the Game

cd ..
./prince

Compiling SDLPoP on Ubuntu isn’t just reliving a classic it’s bridging eras of computing. What once demanded a DOS machine now takes only a few lines of code and SDL2 libraries, proving how open source communities preserve history while modern tools breathe new life into old binaries.

This post was written with ❤️ and ☕️

Classic Game Postmortems – GDC Vault Edition

Every few months, when I feel the creative gears grinding or I’m searching for that spark, I return to one of my favorite rituals: diving into the GDC Classic Game Postmortems.

These sessions are time capsules of raw, honest, often hilarious reflections from the developers who shaped the medium. They’re not glossy marketing pieces or sanitized retrospectives. They’re stories of constraints, accidents, breakthroughs, and the strange alchemy that turns a handful of ideas into something unforgettable.

Over the past week, I went through a few publicly available postmortems again. This time, I decided to compile a complete list of all the sessions accessible without a GDC Vault subscription, along with direct links.

If you’re a game developer, educator, designer, or just someone who loves understanding how things are made, this collection is a goldmine.

GDCGame TitleSpeaker(s)
2015AdventureWarren Robinett
2012Alone in the DarkFrederick Raynal
2011BejeweledJason Kapalka
2019Command & ConquerLouis Castle, Frank Klepacki, Steve Wetherill, Eric Yeo
2013Crystal CastlesFranz Lanzinger
2017Deus ExWarren Spector
2016DiabloDavid Brevik
2011DOOMTom Hall, John Romero
2011EliteDavid Braben
2012FalloutTimothy Cain
2012GauntletEd Logg
2012Harvest MoonYasuhiro Wada
2024KaratekaJordan Mechner
2013Kick OffDino Dini
2019LemmingsMike Dailly
2015LoomBrian Moriarty
2014Lucasfilm GamesSteve Arnold, Noah Falstein, David Fox, Ron Gilbert, Peter Langston, Chip Morningstar
2011Maniac MansionRon Gilbert
2011Marble MadnessMark Cerny
2012Meridian 59Damion Schubert
2016Ms. Pac-ManSteve Golson
2013MystRobyn Miller
2018NBA JamMark Turmell
2017Oregon TrailDon Rawitsch
2011Out Of This World / Another WorldEric Chahi
2011Pac-ManToru Iwatani
2019Panzer Dragoon, Panzer Dragoon Zwei and Panzer Dragoon SagaKentaro Yoshida, Yukio Futatsugi
2019PaperboyJohn Salwitz
2013Pinball Construction SetBill Budge
2011PitfallDavid Crane
2011PopulousPeter Molyneux
2011Prince Of PersiaJordan Mechner
2022Q-bertWarren Davis
2021Quake: The End of the Original IdJohn Romero
2011Raid On Bungeling BayWill Wright
2016RezTetsuya Mizuguchi
2014Robotron: 2084Eugene Jarvis
2017SeamanYutaka Saito
2014ShenmueYu Suzuki
2017Sid Meier’s CivilizationSid Meier, Bruce Shelley
2018Sonic the HedgehogNaoto Ohshima, Hirokazu Yasuhara
2015Star ControlPaul Reiche III, Fred Ford, Rob Dubbin
2021Star Wars GalaxiesRaph Koster, Richard Vogel
2018The Bard’s Tale I and IIMichael Cranford
2018Ultima OnlineRaph Koster, Starr Long, Richard Garriott de Cayeux, Rich Vogel
2022Wolfenstein 3D (Achtung!)John Romero
2013X-COM: UFO DefenseJulian Gollop
2015Yars’ RevengeHoward Scott Warshaw
2014ZorkDave Lebling

This post was written with ❤️ and ☕️