Ergebnis 1 bis 13 von 13

Thema: Tutorialidee: "RGSS games from scratch"

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Tutorialidee: "RGSS games from scratch"

    Bei meiner Arbeit an RbRgss (wer es auf dem BMT nicht mitbekommen hat: eine Version von RGSS, die auch auf Linux und Mac läuft) kam mir eine Idee für eine Tutorialreihe und mich würde mal interessieren, ob ihr sowas lesen wollen würdet.

    RGSS ist an sich eine recht generische Engine für 2D-Spiele, mit der man ohne Probleme auch Point & Click Adventures, Beat 'em Ups und Puzzlegames erstellen könnte. Der RPG Maker XP/VX/Ace bringt da lediglich noch ein paar zusätzliche Skripte mit, die die Engine auf RPGs zuschneiden. Die Tutorials würden sich damit befassen, wie man Spiele entwickelt, die keinerlei Funktionen nutzen, die direkt vom Maker kommen. Vorteil daran ist, dass man tatsächlich auch komplett ohne den Maker arbeiten kann. Man braucht lediglich die Runtime, also Game.exe, RGSS_**.dll und Game.ini. Alles Andere lässt sich in einem beliebigen Texteditor schreiben.

    Ein kurzes Minimalbeispiel:

    Code (Ruby):
    sprite = Sprite.new
    bitmap = Bitmap.new 'Graphics/Characters/042-King01'
    sprite.bitmap = bitmap
    sprite.src_rect = Rect.new(0, 0, bitmap.width / 4, bitmap.height / 4)
     
    frame = 0
    ANIM_SPEED = 0.1
    MOVE_SPEED = 3
    while true
      Input.update
      if Input.press?(Input::UP)
        sprite.y -= MOVE_SPEED
        sprite.src_rect.y = 3 * sprite.src_rect.height
        frame += ANIM_SPEED
      end
      if Input.press?(Input::LEFT)
        sprite.x -= MOVE_SPEED
        sprite.src_rect.y = 1 * sprite.src_rect.height
        frame += ANIM_SPEED
      end
      if Input.press?(Input::RIGHT)
        sprite.x += MOVE_SPEED
        sprite.src_rect.y = 2 * sprite.src_rect.height
        frame += ANIM_SPEED
      end
      if Input.press?(Input::DOWN)
        sprite.y += MOVE_SPEED
        sprite.src_rect.y = 0 * sprite.src_rect.height
        frame += ANIM_SPEED
      end
     
      sprite.src_rect.x = (frame.to_i % 4) * sprite.src_rect.width
      Graphics.update
    end


    Zeigt ein Charaktersprite an, das sich über den Bildschirm bewegen lässt.

    Edit: Kleinigkeit im Code gefixt. Da war noch was RbRgss-spezifisches drin, was nicht nötig war.

    Geändert von DFYX (10.03.2013 um 21:26 Uhr)

  2. #2
    Ich fände es interessant solche Tutorials zu lesen, auch wenn ich das nicht umittelbar brauche (Habe schon Erfahrung mit Programmiersprachen und auch einige kleine Skripte im XP-RGSS umgesetzt). Ich denke aber, dass gerade Anfänger damit lernen könnten, wie RGSS funktioniert etc. Und vllt gibts dadurch ja auch mehr Variationen im Gameplay. Also ich find die Idee super^^.

  3. #3
    Dieses Tutorial würde mich interessieren.
    Ich bin dann gespannt, was noch alles aus dem ACE rauszuholen ist.

    netwarrior

  4. #4
    Das wäre überragend! Würde ich definitiv lesen.
    Es ist immer gut Informationen von Leuten zu erhalten, die mehr zu einem umfangreichen Thema wie diesem wissen. Vielleicht ließe sich das Ergebnis auch als Diskussionsgrundlage für Vertiefungen nutzen. Also ich wäre dabei.

  5. #5
    Fänd ich auch gut, da ich schon länger die Szene zwar verfolge, aber selbst noch nie (ernsthaft) ein
    Spiel gemacht hab. Nun überleg ich aber, wirklich mal eins zu machen und da wäre RGSS schon nicht
    schlecht, da man im VX Ace bestimmt sehr viel damit machen könnte.

  6. #6
    Ich könnte vielleicht ein wenig helfen falls gebraucht. Als ich damals noch mit dem XP gearbeitet habe, habe ich meine Projekte alle komplett mit RGSS in Ruby programmiert. Ich hatte damals aufgegeben wegen dem schrecklichen Scripteditor im Maker.

  7. #7
    Zitat Zitat von Cornix Beitrag anzeigen
    Ich hatte damals aufgegeben wegen dem schrecklichen Scripteditor im Maker.
    Arbeitsschritt 1: dafür sorgen, dass der Maker Code aus externen Dateien lädt und dann mit Sublime Text arbeiten. Funktioniert problemlos und sorgt direkt für eine saubere Projektstruktur. Das Ganze ist in zwei Zeilen erledigt.

    Code (ruby):
     
    $:.push(File.expand_path('../lib', __FILE__))
    require 'main'
     


    Lädt die lib/main.rb im Projektverzeichnis und von da aus lässt sich dann problemlos weiterer Code laden.

    Edit: wenn man will, kann man sogar für diesen Schritt auf den Maker verzichten. Das Dateiformat der Scripts.rxdata ist extrem simpel.
    Edit 2: Ich hab euch mal ein kleines Beispielprojekt zusammengepackt, das wirklich nur noch die allernötigsten Dateien enthält. Dementsprechend lässt sich das Projekt auch nicht mehr im Maker öffnen. Die Scripts.rxdata enthält exakt ein Script mit dem oben geposteten Code. RGSSFromScratch.zip

    Geändert von DFYX (18.03.2013 um 21:45 Uhr)

  8. #8
    Ja, ich kenne diese Möglichkeit.
    Ich hatte es einmal ausprobiert aber das war mir alles damals schon nervtötend.
    Der XP war auch nicht sehr schnell im Vergleich mit dem Ace oder anderen Möglichkeiten.
    Ich fühlte mich davon einfach irgendwann zu stark eingeengt.

    Falls jemand großes Interesse hat ein ganzes Projekt selbst in Ruby zu schreiben und über den Maker laufen zu lassen, dann würde ich das nur empfehlen wenn es kein großes Projekt werden soll.
    Wenn man sich ernsthaft die Arbeit machen will Programmieren zu lernen, eine Programmiersprache anzueignen und dann ein ganzes Spiel zu schreiben, dann kann man auch eigentlich sofort etwas "solideres" nehmen als den RPG-Maker.
    Aber allgemein ein netter Einstieg ins Programmieren. Man kann schnell und einfach ein Ergebnis zu dem sehen was man geschrieben hat.

  9. #9
    Der Punkt ist, dass sich dieses Tutorial in keiner Form um den Maker drehen wird. RGSS ist eine vollkommen generische 2D-Engine, der es völlig egal ist, ob du damit ein RPG, einen Shooter oder ein Point & Click Adventure machst. Wir werden in den Tutorials den Maker an sich überhaupt nicht verwenden.

    Hier nochmal zwei Beispielprojekte mit dem Code aus dem Eingangspost:
    RGSS 1.02 (RPG Maker XP)
    RGSS 3.01 (RPG Maker VX Ace)

    Ihr müsst keinen der beiden Maker (und auch kein RTP) installiert haben, um mit diesen Projekten zu arbeiten. Sie unterscheiden sich im Wesentlichen nur in der Game.exe, der Game.ini und der RGSSxxx.dll. Außerdem musste ich in der RGSS 3.01 Version noch zwei Schriftarten aus dem RTP kopieren, da die vorausgesetzt werden, selbst wenn ich sie gar nicht verwende.

    Und noch ein Edit: Ruby ist im Übrigen durchaus eine vollwertige Programmiersprache, auch wenn sie meistens eher im Bereich Webentwicklung anzutreffen ist. Beispielsweise setzen Twitter, Github und viele andere auf Ruby.

    Geändert von DFYX (25.03.2013 um 20:02 Uhr)

  10. #10
    Der zweite Link ist derselbe wie der erste.

  11. #11
    Ups, geändert (Man hätte sich aber auch anhand des Dateinamens denken können, wie der andere Link lautet)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •