Prince of Persia: Original-Quellcode veröffentlicht [Upd.]

PC andere
Bild von ChrisL
ChrisL 143897 EXP - 30 Pro-Gamer,R10,S9,C10,A10,J10
Pro-Gamer: Hat den ultimativen GamersGlobal-Rang 30 erreichtPlatin-Gamer: Hat den sehr hohen GamersGlobal-Rang 25 erreichtNews-Redaktion: Hat von der Redaktion weitere Rechte für das News-Redigieren erhaltenDieser User unterstützt GG seit fünf Jahren mit einem Abonnement.Alter Haudegen: Ist seit mindestens 5 Jahren bei GG.de registriertGold-Jäger: Hat 75 Erfolge erreicht -- Wahnsinn!Gold-Gamer: Hat den GamersGlobal-Rang 20 erreichtGold-Cutter: Hat 100 Videos gepostetGG-Gründungsfan: Hat in 2009 einmalig 25 Euro gespendetAlter Haudegen: Ist seit mindestens 3 Jahren bei GG.de registriertScreenshot-Meister: Hat 5000 Screenshots hochgeladenDebattierer: Hat 5000 EXP durch Comments erhalten

17. April 2012 - 17:15 — vor 1 Woche zuletzt aktualisiert

Update vom 17.4.:

Jordan Mechner hat den Quellcode (geschrieben in Assembly) nun veröffentlicht. Downloads sowie erste Commits stehen via github.com frei zur Verfügung.

Ursprüngliche Meldung:

Der unscheinbare Karton und sein wichtiger Inhalt; Foto: Jordan Mechner.

Es gibt sie auch heutzutage noch in unserer hoch-technisierten Gesellschaft, in der vieles nur noch über elektronische Wege funktioniert: Jene kleinen, sympathischen Geschichten, die den Betroffenen völlig überraschen und Freude auslösen und allen anderen ein Schmunzeln ins Gesicht zaubern.

Stellt euch vor, ihr habt in den vergangenen zehn Jahren immer wieder mal erfolglos nach etwas gesucht, das für euch persönlich etwas Wichtiges darstellt. Ihr habt Menschen danach befragt, die darin involviert waren und euch in dieser Zeit begleitet haben – ebenfalls ohne Erfolg. Ohne damit zu rechnen, entdeckt ihr in einem unscheinbaren Karton euren „Schatz“ dann plötzlich doch ...

Genau so ist es dem Spieleentwickler Jordan Mechner passiert, der unter anderem für Karateka (1984) und The Last Express (1997) verantwortlich ist. Aber der Reihe nach: Bekannt ist der amerikanische Entwickler vor allem durch den ursprünglich im Jahr 1989 erschienenen Klassiker Prince of Persia, dessen Quellcode er jedoch nach all den Jahren nicht mehr (wieder)finden konnte. Kürzlich informierte ihn sein Vater – der die Musik für Karateka und Prince of Persia komponiert hatte – darüber, dass er ein wenig aufgeräumt und ihm ein Paket mit alten Spielen und anderen Dingen geschickt habe, die er in einem Schrank gefunden hatte.

Als der Karton geliefert wurde und Mechner dessen Inhalt in Augenschein nahm, fiel ihm nach eigener Angabe „die Kinnlade herunter“. Denn zwischen spanischen Versionen alter Titel und weiteren Sachen befanden sich drei 3,5-Zoll-Disketten, die anscheinend den originalen Apple-II-Quellcode von Prince of Persia enthalten – jenes Projekt also, nach dem der Entwickler so viele Jahre gesucht und für das er die Hoffnung, es jemals wiederzufinden, bereits aufgegeben hatte.

Mechner arbeitet nun mit einem Kollegen daran, herauszufinden, wie die Inhalte der 3,5-Zoll-Apple-ProDOS-Disketten auf ein MacBook Air übertragen und in ein zeitgemäßes Format umgewandelt werden können. Da zur Zeit auch andere Projekte die Aufmerksamkeit des Spieleentwicklers benötigen, könnte dieses Unterfangen eine Weile andauern – sobald jedoch der Code lesbar gemacht werde konnte, wird er veröffentlicht werden.

Wer übrigens ein Fan des erwähnten The Last Express ist und ein iOS-Gerät besitzt, kann sich freuen: Mechner gab kürzlich bekannt, dass eine entsprechende Version des Adventure beim französischen Entwicklerstudio DotEmu in Arbeit ist. Erscheinen soll die Fassung für iPhone und iPad im Laufe des Jahres.

