GLBasic forum

Other languages => GLBasic - de => Topic started by: Schranz0r on 2011-Jul-01

Title: Tutorialserie, was würde euch interessieren ?
Post by: Schranz0r on 2011-Jul-01
Hi Leute,

da ich aktuell grad Abends immerwieder ein wenig Luft habe, um zu programmieren, würde ich gerne mal ein paar Tutorials in verschiedenen Richtungen machen. Gibts irgendwelche Vorschläge?

Mein erster Vorschlag:

Tilemaps:
- Parallaxscrolling, was ist das, wie setzt man es in GLB um
- Wie zeichne ich nur das, was ich auf dem Bildschirm sehe ( Performanceboost ^10 bei großen Maps)
- Kollision Spieler - Map
- Speichern/Laden von Tilemaps
Title: Re: Tutorialserie, was würde euch interessieren ?
Post by: S.O.P.M. on 2011-Jul-01
Sehr interessantes Thema, welches mich selbst gerade beschäftigt. Eigentlich würde mich alles davon interessieren.
Gerne hätte ich mal eine Einschätzung von dir, ob meine Technik, eine Map zu zeichnen und zu laden schon gut ist oder ob man da noch vieles besser
machen könnte. Dazu habe ich mal eine Demo angefügt, wo man mit Link über ein Stückchen einer Zelda-Map laufen kann.
Die Tiles sind vom SNES Zelda genommen und der Link von der Gameboy Version ; )
Vielleicht mögest du dir das mal genauer anschauen.

[attachment deleted by admin]
Title: Re: Tutorialserie, was würde euch interessieren ?
Post by: WPShadow on 2011-Jul-01
Also für mich ist interessant:

2D: Bewegung im 2D --> z.B. hereinfliegende Objekte, Beschleunigung, Verzögerung, Flugbahnen

3D: "LOD" mit verschiedenen Modellen selbst gebaut
       der richtige Einsatz von Nebel und Hintergrund
       Collision richtig eingesetzt
Title: Re: Tutorialserie, was würde euch interessieren ?
Post by: Schranz0r on 2011-Jul-01
@S.O.P.M.:

Hi, also ich muss sagen das sieht schon alles recht ordentlich aus. Wenn du allerdings größere Maps hast und diese dann mit deinen 5 Layern zeichen willst sagen die FPS gutenacht :)
Da darfst du wirklich nur das zeichnen, was auch sichtbar ist.
Das mit dem Dimdata ist eigentlich ne coole Sache, so hast du deine Map im Hardcode. Allerdings habe ich das so noch nicht gemacht, so das ich nicht sagen kann wie sich das auf dein Game auswirkt...

@WP:

War klar das du wieder in die Vollen gehst :D
Title: Re: Tutorialserie, was würde euch interessieren ?
Post by: WPShadow on 2011-Jul-01
Erwartest du etwas anderes von mir? *lol*
Title: Re: Tutorialserie, was würde euch interessieren ?
Post by: Schranz0r on 2011-Jul-01
Ehrlich gesagt...





























nein! :D
Title: Re: Tutorialserie, was würde euch interessieren ?
Post by: Antidote on 2011-Jul-02
schön, dass Du so eine Frage stellst ;)

- Kollision Spieler - Map
- Speichern/Laden von Tilemaps

Eigentlich sind alle Themen interessant, aber für mich als Anänger wären diese Themen sehr wichtig.

regards
Antidote
Title: Re: Tutorialserie, was würde euch interessieren ?
Post by: S.O.P.M. on 2011-Jul-02
Quote from: Schranz0rHi, also ich muss sagen das sieht schon alles recht ordentlich aus. Wenn du allerdings größere Maps hast und diese dann mit deinen 5 Layern zeichen willst sagen die FPS gutenacht
Da darfst du wirklich nur das zeichnen, was auch sichtbar ist.
Das mit dem Dimdata ist eigentlich ne coole Sache, so hast du deine Map im Hardcode. Allerdings habe ich das so noch nicht gemacht, so das ich nicht sagen kann wie sich das auf dein Game auswirkt...
Danke für deine Rückmeldung. Also in meiner Demo zeichne ich tatsächlich nur das, was auch sichtbar ist, jedoch genau 1 Reihe Tiles horizontal und vertikal mehr, als auf den Screen passt. Das mache ich deshalb, damit, wenn die erste Reihe Tiles vorne bzw. oben nicht vollständig im Screen ist, man hinten bzw. unten keinen Leerraum bekommt. Trotzdem habe ich eine CPU Auslastung zwischen 30-40% bei dieser Demo. Allerdings kann mein Grafikadapter OpenGL nicht vollständig, was auch ein Grund dafür sein könnte. Joa das mit den Map Daten direkt im Quellcode war nur für die Demo, in einem richtigen Spiel würde ich das auch lieber mit einer seperaten Datei beigeben.
Title: Re: Tutorialserie, was würde euch interessieren ?
Post by: Schranz0r on 2011-Jul-02
@ S.O.P.M. :

Du machst aber einen großen Fehler bei deinem "Zeichnen was man sieht" !
Du zeichnest von 0 bis rechtes/unteres Tiles + ein Tile extra + Scrollfortschritt, so ist das falsch.
Du zeichnes irgendwann so viel, das die FPS in den Keller rutschen.

Wow, drei Sätze die mit "Du" anfangen :D, ist das ein inoffizieller Rekord?! xD

@ Antidote:

