Reviving Prince of Persia: SDLPoP Explained

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 for SDLPoP
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.

By building and running this port, you’re not just playing Prince of Persia you’re keeping digital heritage alive, adaptable, and meaningful for the next generation.

This post was written with ❤️ and ☕️

Fortnite as the Atari of Cloud Gaming: A Lab, a Platform, a Phenomenon

When Epic Games unveiled Fortnite in 2017, few could have predicted the cultural juggernaut it would become.  

What started as a quirky co-op survival game quickly evolved into a global platform powered by bold launch decisions, cloud elasticity, and a willingness to experiment with Unreal Engine in real time.

Let’s break down how Epic turned Fortnite into both a blockbuster and a laboratory for the future of game development.

At GDC 2018, the session “Fortnite: An Unconventional Launch” saw Epic’s Ed Zobrist reveal how the game’s release strategy broke the rules:

  • Surprise announcement: After years of silence, Epic announced Fortnite just six weeks before launch.
  • Paid Early Access: Instead of waiting for polish, Epic monetized early adopters while gathering feedback.
  • Battle Royale pivot: Within months, the free Battle Royale mode transformed Fortnite into a phenomenon, hitting 40M players by December 2017.

Lesson for developers: Flexibility beats tradition. Epic’s willingness to pivot midstream turned risk into reward.

But bold launch decisions were only half the story, the real magic happened behind the scenes in the cloud.

Behind the scenes, Fortnite’s meteoric rise was powered by Amazon Web Services (AWS):

  • Elastic scaling: AWS auto-scaling handled 30x spikes during live events, then scaled down to save costs.
  • Global reach: EC2 instances and Local Zones reduced latency, ensuring fair matches worldwide.
  • Real-time analytics: Epic monitored player behavior and live events with AWS’s data pipelines.
  • Cost optimization: Savings Plans kept infrastructure sustainable despite massive concurrency.

Lesson for developers: Cloud elasticity isn’t just technical it’s cultural. AWS let Fortnite scale with its audience, turning concerts, collaborations, and gameplay into shared global moments.

Scaling was critical, but Epic also saw Fortnite as something more: a laboratory for Unreal Engine itself.

Epic didn’t stop at scaling. With Unreal Editor for Fortnite (UEFN), the game became a testbed for Unreal Engine:

  • Tool integration: UEFN brought UE5 features lighting, VFX, animationdirectly into Fortnite.
  • Verse scripting: A new language tested live with millions of players.
  • Monetization experiments: Engagement payouts and in-island transactions modeled creator economies.
  • Community ecosystem: Indie studios and educators used Fortnite to learn Unreal workflows, feeding back into the engine’s evolution.

Lesson for developers: Treat your game as a lab. By testing tools in Fortnite, Epic ensures Unreal Engine evolves with real-world data and community needs.

Fortnite isn’t just a game it’s a case study in modern game development. Epic showed that unconventional launches can succeed, cloud infrastructure can scale culture, and live games can double as laboratories for engine innovation.

For developers and educators alike, the message is clear: the future of game dev lies in experimentation at scale. Or, as I like to frame it: Fortnite is the Atari of cloud gaming: a lab, a platform, a phenomenon.

This post was written with ❤️ and ☕️

Behind the Pixels – Week 50

Week of December 8 to December 14, 2025.

This week was The Game Awards, below are the games I think he would like.

The Free Shepherd

Release Date: 2027

His a dog lover and I think this game does something different, he loved playing Stray.

Tomb Raider: Legacy of Atlantis

Release Date: 2026

I have a history with Tomb Raider and it’s the first “Adult” game series that he ever played.

LEGO Batman: Legend of the Dark Knight

Release Date: May 29, 2026

He played and I think completed the LEGO Batman series on the Xbox 360.

Gang of Dragon

Release Date: No Release Date

I started Sleeping Dogs, he finished it.

007 First Light

Release Date: March 27, 2026