Andreas 16 Übertalent - 4622 - 30. März 2012 - 10:09 #

Manchmal lohnt es sich, nicht alles wegzuschmeißen. :)

Kraten85 (unregistriert) 30. März 2012 - 11:01 #

Wusste ja nicht, das der gute Jordan damals so ein Schlamper war XD.

Anonymous (unregistriert) 17. April 2012 - 17:37 #

und was genau lohnt sich jetzt an dem quellcode?

Passatuner 14 Komm-Experte - P - 2295 - 17. April 2012 - 18:12 #

Wenn du so fragst: für dich gar nicht.

Faerwynn 17 Shapeshifter - P - 7661 - 30. März 2012 - 12:10 #

Wie schön :) Den Code würd ich mir sogar anschauen ^^

Thomas Barth 21 Motivator - P - 27827 - 30. März 2012 - 13:22 #

If Player.Jump = True then Player.Die := True

Andreas 16 Übertalent - 4622 - 30. März 2012 - 13:32 #

Zu dieser Zeit gab es noch keine Methoden. Wenn das alles wirklich nur so einfach wäre. :)

Koenig Hotze 11 Forenversteher - 656 - 17. April 2012 - 20:50 #

Doppel "Häh". Logo gabs anno dazumal Methoden....Wobei da natürlich keine Methode steht :)

Andreas 16 Übertalent - 4622 - 17. April 2012 - 20:59 #

Upps, diese Art Methoden-Aufruf meinte ich, da das Spiel ja in Assembler geschrieben wurde. Also Player.Jump und Player.Die

Koenig Hotze 11 Forenversteher - 656 - 17. April 2012 - 21:55 #

Dafür war ich im Smarta.. Modus :)

Sgt. Nukem 15 Kenner - 3658 - 30. März 2012 - 13:37 #

Hehe, wohl eher:

jsr ld003 ; read byte from joystick input
cmp #$fb ; is it jump?
bne l4957 ; no, then go to l4957
l494c:
sta l41 ; store dying flag

;)

Thomas Barth 21 Motivator - P - 27827 - 30. März 2012 - 13:56 #

Das eigentlich traurigste an der Sache:
Ich verstehe was dort steht und musste tatsächlich lachen. ;)

Madrakor 15 Kenner - P - 3218 - 30. März 2012 - 16:48 #

Gibt einem zu denken, nicht wahr?
Ich musste lange überlegen um es zu verstehen, schreiben könnte ich das heutzutage nicht mehr.

Thomas Barth 21 Motivator - P - 27827 - 30. März 2012 - 19:36 #

Ich auch nicht mehr und ehrlich gesagt bin ich froh drüber.
Das Rentner-Leben hat auch seine Vorteile. ;)

Olipool 16 Übertalent - 4198 - 31. März 2012 - 0:52 #

Was bin ich froh heutzutage nicht mehr seinen Speicher fest zu planen...von Byte x bis y liegen die Grafiken etc...

fazzl 13 Koop-Gamer - 1407 - 31. März 2012 - 13:49 #

Warum traurig?
Ich bin erst bei Turbo Pascal eingestiegen... deshalb Respekt wenn man sich noch auf die Bit-Schieberei versteht.

-Dr.D.- 07 Dual-Talent - 112 - 3. April 2012 - 11:53 #

Wieso traurig? Ist doch toll wenn man die Entstehung miterlebt hat.
Die meisten Menschen heute ist es nur noch eine bunte Klick-Welt.
Andere haben noch ge-peek-ed und ge-poke-ed...

Anonymous (unregistriert) 30. März 2012 - 19:42 #

Maschinencode mit Kommentaren (also eine *.txt Datei), die man
erst mit einem Assember übersetzen muss, sowas tolles kannten
wir damals gar nicht.

Die ausführbare Datei wurde direkt im Disassembler geladen und
da direkt geändert. Aber immerhin konnte man die Befehle direkt
eingeben (STA <>) und musste nicht alle Bytecodes wissen ...

Sgt. Nukem 15 Kenner - 3658 - 30. März 2012 - 13:26 #

6502-Assembly?? Einfach Terminator gucken... xD

Keksus 21 Motivator - 25101 - 30. März 2012 - 13:27 #

Mal im Schrank schauen ob ich vielleicht noch den Quellcode von Tetris finde.

Oder ich schreib ihn neu:

If longpiece = needed then give l-piece

