Idee für ein SDL Autorennspiel gesucht



  • Hallo,

    ich versuche ein 2D Autorennspiel mit SDL zu erstellen.
    Das Menü steht schon zu 80%.

    Mein Problem ist, daß ich nicht weiß wie ich die Strecke & Landschaft machen soll.

    Ziel ist es, daß man eine Ansicht von oben auf sein Fahrzeug hat. Diese Zeigt dann auch einen Ausschnitt der Strecke & Landschaft, welcher mitscrollen soll, so daß das Fahrzeug in der Nähe des Bildschirmrandes ist. wenn man z.B. nach rechts fährt soll das Fahrzeug möglichs links sein und umgekehrt um eine gewisse Vorausschau auf die Strecke zu haben.

    Nun weiß ich bei manchen Dinegen nicht weiter:
    - soll die Strecke eine einzige Textur sein (mit riesen Auflösung z.B. 10000 x 10000 Pixel) oder aus vielen Kleinen Texturen bestehen?
    - wie funktioniert das Scollen?
    - wie soll die Kollisionsabfrage mit Hindernissen der Strecke & Landschaft geschehen?

    Als erste Idee habe ich folgendes gemacht:
    Ich hab eine Klasse Street welches ein array des Typs StreetElement hat. Ein StreetElement hat Anfangs und Endvektor, Informationen zu Breite und Krümung am Anfang und am Ende.
    So kann ich die Strecke aus Stücken zusammensetzen. Leider ist es Mühselig das im Code zu machen.

    Ich hab dann also Linien für Mittellinie und den Rand der Fahrbahn die ich zeichnen lassen kann. Wie bekomme ich eine Straßen-Textur darauf?

    Was haltet ihr von dem Ansatz?
    Vorschläge?

    Gruß Stefan


  • Mod

    bis 4096*4096 koenntest du die strecke als ein TGA reinladen, das wuerde vieles erstmal sehr einfach machen.
    die 24bit die die color darstellen, kannst du dann normal zeichnen.
    die 8bit vom alpha kannst du fuer verschiedene infos nutzen, z.B.
    1 bit fuer (nicht) befahrbare bereiche
    1 bit fuer glaette
    1 bit fuer speedup
    1 bit fuer raues gelaende (z.b. kopfsteinpflaster, sodass man wegrutscht wenn man zu schnell ist)
    usw.

    du kannst dir beim laden diese bitmaps in ein besseres format umwandeln. aber als erster ausgangspunkt waere das ausreichend.


Anmelden zum Antworten