He loves the Hitman series, so I think he will love this one, even though “Stealth” is not his middle name.

🎮

Behind the Pixels – Week 49

Week of December 1 to December 7, 2025.

This week was a quite week, so decided to post some of the games I would like and they’re not all pixel art games, maybe…

Forestrike

Release Date: November 17, 2025

It’s a martial arts, pixel art, rouge like with a gaming concept which I think is really cool

Cleared Hot

Release Date: Early Access

A remake of the classic Desert Strike and also similar to a project I’m looking at starting.

Liminal Point

Release Date: 2026

A survival horror game that pays homage to the classics of the genre and it looks really cool.

Roguecraft

Release Date: No Release Date

I did a post last year on how to run this on FS-UAE, I’m excited it’s getting released on other platforms.

🎮

Behind the Pixels – Week 48

Week of November 24 to November 30, 2025.

VARSAPURA

Release Date: No Release Date

It’s from the studio that does Genshin Impact, I will warn my credit card.

MARVEL Cosmic Invasion

Release Date: December 1, 2025

It’s a Marvel, pixel art, beat ’em up, he will give me a hard time about it, but we will most likely enjoy playing it.

Solo Leveling: ARISE OVERDRIVE

Release Date: November 24, 2025

It’s one of his favorite anime.

Constance

Release Date: November 24, 2025

This is the mandatory side scrolling platform game.

🎮

Behind the Pixels – Week 47

This week was the Xbox Partner Showcase, below are the games I think he would like.

Week of November 17 to November 23, 2025.

HITMAN 3 – The Eminem vs. Slim Shady Pack

Release Date: December 1, 2025

He has played most of the HITMAN series, and thinks this is an awesome concept.

REANIMAL

Release Date: February 13, 2026

We both enjoyed playing Little Nightmares I and II, and this is from the same dev’s.

Zoopunk

Release Date: 2027

Looks cool and weird enough, that he might just be into it.

Dave The Diver – In The Jungle DLC

Release Date: No Release Date

Adding the mandatory pixel art game.

🎮

From Spider-Man to Atari: My Journey Through GDC Vault

My son will tell you that I’ve always been more fascinated by how a game is made than by actually playing it. Back in 2019, I stumbled across the GDC Vault after finding a session titled Marvel’s Spider-Man: A Technical Postmortem.

For those unfamiliar, the GDC Vault is a massive collection of talks and sessions from the Game Developers Conference (GDC) covering everything from design philosophies to technical deep dives.

That Spider-Man session blew me away and since I have a curiosity about how retro games were built, that led me to the Classic Postmortem Sessions, a series where legendary developers break down the making of iconic titles.

The best part, most of these sessions are completely free to watch. Below, I’ve put together a list of the free Classic Postmortem sessions, with direct links so you can dive right in.

GDC YearGame 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 ☕️

Behind the Pixels – Week 46

I started this series a few months ago with a simple idea: to note the latest games I discovered each week the ones I think my son might find interesting.

Video games are something we both love talking about. He teases me for my obsession with “top-down”, pixel art adventures, while I tease him about how the games he plays seem to require a credit card to get anywhere.

Since I’m also into game development, I thought: why not fold those ideas in here too, instead of starting yet another separate series?

So this is the rebirth of Behind the Pixels, now with a touch of game dev news, reflections, and the occasional dad perspective. It’s part release radar, part dev diary, and part personal archive for my son.

Week of November 10 to November 16, 2025.

Where Winds Meet

Release Date: November 14, 2025

I think he would absolutely love this game as he loves “Samurai” type games, and has completed both “Ghost of” games.

Dispatch

Release Date: October 22, 2025

He loves the Invincible and the art work looks really similar, so he might look into this one.

Demonschool

Release Date: November 19, 2025

He loves the Persona series and I love “pixel art”

Terminator 2D: NO FATE

Release Date: December 12, 2025

Yes, this one is for me, pixel art and so…

🎮