John of Gaunt Community-Moderator - P - 65585 - 30. März 2012 - 16:09 #

http://www.collegehumor.com/video/5767906/the-tetris-god

:D

Sgt. Nukem 15 Kenner - 3658 - 30. März 2012 - 13:44 #

In den Arsch beissen dürfte sich wohl "Mr. Sid", der erst im Oktober seine C-64-Umsetzung abgeschlossen hat ( www.gamersglobal.de/news/44412/prince-of-persia-nach-22-jahren-nun-auch-auf-dem-c-64 ). Anders als in der News behauptet, hat er ja eben keinen Sourcecode benutzt, sondern eine extrem zeitaufwändige "händische" Implementierung praktisch bei Null gemacht. Was ihm dabei sehr geholfen hat, waren Jordan Mechners "ANMERKUNGEN zum Sourcecode" (!) ( jordanmechner.com/wp-content/uploads/1989/10/popsource009.pdf ) - trotzdem kein Vergleich dazu, als wenn er echten Zugriff auf den Sourcecode gehabt hätte...

Olipool 16 Übertalent - 4198 - 31. März 2012 - 0:51 #

Dazu muss man noch ergänzen was "händisch" in dem Fall heißt...er hat sich nen Speicherdump gezogen und dann disassembliert und 2,5 Jahre versucht alles zu entschlüsseln: http://popc64.blogspot.de/2011/10/prince-of-persia-for-commodore-64128.html

Darth Spengler 18 Doppel-Voter - 9293 - 30. März 2012 - 16:39 #

Ich sollte mal im Keller einige Kartons untersuchen, vielleicht finde ich ja auch einen alten Schatz ;)

Sgt. Nukem 15 Kenner - 3658 - 30. März 2012 - 19:11 #

BTW: t.co/R2Gr5Pkr xD

Olipool 16 Übertalent - 4198 - 31. März 2012 - 0:55 #

Was auch sehr nett zu sein scheint ist sein Buch: http://jordanmechner.com/ebook/
Dort hat er seine Tagebuchnotizen (1985-1993) zur Entstehung von Prince of Persia veröffentlicht. Die ersten 40 Seiten sind frei zum Lesen. Irre wie man damals alleine frickeln konnte und wie die Publisher die armen Entwickler ausgesaugt haben (ist ja heut vermutlich nicht viel anders ;)

interceptor 12 Trollwächter - 1064 - 17. April 2012 - 19:32 #

Im Prinzip kann man auch noch viel mehr online lesen. Einfach hier anfangen und dann oben über das Datum immer weiter durchklicken:
http://jordanmechner.com/old-journals/1985/05/introduction/

Sehr faszinierend und lesenswert!

Olipool 16 Übertalent - 4198 - 19. April 2012 - 16:45 #

Cool, danke für den Link!

Jonas -ZG- 18 Doppel-Voter - P - 11041 - 31. März 2012 - 3:36 #

PoP 1 & 2 fand ich toll was danach kam nicht mehr

Anonymous (unregistriert) 17. April 2012 - 17:38 #

Der letzte PoP war toll, die davor nicht so.

Labrador Nelson 28 Endgamer - - 103588 - 31. März 2012 - 16:39 #

^^

Passatuner 14 Komm-Experte - P - 2295 - 17. April 2012 - 18:15 #

Gleich mal meinen Apple II anwerfen :)

MMKING 17 Shapeshifter - 6725 - 17. April 2012 - 19:11 #

Schon ne sehr coole Aktion finde ich

Andreas 16 Übertalent - 4622 - 17. April 2012 - 20:43 #

Sein eBook über die Entstehung von PoP ist auch sehr lesenswert!

Keksus 21 Motivator - 25101 - 18. April 2012 - 5:10 #

Brauch man schon einen IBM5100 um den Code zu kompilieren? :D

Passatuner 14 Komm-Experte - P - 2295 - 18. April 2012 - 7:59 #

Du brauchst (theoretisch) einen Apple II, es wurde auf und für diesen entwickelt, und dann erst für andere Systeme umgesetzt. In der Praxis gehts jetzt auch auf einem PC, z.B mit dem ACME Crossassembler.

Punkbanana 13 Koop-Gamer - 1377 - 19. April 2012 - 12:14 #

interessannt

Kommentar hinzufügen

Neuen Kommentar abgeben
(Antworten auf andere Comments bitte per "Antwort"-Knopf.)
Mitarbeit