Jump & Runspiel - Problem: Performance



  • Hallo ihr,
    Ich habe mich vor einiger Zeit mal hingesetzt und mich dazu entschieden ein Spiel zu programmieren. Ein Jump&Run- Spiel.
    Nun ist es so, dass ich als erstes einen Leveleditor programmiert habe.
    Dieser erlaubt es mir verschiedene Texturen auf dem Bildschirm hin und her zu verschieben und ihre Größe zu verändern.
    Das bedeutet, dass ich mit Hilfe des Editors alle x und y Koordinaten der verschiedenen Wände später im Spiel bekomme.
    Nun gibt es jedoch folgendes Problem:

    Im späteren Spiel wird es so sein, dass ich eine recht große Map habe, die auch scrollen soll.
    Diese Map sollte irgendeine Zeichenfläche sein (Eine TBitmap mit 4000x4000 Pixlen?)
    Das Problem ist, dass wenn sich im späteren Spiel etwas bewegt ja erst ALLES andere gelöscht.
    Dann alles andere neu gezeichnet und die eine Sache verändert werden muss.
    Das ganze funktioniert- braucht aber übelst viel Performance.
    Der PC muss dann ja um einen flüssigen Spielverlauf zu bewerkstelligen 20Mal pro Sekunde eine 4000x4000 Pixel große Bitmap neu zeichnen nur um einen kleinen Männekes zu bewegen^^

    Hat einer von euch eine Idee, wie ich das anders realisieren kann????

    cya
    David

    PS: 🙂 🙂 🙂 🙂 🙂



  • naja... also ich rate dir auf alle fälle von einer 4000 mal 4000 großen bitmap ab 🙂 nimm eine die so groß wie die bildfläche is und blitte darauf nur die Teile der Welt die du wirklich sehen kannst. d.h. die bitmap srollt ncih, sondern der Inhalt. Dann mussdu schon nicht mehr so viel malen.

    Wenn du doch die 4000*4000 nehmen willst, mach es so wie früher zu qucikbasic zeiten: speichere den Hintergrund wo deine figur drüber is (natürlich bevor du die figur malst), male deine Figur. Im nächsten Frame malst du den hintergrund an die alte stelle, damit wird die figur gelöscht und du speicherst den neuen hintergurnd, wo die figur jetzt erscheinen wird. Dann malst du wieder die figur und immer so weiter



  • Ich denk der erste Tip war schon etwas besser- ich überlegt das mal- aber es muss doch noch irgendwas richtig gutes geben, weil Leute die Mario Programmieren haben auch jede Menge Mapscrolling und diese Spiele laufen noch auf 486ern...



  • 777 schrieb:

    Der PC muss dann ja um einen flüssigen Spielverlauf zu bewerkstelligen 20Mal pro Sekunde eine 4000x4000 Pixel große Bitmap neu zeichnen nur um einen kleinen Männekes zu bewegen^^

    Nein, es reicht voellig aus, den sichtbaren Bereich zu zeichnen. f'`8k

    Autocogito

    Gruß, TGGC (\-/ has leading)


Anmelden zum Antworten