How to Upgrade Your Raspberry Pi: Step-by-Step Guide

About this time last month the Raspberry Pi 500+ was released, I was a little disappointed as I had just upgraded from the Pi 400 to the Pi 500 a few months prior.

I was already feeling a little “upgrade remorse” as I didn’t see a big jump in performance and now there is a 500+, don’t get me wrong I do think it is really cool, but is it the cool that I need?

I put the below table together and looking at the table, my Pi 500 is perfect.

FeatureRaspberry Pi 400Raspberry Pi 500Raspberry Pi 500+
ProcessorQuad-core ARM Cortex-A72 @ 1.8GHzQuad-core ARM Cortex-A76 @ 2.4GHzQuad-core ARM Cortex-A76 @ 2.4GHz
GPUVideoCore VI @ 500MHz (OpenGL ES 3.1, Vulkan 1.0)VideoCore VII @ 800MHz (OpenGL ES 3.1, Vulkan 1.3)VideoCore VII @ 800MHz (OpenGL ES 3.1, Vulkan 1.3)
RAM4GB LPDDR48GB LPDDR4X16GB LPDDR4X
StoragemicroSD cardmicroSD cardNVMe SSD (256GB via M.2 slot)
KeyboardIntegrated standard keyboardIntegrated standard keyboardMechanical keyboard (Gateron KS33 switches)
BacklightingNoneNoneRGB backlighting
USB Ports1 × USB 2.0, 2 × USB 3.01 × USB 2.0, 2 × USB 3.01 × USB 2.0, 2 × USB 3.0
NetworkingGigabit Ethernet, Wi-Fi 5, Bluetooth 5.0Gigabit Ethernet, Wi-Fi 5, Bluetooth 5.0Gigabit Ethernet, Wi-Fi 5, Bluetooth 5.0
Power Supply5V 3A via USB-C5V 4A via USB-C5V 4A via USB-C
GPIO Access40-pin via breakout40-pin via breakout40-pin via breakout
Form FactorAll-in-one keyboard PCAll-in-one keyboard PCAll-in-one keyboard PC, slightly heavier
Use CaseEducation, light computingGeneral desktop, dev workMultitasking, gaming, heavier dev workloads

At the beginning of this month the new Raspberry Pi OS Trixie was also released, so I thought let’s update everything firmware and OS.

When it comes to OS upgrade, I normally “trash” the current SD and start fresh, I would recommend backing up your data before doing any of the below steps.

Below is a summary on how to upgrade the OS on the Pi 400 / Pi 500 / Pi 500 + Link to complete steps

  • Download the 64-bit Raspberry Pi OS image.
  • Flash the image to an SD card using the Raspberry Pi Imager.
  • Insert the SD card into your Pi 400 / Pi 500 / Pi 500+
  • Boot up your Pi 400 / Pi 500 / Pi 500+ and complete the initial setup.

Let’s update the OS and its dependencies to make sure they are current before we do the firmware updates and reboot to apply any changes. The below commands are run from the Terminal.

  • sudo apt update
  • sudo apt full-upgrade
  • sudo reboot

Now let’s update the firmware. These steps are for the Pi 400 / Pi 500 / Pi 500+. The below commands are run from the Terminal.

First we need to configure the bootloader, this controls how your Pi boots and what hardware features are supported.

  • sudo raspi-config (Navigate to > Advanced Options > Bootloader Version)

Now let’s check if there is an update for the EEPROM. An update will normally enable new hardware support, bug fixes, and performance improvements.

  • sudo rpi-eeprom-update

If there is an update, you can run the update using the -a switch.

  • sudo rpi-eeprom-update -a

For the final update, let’s update the keyboard firmware, this update is only for the Pi 500 / Pi 500+, I found my keyboard more responsive after this update.

  • sudo rpi-keyboard-fw-update

Your Pi 400 / Pi 500 / Pi 500+ should now be all updated.

This post was written with ❤️ and ☕️ on a Raspberry Pi 500