Wie ist ein Rennspiel aufgebaut?

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

faggie

Betreff: Wie ist ein Rennspiel aufgebaut?

BeitragMi, Okt 11, 2006 19:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!

Mich würde mal interessieren, wie eine Map eines 2D-Rennspiels (Beispiel) aufgebaut ist.

Eine Tilemap geht ja schlecht, aber andere Methoden sind mir gar nicht bekannt. Embarassed

Gruß,
faggie
 

Dreamora

BeitragMi, Okt 11, 2006 20:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Was spricht gegen eine Tilemap im weitesten Sinne?

Es sagt ja niemand, das man sie so zusammenbauen muss, wie zb bei einem RPG.

Bei einem Rennspiel wäre eine Tilemap nur dazu da, das X x Y grosse Bild in "renderbare Blöcke" zu unterteilen und im Falle von BM wo alles 3D ist: Um das Bild in handliche quadratische Potenz von 2 Blöcke (256x256 oder 128x128 am wahrscheinlichsten) zu zerschnippseln und nur die zu zeichnen, die aktuell im Bild sind.

Die Tilemap würde also auf ein System reduziert, das "Texture chunking" betreibt, also eine Art "Supertextur"
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Markus2

BeitragDo, Okt 12, 2006 12:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Strecken würde ich dazu in einem 3D Programm wie Cinema4D erstellen
und rendern .

D2006

Administrator

BeitragDo, Okt 12, 2006 12:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Es wird ein großes Bild erstellt und darauf erstmal die Tiles gemalt. Dann die Strecke, dann die Abgrenzungen. Dann wird das große Bild in 64x64 große Tiles zerlegt und ganz normal als Tilemap angezeigt.

So richtig toll finde ich die Methode nicht, weil richtig große Strecken auch richtig viel Speicherplatz brauchen, aber damals fiel mir nix besseres ein. Smile

PS: Ist übrigens mit BlitzPlus geschrieben und der Editor dazu ist natürlich maßgeschneidert.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

faggie

BeitragDo, Okt 12, 2006 16:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für eure Antworten!

@Dreamora: Ich habe leider nur die Hälfte davon verstanden. Kann es sein, dass du das gleiche meinst, wie D2006?

@Markus2: Ich habe kein 3D-Programm und ich will auch keins. Wink

@D2006: Das ist mir auch als erstes in den Sinn gekommen, aber was ist denn, wenn ich eine kleine Tiles-Grafik habe und auf dieser ist nur zur Hälfte eine Abgrenzung, weil diese Abgrenzung im Ganzen eine große Kurve darstellt?

Ich könnte natürlich ganz viele und ganz kleine Tiles verwenden, aber erstens ist mir das zu unelegant und zweitens ist es immer noch nicht so genau.

D2006

Administrator

BeitragDo, Okt 12, 2006 16:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich habe keine Tileskollisioin verwendet, wenn du das meinst. Habe die Abgrenzungen in Types gespeichert und dann die Kollision damit gemacht.

und ja, Dreamora meinte das gleiche wie ich. Hab es als Entwickler nur bestätigt Smile
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

faggie

BeitragDo, Okt 12, 2006 17:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Das hat mich ja auch so verwirrt: Wieso sollte man eine Tilemap verwenden, wenn man von Tilekollisionen kein Gebrauch nimmt? Wieso zeichnet man dann nicht sofort ein ganzes Bild auf den Bildschirm? Wozu die Tiles?

Und kannst du vielleicht erläutern, wie du die Abgrenzungen in Types gespeichert hast? Das wäre ja im Prinzip schon die Frage von ganz oben gewesen. Wink

Vielen Dank nochmal!

D2006

Administrator

BeitragDo, Okt 12, 2006 17:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Zeichne mal ein 2048x2048 Bild auf den Bildschirm. Das ist sau lahm. Und es muss gar nicht sau lahm sein, denn eigentlich kann man ja nur den Teil des Bildes sehen, der in die Auflösung passt. Ressourcenverschwendung hoch 10. Deswegen gibt's tilemaps.

Tilemap beschreibt ja erstmal die Darstellungsweise und vorallem die interne Datenstruktur. Mit der Kollision hat das erstmal nix zu tun.

Für die Kollision speicher ich pro Abgrenzung 4 Linien. Nämlich genau das Rechteck, was die Abgrenzung ja bildet. Zur Kollisionserkennung selbst nutze ich Vektorrechnung auf Basis der LinesIntersect Funktion von blitzbase.de
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

faggie

BeitragDo, Okt 12, 2006 17:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, D2006, jetzt hab ich's vertstanden. Wink


D2006 hat Folgendes geschrieben:
Zeichne mal ein 2048x2048 Bild auf den Bildschirm. Das ist sau lahm. Und es muss gar nicht sau lahm sein, denn eigentlich kann man ja nur den Teil des Bildes sehen, der in die Auflösung passt. Ressourcenverschwendung hoch 10. Deswegen gibt's tilemaps.
Da habe ich dich missverstanden, bzw ich habe gerade eine Map im Kopf gehabt, bei der man nicht scrollt, sondern dass man die komplette Map immer Auge hat. So wie es bei deinem Spiel der Fall ist, hast du natürlich recht.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group