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.
Antworten:
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:
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.
quelle
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 :)
quelle
release
Spiels 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: DDiese 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.
quelle
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:
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.
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 :)
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.
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 :)
quelle
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.
quelle
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:
quelle
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:
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.
quelle