Prince of Persia 1: level Dastellung aber wie ?

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Prince of Persia 1: level Dastellung aber wie ?

Beitrag von pluto »

Hallo,
schon seit längeren frage ich mich, wie man so eine "einfache" dastellung hinbekommt:
nehmen wir z.b. den Turm auf dieser Seite:
http://home.connexus.net.au/~bcjames/ro ... orials.htm" onclick="window.open(this.href);return false;

Wie könnte ich sowas mit TCanvas erzeugen ?

Ich habe sowas mal mit Glscene versucht, unter Delphi, doch leider habe ich unter Linux keine gute OpenGL unterstüung :(

Alternative währe: Ich könnte SDL nehmen. Aber ich möchte es lieber erstmal mit TCanvas versuchen. Habt ihr da Ideen ?

Ob ich daraus ein Projekt mache weiß ich noch nicht. Ich möchte erstmal versuchen diese Da Stellung hinzubekommen. Ein Test Projekt evlt.....
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Winkel, verzehrungen, Schatten usw ausrechnen und dann Pixel für Pixel/Bitmap für Bitmap setzen...aber es gibt besser alternativen, als Canvas, aber wers braucht ;)
Johannes

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Das war irgendwie klar. Ich wollte auch alle Grafiken schon im Richtigen Format erzeugen.

So das ich nur noch die Objecte Plazieren muss, wobei da weiß ich noch gar nicht wie ich das machen sollte....

Weil sie stehen ja in der Mitte der Grafik........ bzw. paar pixel vom rand Enfern....

Ich denke so könnte ich das machen..... sobald ich einen weg gefunden habe die Objekte Richtig zu setzten...
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Hä?

wo ist das Problem...Position als Point und drauf damit
Johannes

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Naja der Rand.... im Prinzip ist es nicht schwer nur ich möchte gerne genau das aussehen von Spiel nach ahmen. Also sprich der Prince muss auf der Grafik Positniert werden.

Das ist nicht mein erstes Grafik Projek mit TCanas. Wobei später wird es noch Probleme bei der "einfachen KI" geben.

Ich weiß nicht wie ich das anders beschreiben soll.
Schau dir noch einmal die Grafik an, also den Turm.

Dieser Turm besteht aus merhen Objekten und auf jeder ebene ist eine
Figur, aber diese Figur ist nicht am Rand sondern in der Mitte. Das bereitet mir im Moment noch einiger Probleme.....

Ich habe schon viel mit TCanvas gemacht auch, spiele........ evlt. lade ich sie mal der reihe nach hoch. Sind zwar nicht fertig aber zeigen doch schön wie und was alles mit TCanvas geht.
MFG
Michael Springwald

Antrepolit
Beiträge: 340
Registriert: Di 12. Sep 2006, 08:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Beitrag von Antrepolit »

Wo liegt denn das Problem?
Der Trick bei price of Persia war, dass man diesen Turm von unten nach oben aufbaut.
Bodenplatte ist eine Grafik zusammen mit den hinteren Säulen.
Dann wird darauf die Figur gesetzt, und dann den Teil mit den vorderen Säulen, welche
eines mit dem nächsten Boden und dessen Hinteren Säulen ist. ;-)
Simpel, aber damals, 89 als das Spiel rauskam genial.

sowas hab' ich schon mit Turbo-pascal gemacht... sollte keine probleme geben.

mfg
Grüße, Antrepolit

care only if your os is really burning

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Danke ! So werde ich es bei gelegenheit mal Probieren.....

