Was sind die Gefahren der Entwicklung von Selbstlernspielen? [geschlossen]

58

Ich bin dabei, mich auf eine Reise in die Spieleentwicklung zu begeben. Nach den Antworten auf meine letzte Frage verwende ich C # und XNA.

Ich kenne jedoch keine anderen Spieleentwickler persönlich und arbeite nicht in der Branche, weshalb ich Autodidakt sein werde. Die Ausnahme ist natürlich das Stellen von Fragen und das Lesen von Online- / gedruckten Informationen, aber ich würde dies dennoch als Autodidakt einstufen.

Damit möchte ich auf Probleme vorbereitet sein, denen ich begegnen kann, wenn ich niemanden habe, der mich "unter seiner Fittiche hält".

Als Analogie spielte ich den A-Dur-Akkord, als ich mir das Gitarrespielen selbst beibrachte, so, dass es mir erschwerte, zu einem später gelernten Akkord zu wechseln.

Wenn Sie uns Ihre Erfahrungen mitteilen und Ratschläge geben könnten, was beim Erlernen der Spieleentwicklung schief gehen könnte, wäre ich Ihnen dankbar.

Ich bin mir durchaus bewusst, dass es der größte Teil des Lernens ist, Fehler zu machen, aber wenn es Fehler gibt, auf die ich vorbereitet sein kann, wäre ich damit glücklicher.

Ste
quelle
Werfen Sie einen Blick darauf, die Share-Lessons-Sache kann die Frage als unbefristet und ungültig machen, so dass sie möglicherweise geschlossen wird.
Gustavo Maciel
Das ist ein guter Punkt. Für jeden Besucher plane ich, eine umfassende Antwort zu akzeptieren.
Ste
Ste, beachten Sie, dass Sie bewegen ein Häkchen auf eine andere Antwort, wenn Sie ein neues Geschäft denken ist besser. Ich entschuldige mich bei Gustavo und versuche nicht, ihn zu vertreten :) Aber es geht bei diesen Websites und beim Abstimmen und Markieren darum, die beste Antwort auf eine Frage hervorzuheben . Auch, obwohl es toll, dass Sie haben eine Antwort akzeptieren, es ist nicht notwendig , zu akzeptieren , dass schnell - eine Stunde nach dem geposteten Frage, ist ein bisschen schnell. Normalerweise warte ich mindestens einen Tag, vielleicht auch länger, bevor ich eine Antwort annehme. Sehen Sie, was auftaucht.
Cyclops
@ Cyclops - ja, ich hatte nicht damit gerechnet, dass sich die Frage als so beliebt erweisen würde. Ich werde nächste Woche überprüfen. Vielen Dank an alle für die tollen Antworten.
Ste
Vielen Dank für all die tollen Antworten. Ich habe die akzeptierte Antwort auf die mit den meisten positiven Stimmen verschoben. Ich habe dies getan, um die Meinung der Community zu reflektieren. Ich hoffe du verstehst @Gustavo
Ste

Antworten:

54

Spieleentwicklung ist wie Statik

Es gibt Mindestanforderungen an die Funktionalität. Die Mindestanforderungen sind nicht außergewöhnlich anspruchsvoll und viele Menschen können lernen, wie sie erfüllt werden. Das ist der Funktionsteil . Es ist der kleine Teil. Hier treffen Sie die Entscheidung, welche Sprache Sie verwenden, auf welcher Plattform Sie sich entwickeln oder welche Bibliotheken Sie verwenden möchten.

Der nächste Teil ist der große Teil. Der Formteil . Form ist das, was die guten Spiele wirklich von den großen Spielen unterscheidet. Dies ist der Teil, der die Kunst der Spieleentwicklung ausmacht . Ich spreche nicht nur über die sensorischen Vermögenswerte (Grafik, Sound usw.?). Ich spreche über das Basteln einer Erfahrung. Das ist der schwierige Teil.

Der Funktionsteil stammt aus Tutorials, Bibliotheken und etwas Zeit. Jeder kann das.

