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.
Manchmal lohnt es sich, nicht alles wegzuschmeißen. :)
Wusste ja nicht, das der gute Jordan damals so ein Schlamper war XD.
und was genau lohnt sich jetzt an dem quellcode?
Wenn du so fragst: für dich gar nicht.
Wie schön :) Den Code würd ich mir sogar anschauen ^^
If Player.Jump = True then Player.Die := True
Zu dieser Zeit gab es noch keine Methoden. Wenn das alles wirklich nur so einfach wäre. :)
Doppel "Häh". Logo gabs anno dazumal Methoden....Wobei da natürlich keine Methode steht :)
Upps, diese Art Methoden-Aufruf meinte ich, da das Spiel ja in Assembler geschrieben wurde. Also Player.Jump und Player.Die
Dafür war ich im Smarta.. Modus :)
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
;)
Das eigentlich traurigste an der Sache:
Ich verstehe was dort steht und musste tatsächlich lachen. ;)
Gibt einem zu denken, nicht wahr?
Ich musste lange überlegen um es zu verstehen, schreiben könnte ich das heutzutage nicht mehr.
Ich auch nicht mehr und ehrlich gesagt bin ich froh drüber.
Das Rentner-Leben hat auch seine Vorteile. ;)
Was bin ich froh heutzutage nicht mehr seinen Speicher fest zu planen...von Byte x bis y liegen die Grafiken etc...
Warum traurig?
Ich bin erst bei Turbo Pascal eingestiegen... deshalb Respekt wenn man sich noch auf die Bit-Schieberei versteht.
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...
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 ...
6502-Assembly?? Einfach Terminator gucken... xD
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
http://www.collegehumor.com/video/5767906/the-tetris-god
:D
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...
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
Ich sollte mal im Keller einige Kartons untersuchen, vielleicht finde ich ja auch einen alten Schatz ;)
BTW: t.co/R2Gr5Pkr xD
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 ;)
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!
Cool, danke für den Link!
PoP 1 & 2 fand ich toll was danach kam nicht mehr
Der letzte PoP war toll, die davor nicht so.
^^
Gleich mal meinen Apple II anwerfen :)
Schon ne sehr coole Aktion finde ich
Sein eBook über die Entstehung von PoP ist auch sehr lesenswert!
Brauch man schon einen IBM5100 um den Code zu kompilieren? :D
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.
interessannt