24.11.2012 Prince of Persia 1: Nachbau, Erster Protoyp
-
- Lazarusforum e. V.
- Beiträge: 7180
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
24.11.2012 Prince of Persia 1: Nachbau, Erster Protoyp
Hallo
Letztes Jahr habe ich ein Versuch unternommen "Prince of Persia" nach zu bauen. Im Internet habe ich eine Seite gefunden, die sehr viel Infos über Prince of Persia hatte. Außerdem ein Programm um die *.dat Dateien zu Entpacken. Da es inzwischen sehr viele weitere Varianten gibt, denke ich, darf ich die Dateien weiter geben. Bin mir aber nicht sicher. Ich habe die Dateien entpackt und in das Zip Archiv gepackt.
Wenn ihr meint, dass wäre zu unsicher, nehme ich sie wieder raus.
Hier ein paar Links, wo es um Prince Of Persia 1 und 2 geht:
1. http://popuw.com/
2. http://forum.princed.org/
Die Sprites sind in einzelne BMP Dateien zerlegt, die ich wieder zusammenfüge Dynamisch.
DAS PROJEKT IST LEIDER NOCH NICHT FERTIG. Es gibt da noch Fehler. Ich komme mit dem Pseudo3D nicht zurecht. Das Problem ist:
Die Sprites müssten um 90° gedreht werden(nehme ich an). Ich habe ein einfaches Raster erzeugt, wo ich erst mal die Sprite anschauen kann.
In einem ersten Prototyp hatte ich auch Probleme mit der Animation des Princen. Es gibt dazu einige Bilder, die kann ich auch anzeigen und der reihe nach Abspielen, aber das nützt mir wenig. Außerdem weiß ich auch noch nicht wie ich das Springen einbauen soll.
Wer kann und möchte kann das Projekt gerne weiter Entwickeln, oder komplett neu Anfangen. Ich würde mich jedenfalls Freuen, wenn das Projekt in irgendeiner Form weiter Entwickelt wird. Mein Ziel ist es: Ein Loader zu erstellen. Eine Beschreibung der Level Dateien habe ich auch. Der Loader könnte dann diese Dateien laden.
Es gibt ein Free Prince Projekt, jedoch gibt es da Probleme mit dem Springen. Ob das Problem jetzt gelöst wurde, weiß ich nicht.
Viel Spaß beim Expertentieren.
Letztes Jahr habe ich ein Versuch unternommen "Prince of Persia" nach zu bauen. Im Internet habe ich eine Seite gefunden, die sehr viel Infos über Prince of Persia hatte. Außerdem ein Programm um die *.dat Dateien zu Entpacken. Da es inzwischen sehr viele weitere Varianten gibt, denke ich, darf ich die Dateien weiter geben. Bin mir aber nicht sicher. Ich habe die Dateien entpackt und in das Zip Archiv gepackt.
Wenn ihr meint, dass wäre zu unsicher, nehme ich sie wieder raus.
Hier ein paar Links, wo es um Prince Of Persia 1 und 2 geht:
1. http://popuw.com/
2. http://forum.princed.org/
Die Sprites sind in einzelne BMP Dateien zerlegt, die ich wieder zusammenfüge Dynamisch.
DAS PROJEKT IST LEIDER NOCH NICHT FERTIG. Es gibt da noch Fehler. Ich komme mit dem Pseudo3D nicht zurecht. Das Problem ist:
Die Sprites müssten um 90° gedreht werden(nehme ich an). Ich habe ein einfaches Raster erzeugt, wo ich erst mal die Sprite anschauen kann.
In einem ersten Prototyp hatte ich auch Probleme mit der Animation des Princen. Es gibt dazu einige Bilder, die kann ich auch anzeigen und der reihe nach Abspielen, aber das nützt mir wenig. Außerdem weiß ich auch noch nicht wie ich das Springen einbauen soll.
Wer kann und möchte kann das Projekt gerne weiter Entwickeln, oder komplett neu Anfangen. Ich würde mich jedenfalls Freuen, wenn das Projekt in irgendeiner Form weiter Entwickelt wird. Mein Ziel ist es: Ein Loader zu erstellen. Eine Beschreibung der Level Dateien habe ich auch. Der Loader könnte dann diese Dateien laden.
Es gibt ein Free Prince Projekt, jedoch gibt es da Probleme mit dem Springen. Ob das Problem jetzt gelöst wurde, weiß ich nicht.
Viel Spaß beim Expertentieren.
- Dateianhänge
-
- princeofpersia.zip
- (1.01 MiB) 283-mal heruntergeladen
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 624
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: 24.11.2012 Prince of Persia 1: Nachbau, Erster Protoyp
Das ding zu Programmieren ist zu einfach, für Pseudo3d kannst du die Raster (Tiles) als Rauten oder Parallelogramme erstellen. Hier würde Parallelogramm passen. Und Höhen und Tiefen erstellst du mit Ebenen. Ich hatte in den 90zigern ein Spiel das vom Prinzip her ähnlich war Programmiert. Mann mußte mit Hubschrauber über Flüsse fliegen und feindliche Soldaten und Fahrzeuge abschießen, hohe Felsen überfliegen oder Brücken drunterfliegen.
-
- Beiträge: 624
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: 24.11.2012 Prince of Persia 1: Nachbau, Erster Protoyp
Ich habe das mal runtergeladen und kann bestätigen dass es Prototyp ist ) . Wenn du Crossplatform-Programme schreibst achte immer Trennzeichen für Pfade (=Pathseparator).
-
- Lazarusforum e. V.
- Beiträge: 7180
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: 24.11.2012 Prince of Persia 1: Nachbau, Erster Protoyp
Danke für deine Tests. Ich arbeite eigentlich(meistens) mit "Pathseparator" aber hier wohl nicht...
Könntest du mir dazu mal ein einfaches Beispiel erstellen? Ich bin nicht so "gut" in Mathe.
Eigentlich ist es noch nicht mal ein Prototyp, es ist nur eine Forschungs Version....
Das ding zu Programmieren ist zu einfach, für Pseudo3d kannst du die Raster (Tiles) als Rauten oder Parallelogramme erstellen.
Könntest du mir dazu mal ein einfaches Beispiel erstellen? Ich bin nicht so "gut" in Mathe.
Ich habe das mal runtergeladen und kann bestätigen dass es Prototyp ist ) .
Eigentlich ist es noch nicht mal ein Prototyp, es ist nur eine Forschungs Version....
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 624
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: 24.11.2012 Prince of Persia 1: Nachbau, Erster Protoyp
Eigentlich hat das mit Mathe nicht viel zu tun. Du sieht im unteren Bild Durchgang mit Sockel, der Sockel hat den Form eines Parallelogramm, als Tiles würde ich das Benutzen und zusätzlich jeden "Tile" eine Höhe zuordnen und das ganze von hinten nach vorne und von links nach rechts zeichen. Gerade bei Prince of Persia war das sehr einfach weil soweit ich mich erinnere die Bewegungen nur nach links, rechts, springen und fallen war.
Edit:
Ich stelle mal vielleicht Zeichnung hier. Ich habe zur Zeit Langeweile, Ich wollte Silkworm von Amiga nach programmieren. Das ist auch nicht schlecht. Abgesehen von Charakteranimationen (Kämpfe und Sprünge) kann es doch nur ein paar Wochen Arbeit sein.
Edit:
Ich stelle mal vielleicht Zeichnung hier. Ich habe zur Zeit Langeweile, Ich wollte Silkworm von Amiga nach programmieren. Das ist auch nicht schlecht. Abgesehen von Charakteranimationen (Kämpfe und Sprünge) kann es doch nur ein paar Wochen Arbeit sein.
Zuletzt geändert von Soner am So 25. Nov 2012, 00:04, insgesamt 1-mal geändert.
-
- Lazarusforum e. V.
- Beiträge: 7180
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: 24.11.2012 Prince of Persia 1: Nachbau, Erster Protoyp
ich kann dir nicht so ganz folgen... wie meinst du das z.b. mit von Hinten nach Vorne?
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 624
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: 24.11.2012 Prince of Persia 1: Nachbau, Erster Protoyp
Von Hinten nach Vorne meine ich von Bildschirm Tiefe zum Betrachter aber hier braucht man das nicht weil es nur rechts/links, oben/unten ist. Ich wollte vor einigen Jahren DoubleDragon nach Programmieren da konnte man in vier Richtungen laufen ähnlich wie Isometriche Projektion.
Ich schau mir mal jetzt PrinceOfPersia in Youtube an damit ich mich wieder an das Spiel erinnere.
Ich schau mir mal jetzt PrinceOfPersia in Youtube an damit ich mich wieder an das Spiel erinnere.
-
- Lazarusforum e. V.
- Beiträge: 7180
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: 24.11.2012 Prince of Persia 1: Nachbau, Erster Protoyp
Da findest du recht viele Videos. Auch von den anderen Varianten.
z.b. hier http://www.youtube.com/watch?v=xYshsdVpPDE
z.b. hier http://www.youtube.com/watch?v=xYshsdVpPDE
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 624
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: 24.11.2012 Prince of Persia 1: Nachbau, Erster Protoyp
Ich habe Zeichnung erstellt wie ich es mir vorgestellt habe. Ich würde sogar jedes in drei Stücke unterteilen weil bei PrinceOfPersion die Bewegung immer in der Mitte stattfindet, dann ist es noch einfacher zu Zeichnen und zu Verwalten.
-
- Lazarusforum e. V.
- Beiträge: 7180
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: 24.11.2012 Prince of Persia 1: Nachbau, Erster Protoyp
Danke! So ähnlich habe ich es mir auch schon vorgestellt. Ich kann so ein Level selbst zeichnen. Das ist nicht das Problem.
Ich weiß nicht wie ich es beschreiben soll.
Wenn ich ein normales Raster hätte, wäre es kein Problem, aber es ist kein Normales Raster. Wie du schon richtig erkannt hast sind es Parallelogramme(eigentlich) .
Vielleicht könntest du mal ein kleines Beispiel erstellen dazu? Nicht großes... einfach nur um das Prinzip da zu stellen.
Ich müsste auch nicht unbedingt die Original Dateien verwenden, ich könnte auch einige Dateien erstellen. Nur die Figuren werden dann recht aufwendig.
Ich weiß nicht wie ich es beschreiben soll.
Wenn ich ein normales Raster hätte, wäre es kein Problem, aber es ist kein Normales Raster. Wie du schon richtig erkannt hast sind es Parallelogramme(eigentlich) .
Vielleicht könntest du mal ein kleines Beispiel erstellen dazu? Nicht großes... einfach nur um das Prinzip da zu stellen.
Ich müsste auch nicht unbedingt die Original Dateien verwenden, ich könnte auch einige Dateien erstellen. Nur die Figuren werden dann recht aufwendig.
MFG
Michael Springwald
Michael Springwald
-
- Lazarusforum e. V.
- Beiträge: 7180
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: 24.11.2012 Prince of Persia 1: Nachbau, Erster Protoyp
Ich habe Zeichnung erstellt wie ich es mir vorgestellt habe. Ich würde sogar jedes in drei Stücke unterteilen
Dazu noch etwas:
Aus einem Level-Editor der für POP ist, habe ich entnommen, dass es ein Tile aus einem Boden, eine Mitte und einer Decke besteht.
Diese Tiele haben eine bestimmte Größe. Ein "Raum" kann meins wissens 9 mal 9 Tiele aufnehmen. Jedes Level kann 24 Räume haben, stand in einer Beschreibung drin, wenn ich sie finde, kann ich sie ja hochladen.
Edit01 Der Editor den ich meine heißt "apoplexy"
Edit02: Die Format Beschreibung(Leider auf Englisch)
- Dateianhänge
-
- FormatSpecifications.pdf
- (216.83 KiB) 274-mal heruntergeladen
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 624
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: 24.11.2012 Prince of Persia 1: Nachbau, Erster Protoyp
Ein Beispiel wäre zu Aufwendig. Ich würde in deine Stelle nicht nachmachen was die Programmier von PoP gemacht haben, weil damals Computer zwach waren, mußten sie so machen wie sie gemacht haben.
Ich würde auch nicht die Grafik von Pop verwenden. Erst einfach geometrische Figuren, Blöcke, einfache Strichmenschen verwenden. Erst wenn alles klappt und ein Demolevel einwandfrei funktioniert dann würde ich mich auf Levelgestalltung und Grafiken konzentrieren.
Ich würde auch nicht mehr PoP nachmachen weil es viele gemacht haben, wie ich gestern festgestellt habe, vielleicht Persian Gulf Inferno nachmachen im Prinzip ähnlich und noch nicht nachgemacht.
Ich würde auch nicht die Grafik von Pop verwenden. Erst einfach geometrische Figuren, Blöcke, einfache Strichmenschen verwenden. Erst wenn alles klappt und ein Demolevel einwandfrei funktioniert dann würde ich mich auf Levelgestalltung und Grafiken konzentrieren.
Ich würde auch nicht mehr PoP nachmachen weil es viele gemacht haben, wie ich gestern festgestellt habe, vielleicht Persian Gulf Inferno nachmachen im Prinzip ähnlich und noch nicht nachgemacht.
-
- Lazarusforum e. V.
- Beiträge: 7180
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: 24.11.2012 Prince of Persia 1: Nachbau, Erster Protoyp
Ein Beispiel wäre zu Aufwendig
Ich meine jetzt kein Komplettes Beispiel. Sondern nur ein Beispiel, was das Rendern zeigt. Es muss nicht perfekt sein.
Ich würde auch nicht mehr PoP nachmachen weil es viele gemacht haben, wie ich gestern festgestellt habe, vielleicht Persian Gulf Inferno nachmachen im Prinzip ähnlich und noch nicht nachgemacht.
Stimmt. Es haben sehr viele Leute schon nach gemacht. "Persian Gulf Inferno" kenne ich nicht.
Mir geht es eigentlich, um was anders wenn ich es nach machen sollte. Mir geht es eigentlich "nur" um das Prinzip.
MFG
Michael Springwald
Michael Springwald
-
- Lazarusforum e. V.
- Beiträge: 7180
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: 24.11.2012 Prince of Persia 1: Nachbau, Erster Protoyp
Die meisten Varianten von POP1 und POP2 verwenden intern alle den selben "Loader". Sie haben legendlich entweder "nur" das Levelset ausgetauscht und/oder die Grafiken und Musik Dateien. Aber in der Regel nicht die PRINCE.EXE Datei.
Mein Ziel ist es jedoch: Eine PRINCE Datei zu erstellen, die unter Linux, Windows und Mac OS läuft. Praktisch so wie "Free Prince".
Außerdem möchte ich von Anfang an, einige Änderungen vornehmen z.b. eine Level-Set Verwaltung, man soll Level speichern und Laden können, was erst bei POP2 der Fall war. Bei POP1 gab es einen "Trick". Da nur bis Level 3 "gespeichert" wurde.
Außerdem möchte ich eine Möglichkeit einführen, dass gesammte Level als Grafik Datei abzuspeichern. Dazu habe ich zwar ein Programm gefunden: DrawMap, aber es lässt sich nicht kompilieren, da die *.h Datei fehlen bzw. das ZIP Archiv nicht ganz vollständig war.
Stellen wir uns mal ein Normales Raster vor. Da würde ich ein 2D Array nehmen, die Größe setzten bei POP wäre das eine Statische Größe. Dann würde ich das Raster einmal komplett durchgehen und auf "0" setzten. Angenommen, wir nehmen ein array of array of Byte. Das vereinfacht einiges.
Beim Rendern würde ich das Raster jetzt durch gehen: Erst die Zeile dann die Spalte(mit zwei For schleifen) und würde jetzt z.b. y*TileH machen und x*TileW machen.
Wenn ich das jedoch mache, sieht es so aus, wie im Beispiel oben. Wie sieht das ganze mit einem parallelogramm aus?
Mein Ziel ist es jedoch: Eine PRINCE Datei zu erstellen, die unter Linux, Windows und Mac OS läuft. Praktisch so wie "Free Prince".
Außerdem möchte ich von Anfang an, einige Änderungen vornehmen z.b. eine Level-Set Verwaltung, man soll Level speichern und Laden können, was erst bei POP2 der Fall war. Bei POP1 gab es einen "Trick". Da nur bis Level 3 "gespeichert" wurde.
Außerdem möchte ich eine Möglichkeit einführen, dass gesammte Level als Grafik Datei abzuspeichern. Dazu habe ich zwar ein Programm gefunden: DrawMap, aber es lässt sich nicht kompilieren, da die *.h Datei fehlen bzw. das ZIP Archiv nicht ganz vollständig war.
Stellen wir uns mal ein Normales Raster vor. Da würde ich ein 2D Array nehmen, die Größe setzten bei POP wäre das eine Statische Größe. Dann würde ich das Raster einmal komplett durchgehen und auf "0" setzten. Angenommen, wir nehmen ein array of array of Byte. Das vereinfacht einiges.
Beim Rendern würde ich das Raster jetzt durch gehen: Erst die Zeile dann die Spalte(mit zwei For schleifen) und würde jetzt z.b. y*TileH machen und x*TileW machen.
Wenn ich das jedoch mache, sieht es so aus, wie im Beispiel oben. Wie sieht das ganze mit einem parallelogramm aus?
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 624
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: 24.11.2012 Prince of Persia 1: Nachbau, Erster Protoyp
Hast du das fertig gemacht? Ich hatte damals ein Beispiel für dich gemacht, wie du woltest, dann muss irgendetwas dazwischen gekommen sein, dass ich es vergessen habe.
Als ich heute ein altes Projekt gesucht habe, habe ich es entdeckt. Es sind sogar viele Kommentare und Textdatei dabei.
Es ist nur Level-Grundgerüst, Akteure fehlen, mann kann aber zum Testen Level mit Cursortasten scrollen.
Falls du es noch willst hier.
Als ich heute ein altes Projekt gesucht habe, habe ich es entdeckt. Es sind sogar viele Kommentare und Textdatei dabei.
Es ist nur Level-Grundgerüst, Akteure fehlen, mann kann aber zum Testen Level mit Cursortasten scrollen.
Falls du es noch willst hier.
- Dateianhänge
-
- mypop.7z
- (136.8 KiB) 255-mal heruntergeladen