GMBed - GM-Spiele in Webseiten einbinden - mit Tut und Beispiel

    • Tool

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • GMBed - GM-Spiele in Webseiten einbinden - mit Tut und Beispiel

      GMBed




      GmBed ist ein Tool von TGMG und Rusky aus den G-creator Foren (forums.g-creator.org/) zum Einbinden von Spielen in Html - Webseiten. Das projekt muss nicht mal groß angepasst werden (höchstens Grafisch aber dazu später mehr).
      Es funktioniert in den meisten Browsern. Nur bei Google Chrome gibt es aber noch Probleme.

      Alles was man tun muss ist die EXE sammt allen zugehörigen Dateien (DLLs, Unterordner, etc...) zu zippen (es muss unbedingt .zip sein!) und dann auf einer direkt-link fähigen Seite oder einem Freespace hochzuladen (z.B. square7.ch/).

      Das Einbinden in die Webseite funktioniert dann folgendermaßen: Ursprünglich war es so gedacht das man wie im ursprünglichen Post (s. unten) vorgeht, dabei wird dann automatisch eine Html-Seite erstellt, diese lässt sich aber in keiner Weise anpassen (wahrscheinlich weil das Programm nur in der Beta-phase ist).

      Es gibt aber auch eine andere Möglichkeit, nähmlich über ein Iframe.
      Jsnews hat einen Trick entdeckt der verhindert das automatisch in das Iframe die vorgefertigte Seite eigespeist wird.
      Dafür ein großes Danke xD.

      Der Trick ist die Größe des Iframes, im Code muss man nähmlich zwei Paare von Größen angeben.
      Das Erste gibt die Größe des Spielefenster an. Wenn es größer als das Spielefenster vom GM ist wird der Abstand schwarz.
      Das zweite Paar ist die Größe des Iframes und hier kommt der Trick, wenn er genau 1 Pixel größer ist ist sieht man nur das Spielefenster ohne den Iframes-Rand.


      Nun zum Code, man kann ihn überall in ein Html-Dokument einsetzen:
      Die Komentare zwischen "/*" und "*/" müssen unbedingt weg. Man kann zwischen Iframe-tags keine Komentare einfügen (auch Html-Komentare nicht).

      Quellcode

      1. <iframe
      2. src='http://www.g-java.com/gmbed/2.0/getgame.php? /* das ist das die Datei */
      3. link=
      4. http://dragongamer.square7.ch/gmbed_test.zip /* Direktlink zum gezippten Spiel */
      5. &
      6. width=640 /* Breite des Spiels */
      7. &
      8. height=480' /* Höhe des Spiels */
      9. width='641' /* Breite des Iframes */
      10. height='481' /* Höhe des Iframes */
      11. frameborder='0'marginwidth='0'marginheight='0'scrolling='no'>
      12. </iframe>
      Alles anzeigen



      Nun ein paar Worte zum Prinzip: das Programm fake't sozusagen einen eigenen Desktop für das Spiel. Dies bedeutet dass die Koordiinaten an denen das Spiel vom GM dargestellt wird relativ zu den koordinaten des iframes ist.
      Somit ist das spiel verschoben wenn das Ifframe nicht so groß wie der Bildschrim ist, um dem entgegenzuwirken muss das Spiel mittels gml an die 0,0 Koordinaten verschoben werden. Außerdem sollte der Rand nicht mehr gezeichnet werden.

      Dies kann man in den game-settings einstellen oder mittels eines Skripts:

      GML-Quellcode

      1. window_set_showborder(0);
      2. window_set_stayontop(0);
      3. window_set_position(0,0);


      Einfach in einem Create-event ausführen.


      Ein Problem ist dass man das modifizierte Spiel ja herunterladen kann, das will man natürlich nicht und es gibt da eine möglichkeit zu überprüfen ob das Spiel tasächlich online gestartet wird.
      Wenn das Spiel online gestartet wird, wird ein temporärer Ordner namens GMBED angelegt und das Spiel dort abgelegt.
      Somit fürhrt der program_directory dahin. Nun kann man dies mit Hilfe eines Skripts überprüfen:

      GML-Quellcode

      1. var dir, a, l;
      2. dir = argument0;
      3. l = string_length(dir);
      4. a = l-1;
      5. do
      6. a -= 1;
      7. until(string_char_at(dir,a) = "\" or !a)
      8. return(string_copy(dir,a+1,l-a));


      Das Skript gibt einfach nur den finalen Ordner zurück, überprüft wird dann mittels:

      if !(directory_get_end(program_directory) = "GMBED")
      game_end()


      Ein einziges Makel ist der Ladebalken, leider kann man nicht direkt einstellen wo dieser erscheinen soll. Dies heist es er erscheint immer in der Mitte des Bildschrims, aus irgendeinem Grund funktioniert hier GmBed nicht richtig.
      Einzige Möglichkeiten dies zu vermeiden sind entweder keinen Ladescreen zu verwenden oder eine eigene Grafik zu nehmen. Der Screen darin ist dann so wie man es haben will und der Rest ist einfach durchsichtig.
      In den game-settings muss man dann noch make image partially transparent ankreuzen.


      Ich hab noch ein kleines Beispiel gebaut, schaut euch den Quellcode an wenn ihr wollt:
      dragongamer.square7.ch/gmbed_test.html


      Fragen sind übrigens da um gestellt zu werden ;)


      Hier zum verständnis, der erste Post, aber ich empfehle die andere Methode zu verwenden:
      Spoiler anzeigen


      In einem Tread hab ich das erst kürzlich erwähnt und jetzt beschlossen es allen zu zeigen da es hier scheinbar noch nicht bekannt zu sein scheint (die Sufu hat zumindest nichts ergeben):





      GMBed




      GmBed ist ein Tool zum Einbinden von Spielen in Webseiten und dabei muss das projekt nichtmal angepasst werden (höchstens Grafisch um in das Fenster zu passen).

      Alles was man tun muss ist die EXE sammt allen zugehörigen Dateien (DLLs...) zu zippen (es muss unbedingt .zip sein!) und dann auf einer direkt-link fähigen Seite hochzuladen.

      Dann kann man den Link einfach in diesen html-code einbauen und in das html-Projekt einbetten:

      g-java.com/gmbed/2.0/getgame.p…DER_LINK&exe=NAME_DER_EXE (mit".exe")

      Es funktioniert in den meisten Browsern (praktisch in allen neueren Browsern).
      Beim ersten mal auf einen Computer kann es aber zu einem Fehler kommen da ein benötigtes Java applet heruntergeladen wird und dannach das Spiel scheinbar abbricht.

      So, jetzt viel Spaß beim Testen :)


      p.s. Achja, beim Exampel; das Grüne Fenster ist das "Spiel", kein Fehler!




      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)

      Dieser Beitrag wurde bereits 13 mal editiert, zuletzt von DragonGamer ()

    • Ich verstehe den ganzen Hype der aktuell um GmBed herrscht nicht. Das Ding gibt es schon länger, es ist weiß Gott nicht das erste Ding dieser Art und es ist aus meiner Sicht schwachsinnig. Zudem habe ich schon von vielen gehört, bei denen GmBed nicht geht. Ich verstehe außerdem nicht, warum TGMG das in Java gemacht hat. Es downloadet nur die Dateien für dein Spiel temporär und führt eine gegebene Exe aus. Wer wirklich auf diese Web 2.0 Gedröhns steht, kann da auch Javascript nutzen.

      Außerdem würde ich mir noch mal das hier ansehen: gamemakerblog.com/2008/03/31/g…llegally-embedding-games/


      MfG SDX
    • Tice schrieb:

      Ich raffs nicht gibts nicht ein Deutsches Tutorial dafür?
      Ich hab ja ein Tut geschrieben, hier gibsts aber das problem dass die Seite automatisch einen Link aus meinem Beispiellink dort macht und ihn kürzt, ich versuch es zu ändern.

      Also einfach in dem Link oben dort wo "DER_LINK" steht deinen direkt-Link zur Zip-Datei reinschreiben und am Ende einfach den Namen der exe-Datei.

      EDIT: scheinbar geht das entlinken nicht... (weis vlt. ein Mod wie?), jetzt muss man einfach auch das dritte "t" aus htttp entfernen.


      @SDX, glaub dass mit der Ilegalität hat sich erledigt, das war auf eine ältere Version bezogen die die Exe auseinander genommen hat damit nicht jedes mal der Runner mit heruntergeladen werden musste.
      Glaube aber dass dies in der neuen Version nicht mehr so ist, bin mir aber nicht sicher.

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von DragonGamer ()

    • Der Scheiss dabei ist halt, dass theoretisch JEDE exe hochgeladen werden kann, die dem PC schaden können... Da kann man genauso gut auch einfach nur die exe als normalen Download anbieten, ohne den ganzen Java Bullshit...
      "das war meine letzte flamewar PM an dich ."
    • Seitdem Yoyogames das eingeführt hat, frage ich mich wozu das gut sein soll. Mich nerven Browsergames, ich will im Vollbild zocken. Warum lässt man sich freiwillig durch das gesamte Drumherum von Firefox und Co. ablenken und nerven?
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • @Blubberblubb, türlich, alles kann man so verwenden um dem Computer zu schaden, theoretisch kann jedes Flash-app auf ner Seite den Computer zerstören :P

      GMBed fragt aber immer nach bevor das Spiel ausgeführt wird!

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)
    • @ famous: Alternativen? Davon gibt es genug:


      Dabei ist aber zu beachten, dass die Angaben zu GMBed nicht ganz stimmen, da die sich auf die alte, illegale Version beziehen. Außerdem: YoYogames kann mit Leichtigkeit (so sagen die es zumindest) das Spiel in den Browser einbetten, sodass es nicht in einem eigenen Fenster läuft. Dies haben sie allerdings nicht gemacht, weil es sonst Probleme mit dem Design der Website gäbe (wegen den Maßen der spiele, die ja frei variieren)

      Spoiler anzeigen
      B.t.w. it would be very easy for YYG to embed the games in the website. The reason we did not do that is that it would put restrictions on the size of the window that is used in the game (because it has to fit in the layout of the game page) and it would no longer allow changes of the game play window. As we want our tool to be generic we decided to run the games in a separate window.
      Mark
      ( Vom gamemakerblog )


      MfG SDX
    • Hier ist der Test-Link von der ofiziellen Seite.:

      g-java.com/gmbed/2.0/getgame.p…ample.zip&exe=example.exe

      Im Moment funktioniert er bei mir aber nicht mehr, aber glaub das liegt an meinem neu aufgesetzten Computer. Ich muss eine neuere Java-Version runterladen, aber seltsamerweise kommt keine Meldung dass eine fehlt.



      EDIT: hilfe, meine Rechtschreibung ist echt lahm... korigiert.

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DragonGamer ()

    • Nun, ich hätte vieleicht ein wenig mehr zu dem Ding sagen sollen.
      Erstens er fake't eine Einbettung des Spiels nur! Er erzeugt ein Rechteck auf dem Schrim den man einstellen kann.
      Wenn du dir den html-Quellcode anschaust siest du die Variablen width und height, diese kannst du ändern um die Größe des Rechtecks einzustellen.

      Das Rechteck ist für das Spiel der ganze Bildschrim.

      Die linke obere Ecke ist der 0-Punkt des Bildschrims. du must das Spiel korekt manuel anpassen. Erstens muss der Rand weg und du platzierst via GML funktionen (schau in die Hilfe) das Spielfenster an die Stelle 0,0

      Oder du machst das Spiel einfach fullscreen, das löst alle Probleme (diese zumindest).

      Damit der Ladebalken in der Mitte dargestellt wird musst du aber ein wenig tricksen und ein eigenes Bild verwenden das korekt verschoben ist.

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DragonGamer ()

    • Also ich kann da nix machen, ist nicht meins (klick auf die blaue Leiste). Außerdem ist das Projekt seit über nem Jahr in der Beta phase, mit anderen Worten, auf Eis gelegt. :(

      Aber die Anpassung ist doch nicht so schwer, eigentlich sollte ein Vollbildmodus reichen.

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DragonGamer ()

    • Logisch, die sache ist ja im Html Teil den du nach belieben verändern kannst, du musst nur ein klein wenig Html können, was man ja sowieso können muss wenn man sich eine Seite damit machen will.

      Ok, ich update dieses Wochenende mal den ersten Post mit einer Beschreibung des Prinzips und einem eigenen ausführlichen Beispiel, muss mir nur nen Freespace besorgen. :)

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)