The making of a Prince
Apr. 19th, 2012 12:16 pmThis is absolutely fascinating (disclaimer: this might not be very interesting)
Jordan Mechner recently released the long-lost source code for Prince of Persia on the Apple II after having to drag it through several layers of gradually advancing disk drive technology. Along with reams of assembly language with wonderfully descriptive comments like lda #Splat ;yecch, he also unearthed a design document that he sent to the people who worked on the various ports, who dutifully ignored it and messed it up massively instead.
That document is an interesting, understandable look at how the game works underneath - revealing things like the way that all the enemies are actually treated as the same object (named as Shad even though it's very rarely used for Shadowman, as he has now been christened) which is loaded at the start of the level, which is why the levels with the skeleton and Fatty are unique in having no other enemies on them. It's also quite clever how he managed to make the game so fluid - the levels are drawn on a grid but characters only adhere to it when it's absolutely necessary, and it's impressive that he draws parts of the screens that are hidden off the edges of the visible area to keep objects active nearby.
A table near the beginning describes the background graphic sets and enemy types, and it confirms the game's long-standing numbering confusion in that it has three separate levels at the end that are all called "Level 12" - but the biggest surprise for me was that all the levels were actually given names!
Some of these are very obvious, like "Demo", "Tower" and "Cell" - I assume that "Newskel" and "Newmirror" replaced earlier attempts that he had at the skeleton and mirror levels. "Thief" is the level where the shadow steals the potion from you, and "Quad" starts you off in a room with four doors that you have to revisit a couple of times. I was less sure about "Wild" and "Wtless" (though
rakarr realized that it was short for the level with the "weightless" potion) and am absolutely mystified by why level 8 is called "329". It doesn't physically resemble the number, and its special feature is that you're rescued by the mouse - the release of this design document has created an entirely new mystery of its own.
Jordan Mechner recently released the long-lost source code for Prince of Persia on the Apple II after having to drag it through several layers of gradually advancing disk drive technology. Along with reams of assembly language with wonderfully descriptive comments like lda #Splat ;yecch, he also unearthed a design document that he sent to the people who worked on the various ports, who dutifully ignored it and messed it up massively instead.
That document is an interesting, understandable look at how the game works underneath - revealing things like the way that all the enemies are actually treated as the same object (named as Shad even though it's very rarely used for Shadowman, as he has now been christened) which is loaded at the start of the level, which is why the levels with the skeleton and Fatty are unique in having no other enemies on them. It's also quite clever how he managed to make the game so fluid - the levels are drawn on a grid but characters only adhere to it when it's absolutely necessary, and it's impressive that he draws parts of the screens that are hidden off the edges of the visible area to keep objects active nearby.
A table near the beginning describes the background graphic sets and enemy types, and it confirms the game's long-standing numbering confusion in that it has three separate levels at the end that are all called "Level 12" - but the biggest surprise for me was that all the levels were actually given names!
Level | Name |
0 | Demo |
1 | Cell |
2 | Guards |
3 | Newskel |
4 | Newmirror |
5 | Thief |
6 | Plunge |
7 | Wtless |
8 | "329" |
9 | Twisty |
10 | Quad |
11 | Wild |
12 | Tower |
13 | Final |
14 | Victory |
Some of these are very obvious, like "Demo", "Tower" and "Cell" - I assume that "Newskel" and "Newmirror" replaced earlier attempts that he had at the skeleton and mirror levels. "Thief" is the level where the shadow steals the potion from you, and "Quad" starts you off in a room with four doors that you have to revisit a couple of times. I was less sure about "Wild" and "Wtless" (though
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)