Das Formteil kommt von Ihnen. Es ist die Leidenschaft, die dich überhaupt dazu gebracht hat, Spiele zu machen. Es ist, als würde man eine Geschichte erzählen, eine erfundene Geschichte (oder eine wahre Geschichte, die man sehr verschönert). Je mehr Sie die Geschichte erzählen, desto besser wird es. In der Softwareentwicklung nennen wir es Iteration. Ihre Geschichte ist Ihr Code. Das erste Mal, wenn Sie es sagen, wird es nicht sehr gut sein. Die Dinge werden fehl am Platz sein, du wirst erkennen, dass dieses Teil dorthin gehen sollte und das hier. Sie werden feststellen, dass die Dinge wahrscheinlich besser fließen werden, wenn Sie die Dinge so arrangieren oder dieses Bit erweitern. Also, genau wie bei einer guten Geschichte, werden Sie sie erzählen, beurteilen, wie gut sie ist, und sie dann modifizieren. Das braucht Engagement und das braucht Zeit. Ärgern Sie sich nicht, wenn das erste, was Sie produzieren, nicht Gold ist. Ich habe lange und hart an vielen Teilen meines Spiels gearbeitet, um sie später herauszuholen, weil ich an viel gedacht habebessere Art und Weise, es zu tun. Mach dir keine Sorgen, es ist alles Teil des Lernprozesses. Du lernst immer aus deinen Fehlern und oft ist es das, was dich dazu bringt, Dinge besser zu machen.

Also, was Sie davon wegnehmen sollten, ist dies:

  • Teste oft.
  • Lassen Sie sich jetzt nicht auf die Funktion ein. Machen Sie sich nicht zu viele Gedanken über die Optimierung oder welche Bibliothek auf lange Sicht die beste sein wird. Nehmen Sie einfach die minimale Funktionalität, dann wiederholen.
  • Wenn die Funktion abgeschlossen ist, gratulieren Sie sich selbst, Sie sind ein kleiner Teil der Vorgehensweise.
  • Benutze Sonnencreme
  • Dies ist eine Fähigkeit, deren Entwicklung einige Zeit in Anspruch nimmt. Wenn Sie ein Musikinstrument erlernen, ist dies nicht anders. Sie werden besser.
  • Denken Sie daran, wofür Sie da sind, die Freude am Schaffen! Wenn es langweilig wird, wechseln Sie zu etwas anderem (probieren Sie einige Spiele aus, um Ihre Entwicklungszeit zu verkürzen). Aber hör nicht auf, nur weil es schwer ist.
  • Die Spieleentwicklungs-Community hier auf SE ist großartig. Hier finden Sie alles, was Sie brauchen. Sie können eine Frage stellen oder in den Chat springen und Ihre Ideen diskutieren.

Das Internet steckt voller Informationen in Blog-Posts, Tutorials und Communitys wie diesem. Zusammengenommen würde ich sagen, dass das ein ziemlich guter Flügel ist, unter dem man sein kann. Grundsätzlich sind die Gefahren nicht schwerwiegend. Sie können die Dinge für eine Weile auf die "falsche" oder harte Art und Weise tun, aber Sie werden es schließlich lernen. Sie scheinen viel Programmiererfahrung zu haben, so dass Sie den Funktionsteil meiner Meinung nach schnell erlernen werden. Die Fehler, die bei der Spieleentwicklung und der "regulären" Entwicklung gemacht wurden, überschneiden sich stark. Ihre Erfahrung wird Ihnen dabei helfen, viele der allgemeinen Probleme zu vermeiden, die neue Spieleentwickler befallen. Ich denke, du wirst es gut machen. Viel Glück.

MichaelHouse
quelle
6
+1 für Awesomeness, alles, was auf meinem Beitrag fehlt, ist hier zu finden: D
Gustavo Maciel
1
"Sonnencreme tragen" Was meinst du damit? eine Redewendung "Wear Sunscreen"?
Lukasz Madon
4
Das ist ein Witz, der auf einem Artikel "Wear Sunscreen" von Mary Schmich basiert . Grundsätzlich gilt: "Die langfristigen Vorteile von Sonnenschutzmitteln wurden von Wissenschaftlern bewiesen, während der Rest meiner Ratschläge keine zuverlässigere Grundlage hat als meine eigene Erfahrung." Vielleicht bekannter in Form dieses Liedes .
MichaelHouse
4
Nun, Sonnencreme ist eigentlich gar nicht so gut 2 . Bleib einfach drinnen und programmiere weiter.
Bobobobo
28

Ja, es kann das Schlimmste sein, wenn Sie jemanden haben, der Ihnen vorher gesagt hat, was zu tun ist, wie zu reparieren ist usw. usw. Aber keine Angst! Sie können noch VIELE Blogs von Leuten lesen, die dort waren, sie teilen ihre Erfahrungen in der Branche, wie sie zum Erfolg gekommen sind, wie ein vorheriges Spiel gescheitert ist und warum usw. usw.

Gute Beispiele sind:

Und vieles mehr!

Meine letzten Sprüche sind: Fürchte dich nicht. Ich bin auch Autodidakt, seit 4 Jahren bin ich mit Spielentwicklern vertraut, es gibt viele Barrieren, aber nichts, was Sie nicht lösen können, wenn Sie googeln und einige Texte lesen. Viel Glück auf deiner Reise :)