Also brauche ich: Eine Platte(ein Viereck(3D?), und säulen(rechecke(3D?). ersteinmal
MFG
Michael Springwald

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

ich habe es mal eben versucht mit einem 2D Zeichen Programm
KolourPaint... mir ist nicht klar wie du die hinteren Säulen zeichnen möchtest....
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

das ist doch nen einfaches Bild, wo ist das Problem, du musst es doc nur abmalen, wie es da ist. Kann natürlich sein, das die Standardfiguren nicht ganz passen, und man wohl oder übel Pixel einzeln setzen muss.

Und das ist duch 2D, was denn sonst? Das Problem ist nicht 3D, sondern die Perspektive, das es räumlich wirkt ;)

http://de.wikipedia.org/wiki/Kavalierperspektive" onclick="window.open(this.href);return false;
Johannes

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Vielen Dank ! So habe ich es auch gerade gemacht.... im Anhang ist kleines Bild...

was meint ihr dazu ? (zum Bild)
Es fehlen natürlich noch einige Elemente aber die füge ich nach und nach ein...
Das bild habe ich mit einem Grafik Programm gezeichnet.....

Monta: Dnake für den Link....
Dateianhänge
level1myprinceofpersia.png
level1myprinceofpersia.png (1.74 KiB) 2123 mal betrachtet
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Die 'Seitenwände der Säulen müssen unten angeschrägt sein ;)
Johannes

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

ich kann dir nicht so ganz folgen.....

ich habe noch eine seite mit einer bessern Beschreibung gefunden:
http://www.janaszek.de/persp/persp_para ... ktive.html" onclick="window.open(this.href);return false;

Ich werde aber gleich noch ein Paar Versuche machen.... bevor ich das Projekt Anfangen.....

Aber ich denke, ich werde alle Grafiken die ich brauche:
Wände, Säulen, Türen, Schalter, Platten, Spießer, Tränke, Figuren, selbst zeichnen....
Mit einem Grafik Programm. Ich glaube sogar das jedes Grafik gleich groß ist.... oder teuscht das ?
MFG
Michael Springwald

Antrepolit
Beiträge: 340
Registriert: Di 12. Sep 2006, 08:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Beitrag von Antrepolit »

Ich habe mal ein Beispielbild angefügt. Alles was da weiß ist, muss eben Transparent sein.
Dass legt man dann auf das Hintergrundbild und lässt es mit dem Bild darunter oben etwas
überlappen, bis das Bündig angebaut aussieht.

Soll ich dazu noch ein Beispiel posten?

Edit 1:

Habe nun noch eine Grafik gepostet, wie das Aussieht, wenn man das übereinanderlegt. Der rote Rahmen symbolisiert die Außengrenzen des unteren Bildes, der grüne die des Oberen.
In dem Bereich, wo sich beide Überlappen habe ich den Hintergrund gelb eingefärbt. Wichtig ist eben, dass man die Bilder von unten nach oben Zeichnet, damit das obere sichtbar das untere Überlappt. Bevor man nun die Etage über dem Prinzen setzt, muss man
natürich erst den Prinzen zeichnen, damit auch er von den vorderen Säulen, welche mit der Etage über ihm in Bild sind, überdeckt wird, wenn er hinter einer steht.

Ein ähnlicher Zeichentrick wurde bei Command & Conquer 2 und ähnlichem angewendet. Die Figuren werden in abhängigkeit ihrer Höhe zum oberen Bildrand gezeichnet. Aber ich will Pluto nun nicht noch verwirren. ;-)
Dateianhänge
saeule.bmp
Grüße, Antrepolit

care only if your os is really burning

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

@Antrepolit
Vielen Dank.... sag mal kommt es auf die Hellen und Dunklen Farben an ?
z.b. die Vorderseite ist ja heller als die Dunkle seite......
hat das einen Grund ?

Aber so ganz kann ich das immer noch nicht richtig nach vollziehen......
ich werde gleich noch mal versuchen... ob ich dein bild verstehe.......
Nochmals vielen Dank !...... ich kann es mir einfach noch nicht richtig vorstellen.

Von unten nach Oben ist für mich auch etwas neu.... weil ich sonst immer von der Oberen Linke ecke ausgehe..... wenn ich ein Bild Zeichne.

Das der Prince zuerst gezeichnet werden muss ist soweit auch klar.
bzw.:
zuerst müsste ich ja die Platte zeichnen, wo der Prince später drauf steht. Dann müsste ich die Hinteren Säulen zeichnen dann erst den Prince und jetzt die vorderen und dann die Decke.... ist das soweit richtig ?

Was mir noch unklar ist, wie du diese "3D" Platten so hinbekommst... und auch die 3D Säulen..... bisher habe ich immer nur einfache gezeichnet.


ich dachte bei "Command & Conquer 2 " währe das eine Isometik ansicht.....

Aber mein Ziel ist erst mal ein einziges Prince Level selbst zu zeichnen bzw. zu erstellen. und auch anzuzeigen.
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

natürlich haben die Farben nen Sinn, dadurch erzeugst du ein gewisses räumliches Aussehen, weil ja hinten beispielsweise mehr Schatten/es dunkler ist.

Und genau dadurch und die korrekte Verzehrung' entsteht auch dieses 3D-artige aussehen.


Aber GL malt doch beispielsweise auch von unten rechts, das ist nicht so ne besonderheit. Im Gegenteil eigentlich ist, wenn mans von den Koordinatensystemen her betrachtet, sogar logischer, auch wenns ne schöne Fehlerquelle zu der sonstigen Posiionierung bspw. am Bildschirm ist.
Johannes

Antworten