Die beiliegenden Skripte sind in der Hinsicht etwas unflexibel (ohne Änderung).
An deiner Stelle würde ich mich erst einmal mit den Grundlagen der Ruby-Syntax beschäftigen, sowie mit den Grundlagen objekt-orientierter Programmierung (Klassen, Objekte, Instanzen, Vererbung etc..).
Die Window_Base Klasse bietet das grundlegende um ein Fenster anzuzeigen. Allerdings enthält sie noch keinen Text. Entweder leitest du dir selber eine Klasse von Window_Base ab und erweiterst sie um die Anzeige von Text (Beispiele wie das geht, steht zB in der Window_message Klasse), oder du änderst die Window_Message Klasse so ab, das du Position, Größe und Inhalt als Parameter übergeben kannst.
Ich würde aber zu ersterem raten, ist sicherer, da die Window_Message Klasse an diversen Stellen (u.A. im Interpreter) benutzt wird, und du dort überall dann leichte Korrekturen vornehmen müsstest.
Um eine Instanz einer Klasse zu bilden, rufst du den Konstruktor dieser Klasse auf und speicherst den Rückgabewert in einer Variable. Über diese Variable kannst du dann auch auf die Felder und Methoden des Objektes zurückgreifen.
Der Konstruktor in Ruby ist "new". Der Konstruktor ruft automatisch die Methode "initialize" der Klasse auf, dabei werden alle Parameter, die an "new" übergeben wurden, an "initialize" weitergereicht. Wenn du einer Variable $ vorranstellst handelt es sich übrigens um eine globale Variable.
So sieht das Erstellen eines Basisfensters aus. Die übergebenen Parameter, sind von links nach rechts, x- und y-Position der linken oberen Ecke des Fensters, die Breite des Fensters und die Höhe des Fensters.
Wenn du eine eigene Klasse "Window_Msg" geschrieben hast, die als weiteren Parameter, den Text entgegennimmt, würde der Aufruf so aussehen:
Um ein Fenster zu schließen, ist es am einfachsten das Objekt freizugeben, dazu gibt es die Methode "dispose"
Für sonstige Fragen, die vor allem die Syntax betreffen (zB. die Bedeutung von @), konsultiere bitte die Dokumentation von Ruby (auf oben verlinkter Seite downloadbar)