Gustavo Maciel
quelle
3
Hinzu kommt, dass selbst Profis dieses Problem häufig haben. Solange Sie und Google lernen können, können Sie so ziemlich alles herausfinden.
Asche999
Seltsam, dass Sie 2Dboy verknüpfen. Soweit mir bekannt ist, haben sie auf allen Plattformen, die es in den letzten Jahren jemals gegeben hat, außer auf den Ports von World of Goo nur wenige Dinge getan. Es ist lange her, dass ich dort etwas über Gamedev gelesen habe.
TravisG
@TravisG Der Prozess des releaseSpiels hängt nicht nur damit zusammen, es zu entwickeln. Es ist sowieso gut zu lesen. Ich habe die Links eher als Referenz gepostet, um dem Blog nicht zu folgen. Wenn Sie zurück ins Archiv gehen, gibt es ein paar Beispiele von Prototypen und alles, was ihnen mit World of Goo und anderen "weniger kleinen" Prototypen geholfen hat: D
Gustavo Maciel
18

Diese Haltung. Diese Haltung "Fass es nicht an, bis du weißt, wie man es perfekt macht". Das wird dich wirklich zurückhalten.

Sie sehen diese Einstellung jedoch bei den ersten Entwicklern aller Art - nicht nur bei Spielen. Websites auch. Hey, eine Website ist eine Datenbank mit einem HTML-Frontend mit etwas Javascript. Sie lernen die Technologien auf jede erdenkliche Weise und stellen Ihre erste Site zusammen. Es wird nicht fantastisch sein, aber nachdem man die Dinge auf eine nicht optimale Art und Weise getan hat, ist es keine große, verdammte Sache !! Wenn Sie es das erste Mal "auf dem langen Weg" machen, können Sie es beim zweiten Mal immer besser machen. Mein Punkt ist, es besteht keine Gefahr. Außer dieser Einstellung vielleicht. Diese Einstellung wird Sie davon abhalten, jemals etwas zu tun, denn Sie werden sich immer der Aufgabe widersetzen und sagen: "Ich weiß noch nicht, wie Sie das tun sollen."

Die Einstellung, dass es einen "richtigen Weg" gibt, Dinge zu tun. Gibt es nicht Die Dinge sind genau so, wie sie scheinen. Sie müssen Pixel auf dem Bildschirm platzieren und Geräusche machen, wenn etwas passiert.

Bobobobo
quelle
3
So wahr. Das hält mich immer noch sehr zurück. Obwohl ich irgendwie nicht einverstanden bin, gibt es in Bezug auf die Dinge einige "richtige" und viel mehr "falsche" Wege, aber Perfektionismus und Analyse-Lähmungen können mit Sicherheit ein Problem sein. Gute Antwort!
Petr Abdulin
6

Abhängig davon, ob Sie dies später zu Ihrem Beruf machen möchten oder nicht (ich gehe nur davon aus, dass Sie darüber nachdenken und dies ist nicht nur eine Hobby-Sache), habe ich Folgendes als äußerst effektiv befunden:

  1. Fangen Sie klein an

Es wurde bereits gesagt, aber ich sage es noch einmal: Beginnen Sie mit kleinen Schritten, machen Sie sich mit einer Engine, einem Framework, einem Tool oder einem Programm vertraut. Sobald Sie die Grundlagen verstanden haben -> gehen Sie größer.

  1. Lerne ALLES

Das mag ein bisschen extrem erscheinen, aber ich meine, lernen Sie so viel wie möglich über JEDEN Aspekt der Spieleentwicklung - egal ob Sie ein Coder, Künstler oder Designer sind oder nicht. Die Pipeline zu kennen, ist der Schlüssel, um die Dinge auf die effizienteste Weise aufzubauen. Wenn Sie eine Waffe implementieren -> entwerfen, konzipieren, modellieren, implementieren, codieren! Sie müssen natürlich kein Konzeptkünstler, Designer und Pipeline-Nerd der Klasse A sein - aber Sie sollten mit allen Werkzeugen des Prozesses vertraut sein und jeden Schritt der Erstellung verstehen. Besuchen Sie auch die Spiele-Websites, um Neuigkeiten und Updates zu erfahren - gamasutra.com, kotaku usw. bieten großartige Artikel zu Geschäfts- und Technikthemen. Beschränken Sie sich nicht nur auf einen Entwicklungsbereich - nehmen Sie das gesamte Wissen auf, das Sie bekommen können :)

  1. Scheitern Sie oft, scheitern Sie hart.

