back to article Prince of Persia author releases 1980s source code

Retro games fans will be heading over to Github, where Jordan Mechner has posted the source code to his original classic, Prince of Persia. The posting follows the discovery in March of the original software in “a carton at the back of a closet”, as Mechner explains in this blog post. To recover the data, Mechner called on the …

COMMENTS

This topic is closed for new posts.
  1. ratfox
    Pint

    Yes!

    The classic is still better than what Ubisoft came up with!

    1. JDX Gold badge

      Re: Yes!

      I remember playing it in black&white on my Amstrad1512. Loved fighting the skeleton.

    2. Nick Thompson

      Re: Yes!

      Couldn't agree more.

      I still remember how long it took me to get the achievement on the XBLA version for completing the entire thing without dying. Real "must have one more go" type game.

  2. Suburban Inmate

    Prince of Playmobil, anyone?

  3. Tom 7

    Can someone extend this

    http://www.visual6502.org/JSSim/

    to make an amiga/sega simulator for the browser please

    or perhaps we can get it running on

    http://bellard.org/jslinux/ in dosemu?

  4. jake Silver badge

    Awesome. Thank you, Jordan!

    I'm downloading the code as I type ... My eldest niece (13 years old) has an interest in programming close to the hardware. Dunno why ... Probably my fault :-)

    This will be a wonderful tool for any teacher who understands that there is no such thing as software ... software is merely the current state of the hardware.

  5. Lee Dowling Silver badge

    Beyond historical interest, there's not really much point. It's in 6502 assembly for a dead platform. Even if you went to the effort of converting it to something vaguely cross-platform and useful, there's not much in the game to actually worry about. It's not like Doom or Quake code where they are miraculous code shortcuts and fabulous bits of computer science embedded and explained in the code.

    The tech document tells you everything you would be able to guess for yourself. It's a tile-based game, with some thought given to make a pseudo-3D (really layered 2D) appearance so that the Prince appears behind certain objects and in front of others and you have "3D-like" appearance of vertical walls and gates. Literally, as the tech document shows, they just print the background, print the next layer, the next, the next, etc. until the whole image is full up. How they do that is pretty uninteresting - there's no fancy blending, caching, compression, etc. it looks just a plain blit.

    There's really nothing I've seen there that's actually interesting. I imagine 95% of the value of that game was in the artist's tiles, sprites (which, admittedly, had some seriously smooth and detailed animation for the time) and the sound . Even the gameplay is easy to code just after a single run through - what could the character do? Run, jump, grab, take out sword, strike, defend (and if I remember the "parry" defence animation was atrocious and looked like the previous frames of the "take the sword out" animation looped). The AI wasn't interesting in any way - if they saw you, they chased you and tried to stab you (pretty much at random).

    Sure, at the time, the graphics and gameplay sold the game but now? I can't see what use the code would be. If I'm honest, those technical documents look like hasty sketches that could have been written in the first day of coding and never referred to again. And the code seems seriously undocumented.

    It's nice to have for historical reference but there's no practical use in that code any more. Anyone wanting to write a remake would probably just start from scratch - it'd be easier. And without the same kind of high-quality animations, anything you built with it would be quite dull.

    I'm not sure that any "big" project had any interesting notes preserved, probably because most of the time they didn't exist or would never be released. I mean, this is Prince of Persia, a big-name game that sold well and spawned several sequels (2 was better in my opinion). And there's a scrappy tech doc that basically describes tile order and sizes and some other details and NOTHING in the code at all.

    When the Doom/Quake code was released, it was interesting to read through and well-commented and professional. It even went on to spawn no end of remakes and sequels on the basis of its code quality alone. Hell, I remember parts of the original Syndicate code being published in one of the computer magazines at the time as a "simple C programming" tutorial. Again, the value was in the assets and the testing and the gameplay, not in how to blit a sprite to the screen in an isometric game.

    Personally, I'd much rather see some decent commented disassemblies of old Spectrum games (48K for an entire game and all working RAM?!) or something that pushed boundaries. This seems just-another 2D scroller to me, without any interesting code.

    1. jake Silver badge

      @Lee Dowling

      We still teach the works of The Bard of Avon ... It's not about how it compares to modern kit, rather it's about teaching how to make modern kit work within the confines of current kit.

    2. Martin
      Happy

      Congratulations!

      A magnificent achievement.

      You have won the official Wet Blanket Award for April, and you have been shortlisted for the annual 2012 Wet Blanket Award. I for one reckon you've got an excellent chance of the big prize.

      Well done!

    3. Vladimir Plouzhnikov

      @Lee Dowling

      True. I've always been saying - take all these Rubens, Da Vinci, other "old master's" paintings. Just slaps of various pigments mixed with oil and stuck to a piece of old cloth. No breakthrough chemistry, no synthetic materials. Never understood what the fuss was about...

    4. itzman
      Pirate

      I bet a 6502 emulator on a modern Linux system would run faster than a 6502 ever did..

      Then you dont even need to port the code..

      1. stanimir

        writing a 6502 emulator would be quite trivial by itself. Emulating the hardware - address mapping is more challenging.

        sweet memories: 6502assembler was the real deal back in the days (i was around 9.5y when started doing it, basic was just too slow for anything remotely interesting).

        I will give the source a look, although I never played the game on apple II but PC.

    5. My Alter Ego
      Thumb Up

      Wow, you really upset some people here, I mean, you got people comparing Prince of Persia to Shakespeare & Rubens. Soon they'll be comparing it to the Babbage difference engine & a Bombe.

      It's always amusing to see an insightful comment modded down, especially as you never stated that the code should have been left to rot, just that it's nothing spectacular (I can't comment on that seeing as I haven't seen it, but it appears you have).

    6. Anonymous Coward
      Anonymous Coward

      Did someone kick your puppy this morning or something?

    7. Anonymous Coward
      Anonymous Coward

      Lee

      Lee,

      You assume everyone has your prior knowledge of how to code games, perform blits, is aware of tiles, has no interest in assembly language etc. In other words, you assume everyone else is you. They're not.

      1. Bonzo the Wonder Dog
        Happy

        Re: Lee

        And we all thank God for that.

    8. amanfromearth

      Hmmm

      You seem to be a glass half empty type of guy.

    9. Aaron Em

      OK, bullshit aside

      Anyone got a legitimate counter-argument to make, or is it just that this is the thread where all the "unpopular equals wrong, so if we downvote what we don't like enough times it will go away" dribblers are congregating today?

      1. Fibbles

        Re: OK, bullshit aside

        Aaron, that's how the entire reg comments section works everyday...

  6. Khoos
    Happy

    And the copy protection finally got removed!

    According to this tweet by Jason Scott:

    https://twitter.com/#!/textfiles/status/192303728202743808

    CAN'T-FAIL APPLE II CRACKING STRATEGY: 1. Wait 22 years 2. Source released on github 3. Patch source 4. Success!!

  7. Mystic Megabyte

    I got P of P with the "Music Bug" attached, it zapped the MBR of my 286 :(

    (on boot-up it played some music before ruining your PC)

    Great game though.

  8. tmTM

    Something

    To keep Raspberry PI users busy?

    1. Aaron Em

      What Raspberry Pi users?

      I can't even find one person who's actually received one of the damn things...

      1. Oninoshiko
        FAIL

        Re: What Raspberry Pi users?

        http://www.raspberrypi.org/forum/general-discussion/delivery

        You haven't tried vary hard.

  9. Anonymous Coward
    Anonymous Coward

    prince.exe -megahit

    1. stanimir
      FAIL

      .exe is for the PC.

      1. Anonymous Coward
        Anonymous Coward

        CH. "PRINCE"

        RUN

  10. Paul RND*1000

    Good to see that something of historical significance in the software world has been preserved. I'm sure my happiness has bugger all to do with the many happy hours spent playing PoP when I should have been paying attention in CS classes...

  11. Anonymous Coward
    Anonymous Coward

    Lee ... is that short for twat ?

This topic is closed for new posts.