Zurück   Flashforum > Flash > ActionScript > Spielkonzepte und Spieleprogrammierung

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-01-2008, 01:42   #1 (permalink)
Animateur
 
Benutzerbild von Master Wu
 
Registriert seit: Jan 2003
Ort: MZ
Beiträge: 1.536
double dragon style tilebased backgrounds (2,5D)

Hi Leute,
ich zerbech mir jetzt schon ne ganze Zeit den Kopf,
wie man die Map in einem Double Dragon aehnlichen SPiel (http://www.flash-mania.com/en/php/ni...combat/020.php) wohl am besten umsetzt.

Diese Sachen sind ganz klar tilebasiert, wobei ich mir auch ueberlege, es mit dieser modifizierten TileEngine umzusetzen (http://www.strille.net/tutorials/part1_scrolling.php)

Das Hauptproblem bleibt. Es ist halt nicht 2D, sondern 2,5D oder wie man es immer nennen will.

Jetzt koennte man natuerlich ein 3dimensionales Array fuer die Map anlegen. Das duerfte allerdings sehr speicherintensiv werden.
Bei diesem Double Dragon sind die tiles ja sehr klein, das waere ein ungeheuer grosses Array, wenn das 3D angelegt waere.
Vermutlich ist die dargestellte Map mit den kleinen Tiles einfach nur 2D, und die logische Map fuer Kollisionen, auf der die Figuren laufen, ist mit groeberen Daten hinterlegt, was meint ihr?

Zuerst dachte ich auch, ich gebe den Figuren x, y, und z-positionswerte und setze sie dann in diese 2,5D-Welt, mit ungerechneten positionswerten.
Dann ist mir aber aufgefallen, dass diese Spiele ja garkeine in sich logische Schraegprojektion (http://de.wikipedia.org/wiki/Perspektive) verwenden, sondern munter auch mal die Projektion in die andere Richtung drehen (siehe Bild 5), was spieltechnisch auch Sinn macht.
Jedenfalls hat mich das zu der Erkenntnis gefuehrt, dass man die Perpektive wohl am besten nicht rechnerisch durchfuehrt, sondern es so handhabt, dass da wirklich schraege Kloetze in der Landschaft rumstehen.

Langer Rede kurzer Sinn:
Wie wuerdet ihr solche Maps managen/speichern/verarbeiten?
Angehängte Grafiken
Dateityp: png 025.png (10,0 KB, 31x aufgerufen)
Dateityp: png 043.png (7,5 KB, 21x aufgerufen)
Dateityp: png 053.png (6,6 KB, 14x aufgerufen)
Dateityp: png 074.png (17,6 KB, 31x aufgerufen)
Dateityp: png 094.png (11,9 KB, 17x aufgerufen)
__________________
there is no way to happiness, happiness is the way - flashgames
Master Wu ist offline   Mit Zitat antworten
Alt 23-01-2008, 09:38   #2 (permalink)
i ate pixels
 
Benutzerbild von pixelslave
 
Registriert seit: Mar 2004
Ort: Augsburg
Beiträge: 528
Wink

hm ich hab mal vor einiger Zeit mit dem RPG-Maker rumhantiert. Dort war es so das es 3 Ebenen gab. hintergrund, Ebene 1, Ebene 2

Da soweit ich mich erinnern kann bei Double Dragon leute von "hinten" kommen, also nach vorne laufen könnte ich mir gut vorstellen das du eben einen Hintergrund definierst, auf Ebene 1 laufen die Genger nach vorne bis sie Punkt Z erreicht haben und werden auf Ebene 2 protiert. Auf ebene 2 Selbst läuft der Aktive bereich wie Spielfigur, Hindernisse, Items, Gegner usw.

Dann wäre das so das der Hintergrund eine einfache Variable ist, die Ebene 1 ein Array das NUR mit den Objekten gefüllt ist die dort sein sollen -> keine NULL arrays <- diese wiederum bekommen eben einen "Positionswert" des Arrays der 2ten Ebene, Ebene 2 Array sollte bei Tilebased ja klar sein denke ich

Bsp:
ActionScript:
  1. var bg : Bitmap = new Bitmap(src)
  2. var lvl1 : Array = new Array( object:Array(obj, [COLOR="DarkOrange"]tileId[/COLOR]),object:Array(obj, tileId), ... )
  3. var lvl2 : Array = new Array([COLOR="DarkOrange"]tileId[/COLOR]:Array(posX,posY, ... ), tileId:Array(posX,posY, ... ), ...)

---

denke das wenn du das so machst der Speicheraufwand nicht zu groß sein Sollte.

da SNES spiele aber aus Tilesets bestehen -> ein MC mit allen Tiles die in dem Level benutzt werden mit ID, könntest du dich an den Aufbau eines Gifs orientieren.

Dann kannst du für jedes Tile im Set ein Array anlegen, das wiederum Punkte Besitzt für jedes Auftreten des Tiles. nur wird da die verknüpfung nicht so einfach wie im oben gezeigten Bsp.

grüße

Pixelslave

Geändert von pixelslave (23-01-2008 um 09:48 Uhr) Grund: Hirnerleuchtung
pixelslave ist offline   Mit Zitat antworten
Alt 24-01-2008, 02:26   #3 (permalink)
Animateur
 
Benutzerbild von Master Wu
 
Registriert seit: Jan 2003
Ort: MZ
Beiträge: 1.536
HI Sepiroth,

sorry, raff ich leider nicht wirklich, was du mit diesen Ebenen meinst.
Auch nicht, was du genau meinst mit, dass die Gegner "von hinten" kommen. Meinst du damit rechts oder links oder quasi von aus dem Hintergund auf den Spieler zu? Oder ist das garnicht raeumlich gemeint?
Ehrlich gesagt kapier ich deinen ganzen Post nicht
__________________
there is no way to happiness, happiness is the way - flashgames
Master Wu ist offline   Mit Zitat antworten
Alt 24-01-2008, 08:03   #4 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Ein Spiel mit 3 Ebenen ist in der Regel so aufgeteilt:

- hinterste Ebene Background
- mittlere Ebene deine Spielfiguren und Gegner, Items, etc.
- vordere Ebene kleinere Grafiken

Vorteil daran ist, das alle 3 Ebenen mit einer unterschiedlichen Geschwindigkeit gescrollt werden können.
Und das ganze auch nicht so platt wirkt.

Zitat:
Auch nicht, was du genau meinst mit, dass die Gegner "von hinten" kommen. Meinst du damit rechts oder links oder quasi von aus dem Hintergund auf den Spieler zu? Oder ist das garnicht raeumlich gemeint?
Ist räumlich gemeint.
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 25-01-2008, 00:52   #5 (permalink)
Animateur
 
Benutzerbild von Master Wu
 
Registriert seit: Jan 2003
Ort: MZ
Beiträge: 1.536
Zitat:
Zitat von rendner[i] Beitrag anzeigen
Ein Spiel mit 3 Ebenen ist in der Regel so aufgeteilt:

- hinterste Ebene Background
- mittlere Ebene deine Spielfiguren und Gegner, Items, etc.
- vordere Ebene kleinere Grafiken

Vorteil daran ist, das alle 3 Ebenen mit einer unterschiedlichen Geschwindigkeit gescrollt werden können.
Und das ganze auch nicht so platt wirkt.
Ja ok, parallax-scrolling kenn ich, hat ja aber nix mit meiner Frage zu tun, glaub auch nicht, dass sepiroth parallax-scrolling gemeint hat, oder?

Man kann natuerlich in so einem Spiel auch parallax-scrolling einbauen, aendert aber nichts an dem Problem, dass man trotzdem einen 3D/2,5D-Raum braucht, in dem sich die Figuren bewegen koennen.

wenn das "von hinten kommen" raeumlich gemeint ist, wo ist dann "hinten" in so einem Spiel?
Die Gegner kommen halt von links oder rechts (auf den Bildschirm bezogen )
__________________
there is no way to happiness, happiness is the way - flashgames
Master Wu ist offline   Mit Zitat antworten
Alt 25-01-2008, 11:00   #6 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Ich hatte mir dein Problem nicht angeguckt, ich bezog mich lediglich nur auf den Beitrag vom "Sephiroth" und deinem anschließenden.


Zitat:
wenn das "von hinten kommen" raeumlich gemeint ist, wo ist dann "hinten" in so einem Spiel?
Die Gegner kommen halt von links oder rechts (auf den Bildschirm bezogen )
Das stimmt schon.
Die Illusion das die Gegner von hinten kommen wird dadurch erzeugt das die Gegner in ihrer Größe skaliert werden, während sie auf dich zukommen.

In dem von dir geposteten Spiel, kommt dies anscheinend nicht vor.
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 26-01-2008, 01:20   #7 (permalink)
Animateur
 
Benutzerbild von Master Wu
 
Registriert seit: Jan 2003
Ort: MZ
Beiträge: 1.536
Zitat:
Zitat von rendner[i] Beitrag anzeigen
Das stimmt schon.
Die Illusion das die Gegner von hinten kommen wird dadurch erzeugt das die Gegner in ihrer Größe skaliert werden, während sie auf dich zukommen.

In dem von dir geposteten Spiel, kommt dies anscheinend nicht vor.
eben.
irgendwie laeuft der thread in eine falsche richtung.
__________________
there is no way to happiness, happiness is the way - flashgames
Master Wu ist offline   Mit Zitat antworten
Alt 26-01-2008, 11:57   #8 (permalink)
x39
 
Benutzerbild von georgem
 
Registriert seit: Oct 2004
Ort: St.Gallen, Schweiz
Beiträge: 1.261
Interessante Thread-Frage.

Ich seh es so:

meist haben diese Art von Spiele nur von links nach rechts gescrollt, oder wenn man mal auf einem WarenLift rauffuhr dann auch nach oben, unten (Vendetta z.B.).

Das ganze Spiel ist also vom Bewegungsraum ziemlich eingeschränkt, deshalb würde ich meinen: Ja, es braucht 2,5 D, aber die dritte Dimension muss nur auf den "Boden" angewendet werden, und nicht scheibchenweise bis an die Decke.

In diesen Spielen kollidiert man also nur mit Sachen, oder Personen welche auf dem Boden liegen oder sich bewegen, und dort halt nicht nur nach links und rechts, sondern auch nach "tiefer ins Bild rein" und "mehr aus dem Bild heraus".

Also bestehen solche Spiele eigentlich wie aus zwei im rechten Winkel zueinander stehenden 2-dimensionalen Ebenen:

1) oben beschriebene X/Z-Ebene (links,rechts, und in die Tiefe): hier findet das Spielgeschehen statt

2) X/Y-Ebene: Diese wird wohl hauptsächlich nur für grafische Zwecke verwendet und hat keinen direkten Einfluss aufs Gameplay.

Hoffe das war verständlich ausgedrückt.
__________________
The Sleeper Must Awaken

www.margaris.de | www.exosolar.net
georgem ist offline   Mit Zitat antworten
Alt 27-01-2008, 03:58   #9 (permalink)
Animateur
 
Benutzerbild von Master Wu
 
Registriert seit: Jan 2003
Ort: MZ
Beiträge: 1.536
ja georgem, deinen post hab ich mal kapiert, denke ich zumindest

allerdings kann ich dir nicht so ganz zustimmen.
wie zum Beispiel auf dem 4. angehaengten Bild zu sehen ist (http://www.flashforum.de/forum/attac...2&d=1201051528),
gibt es sehr wohl auch innerhalb eines Levels wirkliche Hoehenunterschiede.
Man kann auf die Kisten hochspringen, die Treppe hochlaufen.
Sowas ist durchaus ueblich in (vielen) solchen Spielen.

So einfach ist es eben imo nicht.
__________________
there is no way to happiness, happiness is the way - flashgames
Master Wu ist offline   Mit Zitat antworten
Alt 27-01-2008, 14:05   #10 (permalink)
x39
 
Benutzerbild von georgem
 
Registriert seit: Oct 2004
Ort: St.Gallen, Schweiz
Beiträge: 1.261
Zitat:
Zitat von Master Wu Beitrag anzeigen
So einfach ist es eben imo nicht.
Ich denke doch, zumindest bei 95% dieser Spiele.

z.B. wurde bei KungFuMaster direkt eine vorgefertigte Animation gestartet wenn man auf die Treppe stieg, oder bei Vendetta konnte man nicht auf viele Objekte draufspringen.... über Streetfighter, Final Fight usw... brauchen wir gar nicht zu reden, oder z.b. The Punisher, alles sehr sehr eingeschränkt.

ok, wie auch immer, ein RIESEN-Array wirst du sicher nicht brauchen, da du ja dann höchstens nochmal 2 oder 3 scheiben in die dritte Dimension reinmachst, wenn es da noch plattformen geben soll.

ürigens spricht ja nichts dagegen diese höher-liegenden oder höher-reichenden Objekte auch in der Boden-Ebene zu definieren. Die kriegen dort halt einfach einen höheren Wert. So lassen sich z.B. Säulen definieren durch die man nicht laufen kann.
Wieso soll man die Säule extra in 100 Teile zerstückeln?
Es gilt einfach: durch oder über die Säule kann sich nichts bewegen, egal wie hoch sie ist. Und wir können jetzt aus der Säule auch easy eine Plattform machen, indem wir ihr einen fixen Wert geben, z.b. 2 meter. Dann kann man draufspringen, aber nachwievor nicht hindurchlaufen.

Ich bleibe also bei meinen 2 senkrecht zueinander stehenden Ebenen.
__________________
The Sleeper Must Awaken

www.margaris.de | www.exosolar.net

Geändert von georgem (27-01-2008 um 14:08 Uhr)
georgem ist offline   Mit Zitat antworten
Alt 29-01-2008, 02:15   #11 (permalink)
Animateur
 
Benutzerbild von Master Wu
 
Registriert seit: Jan 2003
Ort: MZ
Beiträge: 1.536
hehe, kunfumaster, das is aber echt was ganz anderes als double dragon

aber das mit der hoehe in der bodenebene definieren hoert sich gut an.
muss das mal durchdenken.
Danke fuer die Anregung!
__________________
there is no way to happiness, happiness is the way - flashgames
Master Wu ist offline   Mit Zitat antworten
Alt 29-01-2008, 15:20   #12 (permalink)
x39
 
Benutzerbild von georgem
 
Registriert seit: Oct 2004
Ort: St.Gallen, Schweiz
Beiträge: 1.261
bitte, gern geschehen,

und: ohne kungfumaster gäbs kein double dragon und kein gar nichts! :-)
__________________
The Sleeper Must Awaken

www.margaris.de | www.exosolar.net
georgem ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

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



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:13 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele