Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Mai 21, 2024 16:40

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Shoot ’em up: Hintergrund in 2D/3D
BeitragVerfasst: Sa Mai 11, 2013 20:28 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Okt 03, 2007 14:22
Beiträge: 388
Hi,

jeder kennt sicher die klassischen Shoot ’em up-Spiele, bei denen man mit einem Raumschiff rumfliegt und gegnerische Schiffe abschießen muss. Diese Spiele benutzen meistens eine Art Vogelsperspektive (vereinfacht bezeichne ich diese im Folgenden als 2D-Modus), wobei man dort dann als Hintergrund mehrere Texturen übereinanderblenden und bewegen kann, um einen Bewegungseffekt zu erzielen. Doch was wäre denn das Analogon, wenn man einfach die Kamera hinter das Raumschiff setzt (im Folgenden nenne ich das vollen 3D-Modus) ? Aufgrund der verschiedenen Ebenen des Hintergrunds beim 2D-Modus, hat man kinderleichte Möglichkeiten, viele Details einzubauen. Doch um diese Detailkraft zu erzielen bräuchte man im vollen 3D-Modus viel zu viele Objekte, der Aufwand stünde in keinem Verhältnis, denn Texturen auf eine Skysphere zu setzen bringt nichts, da diese sich ja nicht bewegt. Daher meine Frage: Welche Tricks benutzt man um einen Bewegungseffekt im vollen 3D-Modus zu erzielen ?

Gruß,
Nils

_________________
Meine Musik: spiker-music.net


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa Mai 11, 2013 22:01 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Also wenn es nur 3D Effekt sein soll, dann ist eine typische Ansicht:
* Isometrisch - so wie in Spielen wie Emergency, Jagged Alliance 1/2, Rollercoaster Tycoon, Sims, Prince of Persia, etc. Bewegungseffekte sind hier eigentlich kein Problem.
* Flach dahinter, dann ist etwas was sich in irgendeinerform perspektivisch auf dich zubewegt ganz gut - linien, sterne, etc. so wie im Sterne-Bildschirmschoner den es zu Win95/NT4 Zeiten gab, oder vielleicht wie in Grand Prix Circuit oder Fullthrottle bzw. Fullthrottle (wirkt wie leicht schräg von oben, ist aber in der zentralperspektive und nicht iso)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Mai 12, 2013 09:04 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Zitat:
sterne, etc. so wie im Sterne-Bildschirmschoner den es zu Win95/NT4 Zeiten gab

Das ist nicht unüblich. Beispielsweise bei Freelancer gab es kleine Weltraumstaubpartikel:
http://www.youtube.com/watch?v=jvZktDG4x2s
In Freelancer gibt es auch Asteriodienfelder, Nebel und ähnliches um für Abwechslung zu sorgen.

Beachte das die 3D-Perspektive zwar optisch cooler aussieht, ABER du auch die Entfernung der Gegner deutlich schlechter schätzen kannst, wenn sich die Kamera hinter dem Spieler befindet. Also die Vogelsperspektive (kann ja auch 3D sein) ist notwendig, wenn du einen klassisches Shoot ’em up-Spiel bauen willst.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Mai 12, 2013 09:41 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Okt 03, 2007 14:22
Beiträge: 388
Die 3D-Perspektive sieht ohne Zusatzarbeit nicht mal wirklich cooler aus, denn durch den 2D-Effekt ist die Grafik automatisch schöner, da man einige Unschönheiten einfach nicht so sieht. Ich entwickle das quasi parallel, habe einfach zwei Modi implementiert. Der 3D-Modus ist mehr eine Spielerei, denn frei rumfliegen kann man nicht und wird man auch nie können, denn das ist genau das was den Zeitaufwand wieder so ansteigen lässt, dass ich genau weiß dass es nie fertig wird. Die Geschoss-"Physik" ist natürlich voll in 3D implementiert, damit man sich nicht für später einschränkt und eventuell auch so Sachen wie Sprünge problemlos einbauen kann. Die Flug-Physik ist aber deutlich schwieriger und daher beschränke ich die Beweglichkeit wie es in den meisten dieser Spiele üblich ist.

Das gesamte Spiel ist natürlich voll in 3D implementiert, nur die Beweglichkeit ist eingeschränkt und man schaut von oben drauf. Aber auch von oben drauf sieht man dass es 3D ist, nämlich wenn sich das Raumschiff beim Fliegen nach links/rechts entsprechend neigt. Habe einfach festgestellt dass es leichter ist, richtige 3D-Modelle zu erzeugen als 2D-Animationen zu basteln. Ein weiteres Problem ist auch das Erscheinen von Raumschiffen - in 3D kann man weit schauen, in 2D eben nicht. Sind wirklich Probleme über Probleme die man im vollen 3D hat. Habe mich aber gestern einfach gefragt, wie das geht, hatte nicht mal ansatzweise eine Idee und irgendwie muss das in anderen Spielen, die es voll in 3D machen, ja auch gehen.

Im Anhang mal die beiden Perspektiven gegeneinander. Bei 2D bewegt sich der Hintergrund, bei 3D bewegt sich gar nichts. Vorteil von 3D ist halt, dass die Textur auf eine Skysphere geklatscht ist, daher sieht es finde ich ein wenig dynamischer noch aus, weil man wohl mehr auf einmal von der Textur sieht. Der Screenshot vom 3D-Modus ist übrigens an einer anderen Stelle gemacht als der vom 2D-Modus, das heißt die Gegner-Schiffe sind tatsächlich verschieden, ist kein Fehler. Für 2D ist die Raumschiff-Größe übrigens überdimensioniert, Ihr könnt Euch sicher vorstellen, wie oft ich deshalb schon selbst mein Schiff zu Schrott geflogen habe :mrgreen: - wird natürlich noch angepasst. Horizontal wäre auch eine Idee, aber mag das nicht so.
Wenn es mal in Richtung fertig geht, mache ich ein Projekt-Thema dazu auf, selbst wenn das Spiel sogar schon spielbar ist, ist es dafür aber jetzt noch zu früh, wenn ich schon was vorstelle, dann soll das in keinem toten Thema enden.


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

_________________
Meine Musik: spiker-music.net


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Mai 12, 2013 10:07 
Offline
DGL Member

Registriert: Di Jun 12, 2012 21:26
Beiträge: 112
Programmiersprache: Delphi
Bei 2d Shootern oder Platform Games werden/wurden verschwinde Layer benutzt, die dann einfach übereinander gerendert werden. Der am weitesten entfernte Layer scrollt langsamer als die davorliegenden, und dadurch entsteht ein schöner Bewegungseffekt. Bei verschiedenen Emulatoren kann man in Spielen einzelne Layer deaktivieren. Dadurch sieht man schön, wie das Prinzip funktioniert.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Mai 12, 2013 10:46 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Auf YT gibts ne tolle doku zur entwicklung der Shooter:
https://www.youtube.com/watch?v=7hipSgQ7MQg

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.032s | 17 Queries | GZIP : On ]