AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Iso-Engine (inkl. Source) - Koordinaten
Thema durchsuchen
Ansicht
Themen-Optionen

Iso-Engine (inkl. Source) - Koordinaten

Ein Thema von Yheeky · begonnen am 28. Jun 2005 · letzter Beitrag vom 30. Jun 2005
Antwort Antwort
Seite 1 von 2  1 2      
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#1

Iso-Engine (inkl. Source) - Koordinaten

  Alt 28. Jun 2005, 23:46
Hi,

also ich bin´s mal wieder mit meiner Iso-Engine
Soweit funktioniert jetzt das Erste, allerdings sind die Tiles (Koordinaten) noch nicht wirklich in der richtigen Anordnung. Die richtige Anordnung seht ihr in dem angehängten Bild "IsoImg".

Die in meiner Engine könnt ihr einfach in der Mitte der StatusBar auslesen. Wie bekomme ich die nun hin? So wie es z.Z. ist kann ich einen Teil der Tiles nicht zeichnen lassen, weil ich die Koordinaten nicht habe. Dieses Mal habe ich den Quellcode mit angehängt.

Ich hoffe mir kann jemand helfen. Danke.

Gruß Christian
Miniaturansicht angehängter Grafiken
isoimg_125.jpg  
Angehängte Dateien
Dateityp: zip engine_165.zip (17,2 KB, 63x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Iso-Engine (inkl. Source) - Koordinaten

  Alt 29. Jun 2005, 04:14
Hallo,

Vielleicht koenntest du auch noch kurz erklaeren, was eine Bei Google suchenIso-Engine ist?
Thomas
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#3

Re: Iso-Engine (inkl. Source) - Koordinaten

  Alt 29. Jun 2005, 12:37
Klar kann ich das *g*.
Bei einer "normalen" 2D Engine werden die sogenannten Tiles (Felder) einfach per X,Y Koordinaten auf die Oberfläche gezeichnet.
Dies ist bei der "Iso-Engine" (richtiger Ausdruck "isometrische Engine") eigentlich genauso, nur mit dem Unterschied, dass die Tiles so auf der Oberfläche verschoben werden, dass der Eindruck entsteht, es handelt sich um eine 3D Umgebung. Die Gradzahlen der Perspektive variieren hierbei:

http://www.djs4life.de/Iso-Tut/pics/Vergleich.jpg

Beides ist in 2D gezeichnet, aber rechts wurden die Tiles so verschoben, dass der Eindruck entsteht, es wäre 3D.

Die neue Anordnung der Felder:
http://www.gamedev.net/reference/art...o/IsoImg01.jpg

Und hier eine weitere Veranschaulichung, wie eine Engine aussehen könnte.
http://www.gamedev.net/reference/art...ngle_plane.gif

Die Route wird in 2D auf dem Bildschirm gezeichnet.

Ich hoffe es ist nun etwas klarer, was ich euch eigentlich fragen will

Gruß Christian
  Mit Zitat antworten Zitat
Phobeus

Registriert seit: 14. Sep 2003
Ort: Tespe
65 Beiträge
 
Delphi 7 Professional
 
#4

Re: Iso-Engine (inkl. Source) - Koordinaten

  Alt 30. Jun 2005, 08:18
Also erst einmal: So ganz genau habe ich deine Frage nicht verstanden. (liegt evtl. daran, dass ich keine W32 ausführen kann). Geht es um den äußeren Randbereich einer Karte oder wieso hast Du keine Koordinaten dafür? Diese sollten ja überall eigentlich gegeben sein. An den Rändern würde ich dann nur noch Dummy einfügen, leere Felder mit der Hälfte eines Iso-Feldes. So entsteht der Eindruck, dass die Karte schön abgerundet ist. Versuch das Problem nochmal verbal zu erklären (die Erklärung einer ISO ist doch super).
Aber auch nochmal meinen drohenden Finger als Reality-Check. Wieso eine ISO-Engine? Sofern Du dies nicht aus Gründen der Nostalgie machst, würde ich mich keineswegs mehr damit auseinander setzen (ich habe vor 5 Jahren beim schreiben meiner ISO-Engine, dieses Fazit gezogen). Die Technik ist nicht mehr aktuell und aus heutiger Sicht sehr kompliziert, da man stets mit der Illusion von 3D kämüfen muss. Es gibt einige sehr gute Projekte vor dessen Kodierung ich eine hohe Achtung habe. Aber alle diese Projekte dienten nur dazu aus 2D 3D zu machen, weil für letztes nicht genug Rechnenleistung zur Verfügung steht. Inzwischen haben wir Grafikkarten bei denen selbst das Filtern von sichtbaren Polygonen teilweise langsamer ist als diese einfach nur direkt auf den Bildschirm via brute force auszugeben. Es besteht also keine technische Notwenidigkeit für iso mehr. Statt dessen würde man als "ISO-Ersatz" eine 3D-Szene nehmen in der man eine Achse fixiert (vermutlich die Höhe (Y)). Damit hättest Du dann entlang der X- und Z-Achse deine Feldpositionen (ohne diese ständig halbieren zu müssen). Möchtest Du dann eine iso-ähnliche Ansicht, so drehst Du die Kamera um 45° in eine Richtung und es sieht aus wie ISO, obwohl Du mit ganz normalen Koordinaten weiter arbeitest. Die Belastung erfolgt nicht mehr bei der CPU, sondern weitesgehend bei der GPU und auch das beliebte transparente Zeichnen bei ISO-Engines würde sich weitaus effizienter über die GPU berechnen lassen. Dabei muss es halt alles nicht einmal wirklich 3D sein, sondern ein 3D-Raum auf dem man 2D-Objekte pinselt wäre bereits ein Vorteil gegenüber der traditionellen Variante. Nehmen wir mal an, dass Du z.B. auf Grund deines Beispiels ein Auto auf einer Straße fahren willst. Im 2D-Bereich würdest Du dafür zumindest 4 Bilder brauchen (oder diese generieren und im Speicher halten). Wenn Du nun plötzlich sagst: 45° ist mir zu wenig Neigung mit 55° sieht es viel besser aus, dann wäre die große Katastrophe perfekt. Du müßtest eigentlich alle deine Grafiken neu machen. Würdest Du nur ein Modell reinsetzen, könntest Du genau bestimmen, wie das Fahrzeug in welche Richtung positioniert wird und ggf. auch am Straßenrand auf dem Kopf liegen lassen.
All dies nur als zusätzliche Überlegung, falls Du sie nicht bisher gemacht hast. Wenn doch: ISO ist definitiv die königsklasse im 2D-Bereich und kann eine Menge Spass machen
Gruß
Florian Sievert
http://www.delphigl.com/
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#5

Re: Iso-Engine (inkl. Source) - Koordinaten

  Alt 30. Jun 2005, 14:16
Also das Problem mit den Koordinaten ist inzwischen fast geklärt. Es ging um die ganz normalen Tiles. Ich hab einfach die "normalen" X und Y Koordinaten bekommen. Wie soll ich das erklären...ich versuchs mal mit "X"s und "O"s zu erklären.

Hier sind X die Felder außerhalb der Map und O die Felder der Map.
X X O X X
X O O O X
O O O O O
X O O O X
X X O X X

Wenn man die "normalen" Koordinaten ausließt, hat das rote "O" die Koordinaten (1,1) (vom blauen Ursprung). In einer Iso-Engine hat es aber die Koordinaten (1,0), weil die X-Achse auch isometrisch verläuft. Das war mein Problem. Ich hoffe du hast es verstanden, aber ich glaub kaum

Warum ich die Iso-Engine eigentlich verwende: Ich hab früher - und spiele sie heute noch - sehr gerne 2D-Spiele gespielt und hab mich immer gefragt, wie es möglich ist, ein Spiel derart gut zu programmieren. Ein kleines Beispiel: Jagged Alliance 2. Schöne Iso-Grafik und das hat mich inspiriert mal selbst sowas zu programmieren. Sicherlich wäre es einfacher hier mit 3D zu arbeiten, keine Frage. Dennoch hab ich auch, im Moment jedenfalls, zu großen Respekt mich an 3D ran zu wagen. Ich kenne mich in der Zwischenzeit einigermaßen gut mit DelphiX aus, allerdings nur im 2D-Bereich. Wie gut DelphiX in Sachen 3D ist, weiss ich nicht. Ich traue mich da jedenfalls nicht so richtig dran und denke, dass es sehr viel länger dauern würde, wenn ich sowas in 3D mache.

Gruß Christian
  Mit Zitat antworten Zitat
Phobeus

Registriert seit: 14. Sep 2003
Ort: Tespe
65 Beiträge
 
Delphi 7 Professional
 
#6

Re: Iso-Engine (inkl. Source) - Koordinaten

  Alt 30. Jun 2005, 14:28
So ganz verstanden habe ich es immer noch nicht, aber ich erahne die Richtung. Intern würde ich auch eine ganz einfache Map a la x/y führen, die Wahlweise bei 0 oder 1 beginnt und dann nur noch die Umrechnung auf die Pixelkoordinate durchführen (berücksichtigung für Scrolls natürlich). Dann hätte das blaue 0/0 und das rote 1/0. Ich hoffe sehr, dass Du die Maps bei Dir im speicher nicht versuchts der isometrischen Darstellung anzupassen, sondern genau anders herum
Und: Nein, mit DelphiX solltest Du erst gar nicht versuchen 3D anzusteuern, da die dort eingesetzen Schnittstellen inzwischen nicht nur für tod erklärt wurden, sondern bereits eingegraben wurden und von MS anschließend wieder ausgebuddelt um an einem noch geheimeren Ort wieder verscharrt zu werden. Wie gesagt sollte man den Begriff 3D hier nicht wörtlich nehmen, sondern vielmehr an eine 3D-API als Hilfe zu verwenden. Sicherlich würde das einige Zeit in Anspruch nehmen um sich in diese einzuarbeiten, allerdings würde sich das (solange Du weiterhin richtung "ISO" gehen willst und nicht abhebst und nun eine komplexe 3D-Engine willst, sich durchaus schnell auszahlen, da man einiges an Problemen aus dem 2D-Bereich beiseite schieben kann. Ist erst einmal das erste Quadrat mit der 3D-API gesetzt, ist mit der ersten Schleife schon fast die Hälfte des aktuellen Standes nachgebaut. 3D wird immer erst dann komplex wenn Du alle zur Verfügung stehenden Achsen auch wirklich verwenden willst. Dann kommt man um lineare Algebra nicht mehr herum. Solange man allerdings nur entlang von 2 Achsen bewegt und die dritte maximal zum Zoomen verwendet, bewegt man sich vom mathematischen Aufwand weitesgehend im 2D-Bereich. Tests, ob ein Objekt hinter einem anderen liegt etc. lassen sich sehr leicht umgehen (wie bei ISO auch. Zeichnen von oben links nach unten rechts, anders herum sieht es merkwürdig aus Aber welche Wege Du auch immer gehst: Werde niemals zum Totenbeschwörer und beschwöre DelphiX 3D herauf. Sofort gänzlich vergessen... sofort
Florian Sievert
http://www.delphigl.com/
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#7

Re: Iso-Engine (inkl. Source) - Koordinaten

  Alt 30. Jun 2005, 14:38
Zitat von Phobeus:
Ich hoffe sehr, dass Du die Maps bei Dir im speicher nicht versuchts der isometrischen Darstellung anzupassen, sondern genau anders herum
Was meinst du damit?
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Iso-Engine (inkl. Source) - Koordinaten

  Alt 30. Jun 2005, 14:49
ich hatte mal nen projekt mit einem kumpel angefangen.
es ist eine 2D iso ansicht
eventuell kannst du damit ja was anfangen und ideen für deine engine daraus ziehen.
der source ist dabei - das ganze sollte aber nicht so einfach bzw größere teile davon für neue projekte verwendet werden, ohne meine erlaubnis.

is hab das mal von meiner platte runtergezippt.
Angehängte Dateien
Dateityp: zip pseudo_2d_612.zip (535,2 KB, 53x aufgerufen)
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#9

Re: Iso-Engine (inkl. Source) - Koordinaten

  Alt 30. Jun 2005, 17:13
Danke dir! Das sieht ja schon recht gut aus. Lebt das Projekt noch oder habt ihr es abgebrochen? Was sollte es denn werden?
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#10

Re: Iso-Engine (inkl. Source) - Koordinaten

  Alt 30. Jun 2005, 19:11
das soll irgendwie so nen remake von einem alten game werden wo man sich sein office einrichten kann und irgendwie aufträge bekommt und die abarbeitet oderso.. ka hab halt nur den code gemacht und kumpel die grafiken und noch n kumpel die ideen

zur zeit wird nicht daran gearbeitet. ob noch in zukunft, steht in den sternen
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz