Game Maker oder Python?

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

  • Game Maker oder Python?

    Hallihallo!

    Hardy mein Name.

    Ich hätte da mal eine bescheidene Frage.

    --------
    TLDR:Ich bin ein Noob. Ich hab Lust Spiele zu basteln. Soll ich Python oder GM benutzen?
    --------

    Eine kurze Vorgeschichte zu meiner Frage, um meine Frage vielleicht etwas zu erklären.

    Mit 16 begann ich eine Ausbildung zum Assi für Informatik. Da machte mir besonders das programmieren Spaß, jedoch führte meine jugendliche Idiotie dazu schnell demotiviert zu sein da ich mit "meinen Jungs" nicht sofort an den "großen coolen Projekten" arbeiten konnte. Das war vor zehn Jahren. DIe Ausbildung ist Geschichte und ich habe seitdem nie wieder das Thema des programmierens berührt.

    Vor ca. einer Woche fing ich an das Spiel "Hacknet" zu spielen. Ein kleines kurzweiliges Spiel in dem man mit UNIX-Befehlen "hackt". Schnell merkte ich das mir weniger die Spielthematik sondern das arbeiten mit den Befehlen sehr viel Spaß macht und so suchte ich noch am selben Tag nach Spielen in denen man mit Code/Befehlen arbeiten muss. So kam ich zu "else Heart.Break()" und "Quadrilateral Cowboy". Und da war es wieder: Die Lust mit Zeilen etwas zu erschaffen. Da ich jedoch alles aus meiner ersten Ausbildung vergessen und auch die Aufzeichnungen gelöscht hatte, musste ich erstmal etwas passendes finden. Nach ein paar Tagen sammeln von Informationen kam ich zu dem Punkt: Als Noob der in seiner Freizeit etwas machen möchte wäre Python das passende.

    Nun überlegte ich mir eine Motivation die mich am lernen und arbeiten hält. Mir war sofort klar: "Games". Natürlich nicht mit dem Gedanken jetzt anzufangen und in 6Monaten DEN GTA5 Konkurrenten erschaffen zu haben, da bleibe ich realistisch.
    Wie also mit Python Spiele erstellen? Bei meiner Recherche stoß ich auf einen Youtuber der in einem seiner VIdeos zwei Aussagen traf:
    1."Der GameMaker wird von 'echten' Programmierern sehr verlacht" - Richtig,habe ich auch schon mitbekommen. Kaum jemand lies ein gutes Haar an dem Ding. Ausserdem ist es kostenlos(die Standard-Version,ich weiß ;) ), was soll da schon bei rum kommen?
    2."Und doch wurde zum Beispiel 'Hotline Miami' mit ihm erstellt, wie schlecht kann er also sein?" - Warte,was?! Hotline Miami? Momentchen mal...

    Ich ging also auf die Website vom GM und sah das einige Spiele die ich sehr mag und schätze mit ihm ertsellt wurden.
    Nach weiterem informieren über den GM bin ich mir jetzt gänzlich unsicher was ich nun benutzen bzw. in was ich mich einlernen soll.

    Egal welches von beiden ich benutze, am Ende läuft es darauf hinaus das Spiele dabei rauskommen sollen.
    Nur welches von beiden?
    Bei Python habe ich das Gefühl das ich am Ende ausschliesslich mit endlosen Code-Zeilen beschäftigt bin und es mich dann doch demotivieren könnte.
    Bei GM befürchte ich das ich am Ende "doch nix richtiges lerne" und nichts ausser Drag&Drop mache.
    (Ich habe auf den Screenshots vom GM allerdings auch Code-Zeilen gesehen. Welche Sprache ist das denn? Oder kommt das erst beim Profi-Gebrauch zum Einsatz?)

    Ich hoffe euch ist die Frage nicht zu dämlich^^'

    Ich freue mich auf eure Antworten und eine nette DIskussion.

    Grüße,
    euer Hardy
  • Kurz und Knapp: Es ist egal welche Programmiersprache das ist.

    Game Maker und Python haben vorteile/nachteile. Game Maker hat allerdings den Vorteil, das es schon alles fertige Tools gibt wie z.B. Image Editor, Room Editor etc. Nachteil bei Game Maker ist, das es keine Klassen gibt etc. die etwas beim programmieren erschwert.

    Das wichtigste ist aber allerdings, wie gut du beim Programmieren bist / Motivation hast, um gutes Spiel rauszubringen. Selbst bei Unity3D/Python/C++ gibt es sehr viele hässliche Projekte. Ein wenig Googeln und man sieht das schon. Das ist es nicht bei Game Maker anders. ;)

    Bezüglich zur Drag & Drop. Wenn du nichts programmieren kannst, dann kannst du ja GM:S2 zur Anfang mit Drag & Drop arbeiten. Wenn du damit schon gut beherrschen kannst, dann kannst du im GM:S2 die Drag & Drop nach Code (GML) konvertieren und nachschauen, wie die Dinge funktionieren. So habe ich vor langer Zeit gelernt, wie Code funktionieren. (Dank Drag & Drop und mit unoffizielle Drag&Drop 2 Code Converter ;) )

    Am Ende musst du allerdings selber entscheiden, welches du verwenden möchte. :)
    Ihr stinkt.
  • (Um hier nicht alles zu zitieren und damit unötig lange Posts zu generieren,arbeite ich die angesprochenen Themen einfach ab)
    Zu Chinafreak:

    Diese Tools müsste ich mir dann bei Python entweder selbst erstellen oder aber im Internet finden um sie einzubinden? Verstehe ich das richtig?

    Ich habe alles zum Thema Programmieren vergessen,das ist ja der springende Punkt. Deswegen schiele ich ja so zum GM,da mir die Oberfläche erlaubt meinen "Fortschritt" ständig zu sehen.
    Ich kenne mich und würde mich so einschätzen das ich die Motivation verliere wenn ich (bei Python) nach zwei Monaten zwar gut was gelernt habe zum Thema Code, aber noch nichts richtiges "sehe".
    (Sprich "Char A bewegt sich durch Map B und kann Truhe C öffnen"(Ja,mehr erwarte ich nach zwei Monaten auch noch nicht ^^'))

    Verstehe ich das richtig das "GML" die "eigene Sprache" des GM ist und ich mir die dann also,wenn ich es denn verstehen will, selbst beibringen müsste?

    Ja am Ende steht mein eigenes Wort. Und das will gut überlegt sein ^^'
  • Hardynski schrieb:

    Verstehe ich das richtig das "GML" die "eigene Sprache" des GM ist und ich mir die dann also,wenn ich es denn verstehen will, selbst beibringen müsste?
    Ja. Guck dir einfach mal simple GML codes an, die Syntax lernst du auf jeden Fall nicht, indem du nur D&D im Game Maker benutzt (außer du konvertierst es). Es gab sogar ein GML Tutorial hier im Forum. Und hier ist die deutsche GM Dokumentation (vllt teilweise ein bisschen outdated, sollte aber reichen). Alternativ, die aktuelle, englische Version. Dort kannst du eigentlich fast alles über GML und GM generell nachlesen, wenn du denn interessiert bist oder mal feststeckst.


    Edit:

    Hardynski schrieb:

    1."Der GameMaker wird von 'echten' Programmierern sehr verlacht" - Richtig,habe ich auch schon mitbekommen. Kaum jemand lies ein gutes Haar an dem Ding.

    Es ist einfach universell in der internationalen Programmier-Community, dass bestimmte Tools oder Vorgehensweisen verhasst werden. Ich weiß nicht wieso, aber man sieht es immer wieder. Ja, der GM macht vieles einfacher, er ist einfach ein ziemlich spezifisches Tool (Spiele), also für Programme oder was auch immer ist er halt nicht geeignet. Deswegen ist er aber nicht unbedingt gleich schlecht.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Lizard771 ()

  • Hast du Lets Game Dev angeschaut?

    -Bei Phython könntest du Pygame nutzen oder MinecraftPi ^^.

    -Mit dem GM wirst du auch nicht dümmer. Außerdem kann man beim GM auch in die Tiefe gehen.

    Im Endeeffekt wirst du eh nur nach Ergebnis(deiner Spiele) beurteilt und nicht nach der Engine.
  • Hi, willkommen im Forum @Hardynski (übrigens mag ich lange Posts :D)
    Ich weiß nicht, wie gut die GameLibarys, wie schon von @glim888 genannt, sind. Natürlich kannst du auch in Python deinen Code strukturieren und einen eigenen RoomEditor und Sonstiges erstellen. Insgesamt wird das aber zu viel Arbeit führen und kann schnell demotivieren (bin auch schnell demotivierbar :( ).
    Geschmackssache: Ich mag den Syntax von Python nicht so ganz, da beispielsweise geschweifte Klammern einfach viel nützlicher sind.

    GameMaker hat dagegen schon zahlreiche Features, wie SpriteEditor,RoomEditor (wie @Chinafreak schon erwähnt hat).
    Möchtest du anfangen ein neues Spiel zu erstellen, musst du nur ein neues Projekt, das ein/e oder andere/n Objekt/Raum/Sprite erstellen und fertig.
    Die Sprache ist Vergleichsweise zu C++ und Java sehr ähnlich, aber wie es Scriptsprachen haben (ist jetzt GM eig noch eine Skriptsprache?), kann man keine Datentypen selbst angeben und automatisch doubles oder char[] genutzt werden.

    Nachteile sehe ich genauso darin, dass man keine Klassen haben kann. Grundsätzlich fände ich JavaScript für GameMaker am besten geeignet :)

    Meine persönliche Meinung: Python nehme ich insgesamt nicht gerne. Auch wenn GM nicht das beste von dem Gesamtpaket ist (negative Seiten habe ich eigentlich kaum genannt), Python empfehle ich nicht ;)
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Universeller,unbegründeter Hate ala "filthy casual". Na prima ^^'

    Ja das war tatsächlich Lets Game Dev :D

    Also wenn ich das jetzt richtig verstehe ist die Wahl zwischen Python und GM, die Wahl zwischen "schneller Fortschritt,später tiefer einarbeiten"(GM) und "erstmal einarbeiten,später Fortschritt"(Python).

    Da wäre für mich als Noob dann ja doch GM besser. In den kann ich mich dann tiefer graben wenn ich will. Und Sprachen wie C++/C#/Java kann man ja immernoch nachlegen.

    Brauch ich denn beim GM das tiefergreifende Wissen zu GML? Oder ist unschädlich das zu ignorieren? Also ich mein, wozu genau bräuchte ich es denn?
  • @Husi012

    Das dachte ich mir eben schon. Python ist bestimmt cool und schön aber, bei meiner Motivationskurve mit einem Auge auf das Ziel, dann wohl doch einen Zacken zu viel.

    Kann mir gut vorstellen das Python nciht so cool ist wenn man C++/etc drauf hat :D
    Aber die machen mir wie gesagt für den Start etwas zu sehr Angst.

    Ich könnte also beim GM(in der kostenlosen Version) meine eigenen Grafiken/Sounds/Musik/etc erstellen und einbinden?
  • Also ich schlage schon vor, komplett alles mit GML zu machen und kein Drag&Drop zu benutzen.
    Ich weiß nicht, wie gut du mit so einem Syntax vertraut bist. Ich habe aber schon mal für komplette Einsteiger ein paar Tutorials gemacht (In der Signatur), die auch sehr tief gehen und vieles genau erklären.
    Die Grundkenntnisse lernst du im eigentlichen ganz schnell:
    While-Schleife:

    GML-Quellcode

    1. while(condition){
    2. //code
    3. }

    Variable erstellen:

    GML-Quellcode

    1. variable = 10;

    Array erstellen:

    GML-Quellcode

    1. variable[10] = "ein Wert"; //am besten immer das "größte Feld" als erstes initialisieren, da GM dann nur einmal das Array erstellt und nicht jedes mal ein größeres erstellen muss
    2. variable[0] = "anderer Wert";
    3. //usw

    Und vieles andere
    Diese genannten Themen sind alle in den Tutorials beschrieben :)

    Falls du speziellere Fragen hast, kannst du auch auf Discord mit mir chatten ;) (Link in der Signatur)
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Hallo

    Also ganz kurz gesagt, seit mir damals meine Eltern erst ein Pong, dan den C64, den Amiga usw kauften bin ich fasziniert von Computerspielen, irgendwann, eigentlich sehr spät kam bei mir der drang auf selber einmal ein Computerspiel zu programmieren, nach langem tüfteln und probieren (blitzbasic, rpg maker usw.) bin ich dan auf den Gamemaker gestoßen.
    Nach ein paar Tuts und mit Hilfe der hervorragenden, sympatischen, gemeinschaftlichen usw. Community hier im Forum, ist es mir gelungen meine ersten Spiele zu programmieren, ich habe sogar meine eigenen Android Apps mit ein paar tausend Downloads.
    Was ich damit sagen will ist, das der Gamemaker wirklich Spaß macht und man relativ schnell zu sichtbaren Ergebnissen kommt, noch bevor der Frust überhand nimmt.
    lg Vectorhead
  • Vectorhead schrieb:


    Nach ein paar Tuts und mit Hilfe der hervorragenden, sympatischen, gemeinschaftlichen usw. Community hier im Forum, ist es mir gelungen meine ersten Spiele zu programmieren, ich habe sogar meine eigenen Android Apps mit ein paar tausend Downloads.
    Was ich damit sagen will ist, das der Gamemaker wirklich Spaß macht und man relativ schnell zu sichtbaren Ergebnissen kommt, noch bevor der Frust überhand nimmt.


    Das freut mich tatsächlich sehr zu hören und motivert auch entsprechend!

    Ich hab jetzt nur zwei weitere Fragen:
    Ich bin jetzt auf der Suche nach "Von 0"-Tut's. ALso Tutorials die mich wirklich vom Programmstart an an die Hand nehmen. Da ich wirklich null Ahnung von solchen Programmen/Systemen/Oberflächen/Programmsprachen habe ^^'
    Die meisten Tut's die ich bis jetzt egfunden habe behandeln entweder GML oder Funktionen für coole Shader/Multiplayer-Stuf/etc. . Da bin ich halt noch lange nicht ^^'

    Zweite Frage: Da sich ja anscheinend alle einig sind das GML sehr C++ ähnelt,frage ich mich jetzt ob es von Vorteil wäre mich nebenbei etwas in C++ einzuarbeiten. Mehr Wissen kann ja prinzipiell nicht schaden.
    Oder übernehme ich mich da für den Anfang?

    Grüße,
    Hardy
  • glim888 schrieb:

    Bleib lieber erstmal bei einer Sprache^^


    Gut das dachte ich mir schon :D
    Aber lieber ein mal zu viel nachgefragt, als ein mal zu wenig :D

    Da bräuchte ich jetzt nur noch Tutorials an denen ich mich lang arbeiten kann.
    Gibt es denn sowas wie ein Beginner-Tut einmal für den GM insgesamt und einmal für GML?
    Also damit ich jeweils basteln und Syntax/Befehle/etc. lernen kann?

    Haltet mich bitte nicht für Suchfaul,meine Suchen sind nur irgendwie immer so wahnsinnig ineffizient :/

    Edit: Ps.: Super nette COmunity! Muss ich jetzt mal los werden. Hab bei meinem Noob-Generve etwas mehr Gegenwind erwartet ^^'
    Edit2: Hab mir jetzt erstmal "GML - Die Einsteigerreferenz" als PDF gezogen. das dürfte fürs lernen von GML ja erstmal reichen,oder?
  • Jop , die Einsteigerreferenz ist das richtige um die Grundlagen kennenzulernen und von Shaun Spalding (englische GM Community Manager) gibts auf Youtube ein First Game Tutorial das soweit ich mich erinnere auch mit GML statt Drag and Drop arbeitet. Link

    PS: Willkommen im Forum :)

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)
  • Von mir auch ein Herzliches Willkommen. ^^
    Als ich mit Programmieren angefangen habe, mit so ohne vorwissen oder sonst etwas, war es schon gut so eine tolle Community zu haben.
    Eine Communty die dir wirklich helfen will, die dir was beibringen wollen und immer Objektiv an deine Probleme ran gehen.
    Die Einsteigerreferenz hat mir persönlich auch sehr geholfen, zudem habe ich auch wärend meiner Berufsausbildung (die nichts mit Programmier zu tun hatte) einmal die gesamte GM Dokumentation durch gearbeitet und mir dafür Notizen gemacht. :D
    @Husi012 tutorials sind aber auf jeden fall auch einen Blick wert. ^^

    Und das der GM alles ein bisschen leichter macht ist keinesfall negativ, es erleichtert das Lernen ungemein.
    Und das Grundwissen was dir der GM vermittelt, kann man gut auf andere Sprachen übertragen. In meine Studium als Medizininformatiker konnte ich mit viele dingen die wir in Java lernen schon was anfangen und mir den einstieg damit deutlich erleichtern. :)
    Für jene, die ständig das Scheitern fürchten, sind Erfolge auf ewig unerreichbar.
  • Hardynski schrieb:

    Zweite Frage: Da sich ja anscheinend alle einig sind das GML sehr C++ ähnelt,frage ich mich jetzt ob es von Vorteil wäre mich nebenbei etwas in C++ einzuarbeiten. Mehr Wissen kann ja prinzipiell nicht schaden.
    Ich weiß nicht, wo das jetzt auf einmal herkommt: ich würde jedoch sagen: Nein. Klar gibt es in der Syntax Parallelen zu vielen anderen Sprachen (C, C++, C#, JS, ...), du hast hier deine ifs und da deine Variablen und so weiter, das heißt aber nicht gleich, dass sie sehr ähnlich oder sogar vergleichbar wären. Und wenn du jetzt z.B. weißt, wie man in C++ Klassen oder was auch immer verwendet, bringt es dir in GML nicht wirklich was.

    Hardynski schrieb:

    Syntax/Befehle/etc.
    Siehe die beiden Dokumentations-Links in meinem vorherigen Kommentar. Mag auf's erste viel aussehen, aber die Dokumentationen gehen immerhin durch alle Features durch. Klar, sie erklären dir nicht, wie du bestimmte Probleme löst, aber zeigen dir alle möglichen (standardmäßig eingebauten) Befehle, die GML dir in die Hand drückt.
  • Hardynski schrieb:

    Vectorhead schrieb:


    Nach ein paar Tuts und mit Hilfe der hervorragenden, sympatischen, gemeinschaftlichen usw. Community hier im Forum, ist es mir gelungen meine ersten Spiele zu programmieren, ich habe sogar meine eigenen Android Apps mit ein paar tausend Downloads.
    Was ich damit sagen will ist, das der Gamemaker wirklich Spaß macht und man relativ schnell zu sichtbaren Ergebnissen kommt, noch bevor der Frust überhand nimmt.


    Das freut mich tatsächlich sehr zu hören und motivert auch entsprechend!

    Ich hab jetzt nur zwei weitere Fragen:
    Ich bin jetzt auf der Suche nach "Von 0"-Tut's. ALso Tutorials die mich wirklich vom Programmstart an an die Hand nehmen. Da ich wirklich null Ahnung von solchen Programmen/Systemen/Oberflächen/Programmsprachen habe ^^'
    Die meisten Tut's die ich bis jetzt egfunden habe behandeln entweder GML oder Funktionen für coole Shader/Multiplayer-Stuf/etc. . Da bin ich halt noch lange nicht ^^'

    Zweite Frage: Da sich ja anscheinend alle einig sind das GML sehr C++ ähnelt,frage ich mich jetzt ob es von Vorteil wäre mich nebenbei etwas in C++ einzuarbeiten. Mehr Wissen kann ja prinzipiell nicht schaden.
    Oder übernehme ich mich da für den Anfang?

    Grüße,
    Hardy


    Ich habe dir eine Mail an dein Postfach geschickt :)
    Wir stehen zusammen und wir fallen zusammen
  • So. Bevor ich ins Bett gehe noch ein fixes Update:
    Danke nochmal für die ganzen geilen Links!

    Ich fand noch diese Website
    gamemakertutorials.com/
    und wollte euch eigt fragen ob einer von euch mal fix drüber schauen kann um mir zu sagen ob die was taugt.
    Dann wars aber die Website von Shaun Spalding,dessen erstes Tutorial-Video auf YT ich gerade absolviert hatte :D

    Die Einsteigerreferenz habe ich jetzt erstmal beiseite gelegt. Ich habe dort bis Kapitel 7 alles wie vorgeschrieben gemacht, jedoch kam es mir drei mal(glaube ich) vor das der Code trotzdem nicht funktionierte.
    Das passierte mir auch im ersten Tutorial(Movement) von Shaun Spalding. Das "Raumschiff" dreht sich im FLug einfach nicht wie geplant. Kein Plan was ich falsch gemacht habe oder obs überhaupt mein Fehler ist. Ich schau da morgen nochmal in Ruhe rein.

    Gut zu wissen ist auch das unter F1 quasi alles an Code ist was ich jemals brauche. Das beruhigt sehr.

    Werde die kommenden Tage versuchen eure ganzen Links so abzuarbeiten das ich dann hoffentlich ne Vorstellung von der Syntax habe.
  • Hi
    Hier habe ich noch ein paar Tutorial auf deutsch und englisch
    deutsch
    youtube.com/user/Gunzli/playlists

    englisch
    youtube.com/user/uheartbeast/playlists
    youtube.com/user/999Greyfox/playlists

    Und hier ein Mario Engine, sehr empfehlenswert. Zumal man den Code bekommt, wie die es programmiert haben.
    hellofangaming.github.io/HelloMarioEngine/

    Und ein herzliches Willkommen hier im Forum :P

    Gruss Drachen