Sie werden saugen, was Sie tun. Am Anfang. Es ist immer so (glauben Sie mir, ich weiß: D), aber es wird nur besser, wenn Sie weitermachen und NIE aufhören, nach Wegen zu suchen, um Ihre Arbeit zu verbessern. Das Internet ist eine großartige Quelle für Tutorials, Referenzen und Hilfe. Sie werden nie wirklich stecken bleiben, also setzen Sie sich mit den verrücktesten Ideen auseinander, scheitern Sie, lernen Sie aus Ihren Fehlern und werden Sie bei diesem Prozess böser.

  1. Mit Leuten reden!

Während das Internet eine großartige Quelle ist, müssen Sie sich bei der Arbeit VIEL mit persönlichen Rückmeldungen auseinandersetzen. Daher ist es auch wichtig, Ihre Soft Skills zu verbessern. Wenn Sie noch keinen Mentor haben oder im Allgemeinen nicht viele Leute kennen, die in der Branche arbeiten, sollten Sie sich in Ihrer Gegend nach Treffen mit Indie-Entwicklern umsehen, Konventionen besuchen und nach anderen Veranstaltungen suchen, bei denen Sie mit dem Aufbau beginnen können ein persönliches Netzwerk von Wissen und Kontakten. Es hilft auch, etwas mit anderen Leuten zusammen zu bauen - Autodidakt ist großartig, aber Spieleentwicklung ist ein teambasiertes Spiel. Überprüfen Sie daher die Foren für Hobbyprojekte - zum Beispiel das Epic Forum für UDK-Projekte, Unity-Foren oder sogar die CryEngine-Foren -Alle drei dieser Motoren sind weit verbreitet, es gibt eine Menge talentierter Leute, die dort an Nebenprojekten arbeiten, und sie '

Ich denke, das ist so ziemlich alles, was ich raten kann. Ich hoffe das hat dir irgendwie geholfen :)

Nils Diefenbach
quelle
Alle deine Punkte sind so wichtig, dass sie die Nummer 1 in dieser Liste sind! :)
Bobobobo
3

Ich habe überhaupt keine C # - und XNA-Erfahrung, aber ich glaube, die folgende Aussage wird mich nicht irren:

Es ist vollkommen in Ordnung, ohne Lehrer Programmieren zu lernen. Wenn Ihr Code funktioniert *, spielt es keine Rolle, wie er codiert wurde. Nun, es funktioniert für die kollaborative Programmierung, aber dann werden Sie doch nicht mehr alleine programmieren, oder? Es kann auch dazu führen, dass Ihr Code in Zukunft für Sie weniger lesbar wird, wodurch es schwierig wird, alte Komponenten zu verwenden oder neue Fehler zu beheben. Auf lange Sicht werden jedoch alle Ihre Fehler Ihre Stärken sein. Das Schwierigste beim Erlernen von OOP- und MVC-Design ist das Verstehen, warum ich "dies" auf "diese Weise" tun sollte. Wenn Sie bereits Erfahrung mit der Erstellung schlechter Programme haben, werden Sie die Stärken von Mustern kennen und diese zu Ihrem Vorteil nutzen. Wenn Sie immer gute Programme erstellt haben, indem Sie Mustern gefolgt sind, die Ihnen jemand beigebracht hat, werden Sie weiterhin gute (im Sinne eines gültigen Codes) Programme erstellen. Aber anstatt die Muster auszunutzen, werden Sie durch sie eingeschränkt, da Sie sie nicht genug verstehen, um nützliche Änderungen vorzunehmen. Am Ende ist es am wichtigsten, dass Sie üben und nicht wie. In beiden Fällen erhalten Sie früher oder später eine ganz ähnliche Erfahrung.

* eins ist aber wichtig! Im Falle der Sicherheit sollten Sie jemanden fragen, der Erfahrung mit Ihrem Code hat, da Sicherheitslücken keine Fehlermeldungen auslösen.

Markus von Broady
quelle
3

Irgendwie ist das eine tolle Frage! :-)