So ein Anfänger bist du nun wohl auch nimmer, bist doch auch schon ne Zeit lang dabei :)
Aber OK, ich mache als nächstes Speichern und Laden der Maps.
Dafür irgendwelche Wünsche?
Title: Re: Tutorialserie, was würde euch interessieren ?
Post by: S.O.P.M. on 2011-Jul-06
Quote from: Schranz0rDu machst aber einen großen Fehler bei deinem "Zeichnen was man sieht" !
Du zeichnest von 0 bis rechtes/unteres Tiles + ein Tile extra + Scrollfortschritt, so ist das falsch.
Du zeichnes irgendwann so viel, das die FPS in den Keller rutschen.
Wenn du meinen Code richtig verstanden hast, dürftest du nicht zu dem Schluss kommen, ich würde immer bei 0 anfangen zu zeichnen. Ich zeichne immer so viele Kacheln, wie in den Bildschirm passen + eine Kachel extra. Nicht mehr und nicht weniger. Dabei spielt es keine Rolle, wie groß die Map ist. Auf dem Bildschirm fange ich natürlich bei 0 bzw. bei einem Minusbetrag, maximal der Größe einer Kachel - 1, an zu zeichnen. Schließlich möchte ich ja den aktuellen Kartenausschnitt im gesamten Fenster darstellen. Oder zeichnest du etwa nur die Kacheln, die neu in den Bildschirm hinein kommen und verschiebst den Rest nur? Wenn ja, denn hätte ich deinen Code nicht verstanden.

Naja seien wir ehrlich: die beste Variante wäre, gar nichts zu zeichnen, denn dann hätten wir die maximale Performance, wenn auch wir nichts dabei sehen xD
Title: Re: Tutorialserie, was würde euch interessieren ?
Post by: Schranz0r on 2011-Jul-06
OK schau mir nochmal deinen Code an, auch wenn ich es jetzt so nicht ganz verstehe aber naja ;D
(du hast immer FOR 0 TO teile_die_man_sieht, läufst du jetzt aber weiter rechts zeichnest du immernoch von Teil 0 bis bildschirmende....)


Ja ich schiebe alles und zeichne auch nur das was auch wirklich sichtbar ist und wenns nur ein pixel sichtbar ist wird der Block schon gezeichnet :)

Man kann es wohl auch noch anders/eleganter lösen, aber ich bin selber kein Mathegenie, weshalb ich jetzt die einfache Methode gewält habe.
Title: Re: Tutorialserie, was würde euch interessieren ?
Post by: S.O.P.M. on 2011-Jul-06
Nur nochmal zum Verständnis: Unter "Schieben" verstehe ich, nicht alle einzelnen Tiles zu zeichnen, sondern die zu verschiebenden Tiles in einen Buffer zu kopieren und 1 Pixel versetzt wieder auszugeben. Aber lass uns das besser alles vergessen, denn das lässt sich schon wie ich befürchte, schriftlich nicht entgültig klären. Deinen Code verstehe ich jedenfalls nicht, nachdem, was du über dein Prinzip sagst. Verbuchen wir das also unter "Egal".
Title: Re: Tutorialserie, was würde euch interessieren ?
Post by: Schranz0r on 2011-Jul-07
Achsoooooo machst du das!

Du bescheisst das Array immer um die Scrollposition/tilesize + Teile pro Screen
Auch ne möglichkeit, wie machst du aber den schluss damit es kein Array out of bounds gibt? :/
Title: Re: Tutorialserie, was würde euch interessieren ?
Post by: S.O.P.M. on 2011-Jul-07
Freut mich, dass du mein Prinzip verstanden hast :) Um nicht über die Array-Grenzen zu kommen, frage ich vor dem Zeichnen jedes Tiles einfach ab, ob ich noch innerhalb des Arrays bin. In einem richtigen Spiel dann wäre es natürlich sinnvoll, diese überflüssige Abfrage wegzulassen und wie bei dir dafür zu sorgen, dass das Ende der Map gar nicht erst ins Bild kommen kann.
Title: Re: Tutorialserie, was würde euch interessieren ?
Post by: felix330 on 2011-Jul-09
Ich fände ein Kollision Spieler - map tutorial sehr interessant, über sowas würde ich mich wirklich freuen. :)
Title: Re: Tutorialserie, was würde euch interessieren ?
Post by: Corax on 2011-Jul-11
Mich würden Funktionen für Roguelikes interessieren, wie z.B. eine LOS-Routine.
Ausserdem wüsste ich gerne, wie man eine KI für Spiele wie "Empire" programmiert.
Title: Re: Tutorialserie, was würde euch interessieren ?
Post by: blastar on 2011-Jul-14
hallo Schranz0r,
für die meisten deiner voschläge sind hier im forum lösungen oder zumindest ansätze zu finden. viele die mit dem enwickeln von spielen anfangen (egal welche sprache) stolpern am anfang über die frage "wie organisiere ich das spiel?"... ladescreen -> mainsceen -> options -> ingame -> gameover -> highscore usw. wie wäre es dann einmal mit einem tutorial welches in richtung grundlagen abzielt?
Title: Re: Tutorialserie, was würde euch interessieren ?
Post by: Schranz0r on 2011-Jul-14
Hi blastar,

das ist eine sehr gute Idee!
Wie immer führen auch hier viele Wege nach Rom. Ich werde mal meinen Lösungsansatz dazu schreiben.
Es dürfen auch gerne andere ihren Code dazu posten, Threads splitten ist kein Problem, also einfach hier rein!