ported2browserTHE INDEPENDENT FIELD GUIDE

ADVENTURE / BROWSER RECREATION

PrinceJS.

PrinceJS reimplements the MS-DOS Prince of Persia in HTML5 and JavaScript. Its documentation covers keyboard, controller and landscape touch controls, plus URL parameters for level, health and remaining time.

Browser recreationKeyboard / touch documented
Open original game ↗ (opens a new tab)

Opens the project’s game host.

PrinceJS project illustration
Original animated demonstration of the project’s custom Level 99, Chamber Play, published in the PrinceJS README. It is not a run played by this site. Source & credits (opens a new tab)
EXPLORE THIS COLLECTIONPorts & recreations ↗

YOUR FIRST SESSION

Your first few moves.

Jump to controls ↓
  1. 01

    Learn on safe ground

    Test movement and the Shift action before approaching a gap.

  2. 02

    Read the context

    The same command can climb during exploration and block during combat.

  3. 03

    Keep the state URL

    Preserve the current address if using the documented level/time parameters.

KEEP THIS HANDY

Controls at a glance.

Left / right
Move or advance and retreat in combat.
Up
Jump, climb or block an attack, depending on context.
Down
Crouch, crawl, climb down or sheathe the sword.
Shift
Grab an edge, drink a potion or strike with the sword.
Space / Enter
Show remaining time / continue.

Actions depend on the situation

The documented controls assign several actions to the same key. Up can jump, climb or block; Shift can grab, drink or strike. Start by learning one context at a time. During exploration, approach an edge carefully and understand how grabbing behaves before trying a longer sequence.

Mobile uses a different control surface

The README recommends landscape mode and provides a diagram of touch regions. It also explains dragging between regions for continuous movement sequences. That documented support is useful, but it is not a verified full mobile session on this guide. Follow the actual diagram rather than expecting visible keyboard buttons on every device.

A state URL preserves selected values

The project documents level, maximum health, remaining minutes and guard-strength parameters. It describes updating URL parameters automatically. Keep the address intact if you want those values when returning. Those parameters do not document the exact position of every character or an in-progress action, so avoid treating a bookmarked URL as a frame-perfect save.

BEFORE YOU CLOSE THE TAB

What happens to your progress?

The project uses URL parameters for level, maximum health and remaining minutes. They do not describe an exact mid-jump snapshot.

Check the save and backup guide ↗

A FEW USEFUL ANSWERS

Before the next click.

Can I use a gamepad?

The README documents controller bindings. Check the active browser and controller mapping before relying on them.

What should I save before closing?

Keep the full state URL. For any additional save feature, follow the current host’s own instructions.

Follow the source.

Oliver Klemenz, ultrabolido and PrinceJS contributors; original Prince of Persia rights remain with their owners. Licence notice. Unlicense implementation; original game assets retain separate rights.

Latest collected source change: Fullscreen (opens a new tab) . Repository activity does not identify the hosted game version.

All media and source credits ↗
KEEP EXPLORING

Another open tab.

All games
OpenLara project imageAdventure

A classic 3D engine, rebuilt for the web

Engine profile · demo unreachable in our October 26 check

Browser recreationKeyboard