Pseudo 3D Racing Game

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

CodeFish

Betreff: Pseudo 3D Racing Game

BeitragDo, Jul 20, 2006 9:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, für alle die diese Spiele nicht kennen, die gibts auf GameBoy, NES, SNES usw. bsp: Formel 1 Race oder Out Run. So jetzt dürfte jeder wissen was ich meine oder? Und das es die auch auf einem S/W GameBoy schon gab, muss die ja irgendwie zu programmieren sein, weis blo nicht wie?
Kennt jemand die nötigen Routinen dazu?

Hir mal mein eigener Versuch es zu evrdeutlichen wo ich hin will:

Code: [AUSKLAPPEN]

Graphics 320,240
SetBuffer BackBuffer()

; Daten

SX = 160
SY = 240

ZX = 160
ZY = 100

M1X = 160
M1Y = 190

M2X = 160
M2Y = 150

M3X = 160
M3Y = 120

; Hauptprogramm

Repeat

   Cls

      ; Mitte
      Line (SX,SY,M1X,M1Y)
      Line (M1X,M1Y,M2X,M2Y)
      Line (M2X,M2Y,M3X,M3Y)
      Line (M3X,M3Y,ZX,ZY)
      
      ; Links
      Line (SX-130,SY,M1X-100,M1Y)
      Line (M1X-100,M1Y,M2X-75,M2Y)
      Line (M2X-75,M2Y,M3X-50,M3Y)
      Line (M3X-50,M3Y,ZX-25,ZY)
      
      ; Rechts
      Line (SX+130,SY,M1X+100,M1Y)
      Line (M1X+100,M1Y,M2X+75,M2Y)
      Line (M2X+75,M2Y,M3X+50,M3Y)
      Line (M3X+50,M3Y,ZX+25,ZY)
      
      If KeyDown (203) Then
         ZX = ZX - 4
         M1X = M1X - 1
         M2X = M2X - 2
         M3X = M3X - 3
      EndIf
         
      If KeyDown (205) Then
         ZX = ZX + 4
         M1X = M1X + 1
         M2X = M2X + 2
         M3X = M3X + 3
      EndIf
            
      Line (SX-130,SY-1,SX+130,SY-1)
      Line (M1X-100,M1Y,M1X+100,M1Y)
      Line (M2X-75,M2Y,M2X+75,M2Y)   
      Line (M3X-50,M3Y,M3X+50,M3Y)   
      Line (ZX-25,ZY,ZX+25,ZY)
                  
   Flip

Until KeyHit(1)

End

Rone

BeitragDo, Jul 20, 2006 10:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

Also auf dem Snes kam ja meisten der sogenannte"MODE7" effekt zum Einsatz( F-Zero, Mario Kart), der ja um einiges fetter kommt als die Psoudo3d Effekte vom MegaDrive oder gar Nes.
Dabei handelt es sich glaube ich um einen einfachen Raytracer, der nur den Boden zeichnet. Oder anders gesagt ein TileMap wird perpektivisch verzerrt/gekippt ...
Hier gibt es ein gutes Tutorial drarüber, was die Grundlagen Schritt für Schritt erklärt und diesen Effekt für GameBoyAdvance in C++implementiert. (Hier im Forum gibt es glaube ich auch raytracer Samples, wobei hier ja nur die Bodentexturierung zählt...)

Einfacher und performanter geht das aber mit Blitz3d: Z.B. einfach ein Tilemap in 3d aufbauen(plane-mäßig), Sprites darauf , Hintergrund mit 2d Befehlen darüber und niedriege Auflösung(320x240)...schon hat man einen netten Retro Effekt Wink (Mit B2d kommt aber irgendwie stylelischer, schließlich haben die das ja früher auch selbst gemacht...)

Solltest du es schaffen "Mode7" in B2d hinzugriegen, wäre ich dir sehr dankbar wenn du die Code hier postst...Smile

Sowas wie OutRun hat hier schon mal jemand mit B2D gemacht, ist mainer Meinung nach aber nicht mit "Mode7" zu vergleichen(schlechterer 3d Effekt, schlechteres Geschwindigkeitgefühl, schlechtere GameplayMöglichkeiten)

mfg
Rone
 

CodeFish

BeitragDo, Jul 20, 2006 11:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke erstmal, aber an einem Mode7 wollte ich mich noch nicht probieren, und das mit dem Raytracer ist mir noch etwas zu schwer und übersteigt die Notwendigkeit. Wenn ich erstmal sowas wie das gezeigt Outrun, Jaguar XJ220(Amiga/MCD) oder auch AfterBurner (SMS) bzw. PolePosition hinbekomme wäre das schonmal ein Anfang.
Und wenn etwas auf den 4Bit GB läuft sollte es doch auch für Blitz2D möglichsein. Klar Blitz3D ist einfacher aber bei BlitzMax & Blitz2D ist noch selbermachen angesagt.

Beim GBA ist aber das Problem das der Mode7 Hardwareseitig unterstützt wird, ein QuellText zb für GP32 wäre da interessanter weils dort nicht Hardwareseitig unterstützt wird und erst von der Software geschrieben werden muss.

Wer mich mal in den Code einarbeiten den du gelinkt hast, mal schauen was ich hinbekomme.

Rone

BeitragDo, Jul 20, 2006 13:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Beim GBA ist aber das Problem das der Mode7 Hardwareseitig unterstützt wird, ein QuellText zb für GP32 wäre da interessanter weils dort nicht Hardwareseitig unterstützt wird und erst von der Software geschrieben werden muss.

Nee ich glaube das war nur beim Snes der Fall, beim GBA muss man das selber berechnen...
Der GBA hat fünf VideoModes(0,1,2,3,4): Die ersten drei basieren auf die Hardware Tile-Engine( funktioniert wie eine kompakte standart Tile-Engine) und die letzten beiden sind ganz normal, vergleichbar mit dem PC.

Zitat:
On the GBA, however, you only have the general 2D transformation matrix P and displacement dx at your disposal and you have to do all the perspective calculations yourself. ... Effectively, you're building a very simple ray-tracer.


mfg

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group