Ich habe vor nicht allzu langer Zeit mit meiner Spielev-Aktivität begonnen und es wird das zweite Mal sein, damit ich meine Gedanken teilen kann. Sie haben tatsächlich Recht, dass es gut ist, einen Mentor zu haben. Dieser Mentor wird das Internet sein. Je mehr Informationen im Internet geteilt werden, desto einfacher wird es für Sie zu lernen sein. Aus diesem Grund ist XNA / C # eine ausgezeichnete Wahl für den Anfang. Es gibt viele Amateur- und professionelle Indie-Gamer, die Artikel teilen und im Web sind. Andere Dinge zu erwähnen:

  1. Gehe auf Open Source! Codeplex, GitHub, Google.Code, Bitbucket. Dort gibt es eine Menge wertvoller Dinge.
  2. Gehe zur Community! Sie sind hier und es ist eine gute Sache. Aber es gibt auch eine große Microsoft XNA-Community mit einigen guten offiziellen Dingen . CodeProject ist auch eine gute Ressource (allerdings ist dort die Aktivität von gamedev eher gering).
  3. Sie müssen wahrscheinlich viel lesen / schauen . Bereits zuvor erwähnt. Spieleentwicklung ist nicht nur Codierung. Spieldesign ist auch wichtig. Begeisterung ist wichtig.
  4. Wie üblich, versuchen Sie nicht, zu viel auf einmal zu beißen. Es ist eine gute Idee, eine eigene Kopie von Tetris oder Breakout zu schreiben.
  5. Es könnte am Anfang schwierig sein, die Spieleentwicklung ist nicht nur wirklich schwierig, sie unterscheidet sich auch sehr von "Enterprise" -Anwendungen. Es gibt viele neue Aspekte, Grafiken, Sound usw. Je mehr du gehst, desto einfacher wird es (wie üblich).
  6. Schreibe einen Blog. Drücken Sie Ihren Entwicklungsprozess aus (in diesem Prozess finden Sie Antworten auf Ihre eigenen Fragen), speichern Sie Links mit Kommentaren zu wichtigen Artikeln.
  7. Denken Sie nicht, dass Ihr Code das Schlimmste ist, was Sie jemals gesehen haben. Der Spielcode ist schwerer zu kontrollieren, er ist immer ein bisschen schmutziger als der hübsche "Enterprise" -Code. Aber ich versichere Ihnen, dort habe ich einige schreckliche Kreationen (in Bezug auf Quellcodequalität und Spielorganisation) gesehen, die erfolgreiche Indie-Spiele waren. Seien Sie also nicht zu streng mit sich selbst, insb. am Anfang.
Petr Abdulin
quelle
1

Dies gilt für alle Disziplinen, die mit einer Kreativbranche zu tun haben:

Die größte Gefahr besteht darin, etwas "zu Großes" oder "Episches" aus dem Tor zu bauen.

Wenn Sie zum Beispiel anfangen, Musik zu machen, würden Sie nicht versuchen, eine zweistündige Symphonie mit 50 Stücken zu machen.

Im Level-Design manifestiert sich dies darin, dass versucht wird, die "größte Karte aller Zeiten" zu erstellen, oder dass mithilfe des Spielsystems das komplexeste Objekt erstellt wird, mit dem die Game Engine umgehen kann. Bei der Programmierung kann dies dazu führen, dass Sie ein komplettes Spiel selbst erstellen, beginnend mit dem Quellcode Null. Sie brauchen wirklich viel Erfahrung und Disziplin, um mit Zero Source zu beginnen, und selbst dann ist es unglaublich schwierig, und es ist schwierig, Designentscheidungen über alles zu treffen, während Sie das Design von allem ausarbeiten. Selbst ein simplifiziertes Spiel erfordert heutzutage ziemlich viel Programmierung in einem modernen Betriebssystem und einer Sprache. Auch wenn Sie mit anderem Code beginnen, können Sie lernen, was funktioniert und was nicht. Die Arbeit mit so vielen Engines wie möglich ist also auch ein großes Plus.

Ich würde also ab Anfang so etwas wie die folgenden Pläne empfehlen:

  • Level Design: Bauen Sie einen kleinen Raum, bauen Sie ein halbes Gebäude, bauen Sie ein ganzes Gebäude usw
  • Kunst: Machen Sie einen Hut für TF2 oder ähnliches einfach, oder ersetzen Sie Skyrim oder eine andere Bissgröße durch Textur, bevor Sie sich mit Skelett- oder Morph-Maschen befassen und herausfinden, wie Sie sie mit ZBrush gut animieren oder malen können.
  • Programmierung: Nehmen Sie eine vorhandene modifizierbare oder OpenSource-Spiel-Engine, modifizieren Sie einen Teil davon (wie eine Waffe) und stellen Sie dann eine neue Waffe her. Wenn Ihnen der Gameplay-Code nicht gefällt, können Sie die Grafik-Engine hacken.

Am besten nehmen Sie eine vorhandene fertige Engine (entweder eine modifizierbare oder eine OpenSource-Engine) und hacken sie ein paar Mal an mehreren verschiedenen Engines, bis Sie eine finden, die Ihnen gefällt.

Zoner
quelle