Wissenswertes aus der GM Welt

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

    • Wissenswertes aus der GM Welt

      Hallo, angeregt durch meine Suche nach eine Art Transform-Befehl, siehe hier:

      Transform-Befehl in GM


      Keimte in mir folgende Idee auf. Was haltet Ihr von eine Art Thread, in dem man solche "Besonderheiten" von GM,
      behandeln würde und auch kurioses, auf das man erst nach einiger Zeit stolpert?
      Für Anfänger wäre es mit der Zeit, eine Art Wissenslexikon, der Eigenarten von GM(für den Einstieg sehr praktisch)
      und für die Fortgeschrittenen, wäre es mitunter ein Thread, der zum Schmunzeln verleitet.
      Man müßte das Ganze vielleicht in einige Themengebiete aufspalten, um das auffinden zu erleichtern, oder man
      macht einfach eine lange Liste in loser Reihenfolge(weniger Arbeit) uns verläßt sich auf die Forensuche und strg-f,
      im Browser.

      Zumindest sollte man vorher über die Aufnahme, eines solchen Unikats in die Liste, sprechen, da man nicht alles
      wissen kann und nur wirklich sichere GM Eigenheiten, ihre Aufnahme in die Liste, finden sollten.

      Ich weiß nicht, wie es Euch zu Beginn gegangen ist, aber ich brauchte z.B. einige Zeit, um den Ansatz von GM zu
      durchblicken, dass man für Objecte Code schreiben kann, aber es nicht zwingend erforderlich ist, diese Objekte
      auch physisch im Raum zu platzieren. Bei mir sah es am Anfang aus wie Sau, weil ich ALLE Objekte, die ich angelegt
      hatte, zumindest einmal in den Raum gezogen habe, weil ich mir nicht vorstellen konnte, dass GM ohne ein Objekt
      im Raum, dessen Code ausführen kann. Mittlerweile finde ich das Prinzip großartig und bin jedes mal erstaunt, wie
      einfach es ist, mit dieser Technik Ideen umzusetzen.

      Wofür ich auch lang brauchte, war die Reverse-Funktion im Sprite Editor, ich sah dazu auch viele Ansätze, diese auf
      welche Art auch immer, nach zu programmieren, weil es ja seltsamerweise keinen Befehl dafür gibt(oder doch?).
      Es hat wirklich sehr lange gedauert, bis ich durch Zufall entdeckt habe, dass wenn man den image_speed im Code
      setzt, man ein wiederholtes Abspielen, im Ping-Pong Effekt, selber programmieren muss, wenn man jedoch die
      Einstellungen im Sprite Editor vornimmt(Speed vorgeben und Reverse Knopf drücken), es automatisch von GM, im
      Code gemacht wird.

      Ihr habt da sicher auch Kurioses und Seltsames auf Lager und vielleicht könnt Ihr Euch ja vorstellen, dass es Menschen
      gibt, die Interesse daran hätten, diese Erlebnisse mit Euch zu teilen und davon zu profitieren und zu lernen.


      Miradur
    • Darüber kann man mittlerweile Bücher schreiben. ^^ In GMS2 gibt es ja jetzt eine "deutsche" Anleitung. So wie es aussieht haben sie das meiste automatisch übersetzen lassen. Anders kann ich mir nicht erklären, warum links zu GM-Befehlen auf Deutsch geschrieben werden.

      Kurrios ist auch, dass GM Beispielsweise Farben als RGB verarbeitet, beim Hexwert aber nicht mit Rot sondern mit Blau beginnt. Somit kann man nicht einfach irgendwelche Werte, beispielsweise aus Photoshop, kopieren. Man nimmt entweder Hex und schreibt die Reihenfolge um oder RGB und tippt die 9 Zahlen einzeln (drei Mal C&P geht natürlich auch).

      Die Grundlogik von GM war mir eigentlich von Anfang an klar. Das hat mich auch begeistert wie bei keiner anderen Entwicklungsumgebung und ist auch der Grund, warum ich es noch immer nutze. Es entspricht am ehesten meiner Denkweise. Vielleicht auch, weil das alte Flash von Makromedia in ein paar Punkten ähnlich war. Es gibt aber für mich sicher 1000 gute Gründe Yoyo-Games zu verfluchen. Zuletzt habe ich wieder etwas in GMS 1.4 gemacht. In der Zwischenzeit gab es dort ein Update und meine Projekte funktionierten nicht mehr, weil Yoyo entschied, dass global.fps keine Variable mehr sein darf. Im Prinzip ist das logisch, aber mittlerweile war/ist GMS 2 draußen und es ist unverständlich, warum man für alte Projekte solche (es gibt ja noch weitere) Stolpersteine einbaut.

      Ähnlich kurios finde ich draw_set_color und draw_set_colour. Macht das Gleiche, ist aber beides weiterhin vorhanden. Mit ist nicht bekannt, dass eine Entwicklungsumgebung für einen Befehl mehrere Schreibweisen akzeptiert. In der Dokumentation schreibt man in der Überschrift draw_set_color, im Beispielcode wird es wieder draw_set_colour geschrieben. Da fragt man sich schon, ob die bei Yoyo ein kleines Alkoholproblem haben. :D Das zieht sich übrigens durch mehrere Befehle, ist also kein Einzelfall.

      Was ich sehr nervig finde sind die mehrfachen Befehle, die dann einfach nur erweitert werden. Bei Deinem Beispiel ist das letztlich auch so. Hier noch etwas, dass ich ziemlich krass finde:

      Es gibt draw_text, draw_text_color, draw_text_colour, draw_text_ext, draw_text_ext_color, draw_text_ext_colour, draw_text_ext_transformed, draw_text_ext_transformed_color, draw_text_ext_transformed_colour, draw_text_transformiert, draw_text_transformed_color und draw_text_transformed_colour darf natürlich auch nicht fehlen. Ich weiß leider nicht, ob das historisch gewachsen ist oder ob man es "einfach" halten wollte, aber letzteres ist es eben nicht. Wenn man durch die Dokumentation geht, kann man sehr schnell genau den Befehl übersehen, den man braucht. Dazu kommt, dass sie es beim Text "transformed" nennen und beim Sprite "pos".


      Von dem ganzen 3D-Kram will ich da noch nicht einmal reden. Das war schon immer eine Notlösung. Für GMS2 wurde dann einiges neu gemacht, aber nach dem, was ich bisher gesehen habe, war das Resultat wie folgt: Du kannst Deinen alten 3D-Code komplett neu schreiben um zum selben Resultat wie unter GMS 1.4 zu gelangen. Und als Dank für "Wir machen das alles neu" hatte der 3D-Kram am Anfang noch mehr Bugs als meine Socken Löcher.


      Zu guter Letzt (für heute): Diese Woche hatte ich einen Internet-Ausfall von rund 10 Stunden. In der Zeit habe ich GMS 2 gestartet. Da er keine Verbindung findet, dauert das am Anfang, weil sich das Programm u.A. mit dem Marktplatz verbinden will. Damit kann ich leben. Allerdings scheint GMS2 mittlerweile laufend Daten übertragen zu wollen. Alle drei bis fünf Mausklicks durfte ich 10 Sekunden warten, weil GMS2 eine Internetverbindung sucht. :thumbsup: Man merkt, dass die in Schottland die Telekom nicht kenne. 8o
      Byte GameMaker Magazin - Online Zeitschrift für Spieleentwickler
    • Nerviges gibt es sicherlich Einiges in GM, aber mir ging es um Dinge, die man gerne "früher"
      entdeckt hätte, weil sie entweder abstrus heißen oder man nicht unbedingt drüber stolpert,
      außer man liest die Hilfe, mehrmals von vorn nach hinten, komplett durch.

      Aber das mit color hatte ich auch schon in einer anderen Programmiersprache, das liegt daran,
      dass es Amerikaner und Engländer unterschiedlich schreiben, aber für uns eben beide, Englisch.
      Da gibt es auch seit gestern eine Diskussion im englischen Board, über floor und div, weil eben
      scheinbar beide das Gleiche tun, aber eben in unterschiedlicher Geschwindigkeit und scheinbar
      auch mit Unterschieden, bei Minuszahlen.
      Vielleicht ist das auch bei anderen Befehlen ähnlich, oder man wollte sich keinen Vorwürfen,
      bez. Kompatibilität, aussetzen und hat deshalb einfach alles drin gelassen.


      Miradur