Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

27.10.2013, 12:05

Frage zu den Arbeitsschritten innerhalb eines Projekts

Einen wunderschönen guten Morgen :)

Ich muss zugeben, dass mich einige Threads in diesem Unterforum durchaus zum Schmunzeln gebracht haben, konnte aber auf den ersten Blick nichts zu meiner eigenen Frage finden.
Kurz zu mir - ich arbeite seit längerem in einem kleinen Team an einem MMO. Rein hobbymäßig, ohne an einen möglichen Gewinn zu denken oder mir gar sicher zu sein, mit meiner selbstverständlich absolut genialen Idee (die natürlich noch niemand anderer hatte) einen Topseller zu landen :rolleyes:

Dennoch ist mir dieses Hobby wichtig, weswegen ich auch bereit bin, monatlich einen Teil meines Einkommens in diese Spieleidee zu investieren, um sie mit Hilfe von Freelancern langsam aber sicher voran treiben zu können. Dass es damit langsamer geht ist mir bewusst, aber wie gesagt habe ich keine Eile und weiß, wie viel Arbeit so ein Projekt macht und die Idee dahinter nur die Spitze des Eisbergs ist.

Doch zu meiner Frage - in welcher groben Reihenfolge erfolgen die einzelnen Arbeitsschritte, um ein Spiel zu erstellen? Es ist wie gesagt nur ein kleines Team, weswegen wir nicht alles gleichzeitig machen können. Daher wäre ich euch sehr verbunden, wenn ihr mir ein paar Tipps geben könntet :)

Mein bisheriger Gedankengang
1) Detailreiche Konzepterstellung
2) Design der Welt/Texturen
3) Conceptarts der Charaktere/Waffen
4) Diese Charaktere/Waffen als lowpoly 3D-Models erschaffen, Texturen
5) Diese vom Animateur riggen und animieren lassen
6) Ins Spiel einfügen
7) <ganz viel Programmierung>
8.) Einfügen weiterer Objekte, Monster, etc.
9) <ganz viel Programmierung>
10) UI Design
11) <ganz viel Programmierung>
12) Diverse Tests
13) Hinterlegung von Soundeffekten
99) Release der Alpha-Version
100) Firmengründung, Marketing, Release - sollte es jemals soweit kommen ;)

Macht das Sinn? Die Engine selbst ist soweit fertig, wodurch viele Arbeitsschritte wegfallen.

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

2

27.10.2013, 12:42

Nein, macht keinen Sinn. In einem Projekt sind alle Schritte zumeist parallel, solche klaren Ablauffolgen sind nur nützlich, damit der strukturierende Mensch sich dabei wohlfühlt. Ich freue mich aber, dass Du einen realistischen Blick auf Dein Projekt hast. Spieleentwicklung ist ein schönes Hobby.

Meine Empfehlung: stelle Use Cases auf, also kurze Texte, was in einer Spielsituation passieren soll. Beschreibe dabei wirklich jeden Klick und jeden Tastendruck des Nutzers und was daraufhin passieren soll. Dann nimmst Du die Engine und stellst darin den Use Case nach und machst eine Liste, was noch notwendig ist, damit dieser Use Case auch wirklich genauso wie beschrieben ausgeführt kann. Grafiken kommen da am Anfang noch gar nicht vor, eine Ebene mit Zylindern als Akteure reicht völlig. Damit kann man schon ein vollständiges Kampfsystem implementieren, Interaktionen mit der Umgebung, oder auch eine ganze Charakterentwicklung. Modelle, Animationen, Texturen, Sounds, Musik... sind hier nur relevant, wenn sie für den beschriebenen Spielablauf tatsächlich einen Unterschied machen. Und die Erkenntnis aus vielen Projekten ist: in 99,99% der Fälle machen machen sie keinen Unterschied.

Ein Konzept ist für Dich persönlich eine gute Sache, weil Du damit Deine Projektvision und den Gesamtüberblick behältst. Du kannst daraus Use Cases ableiten genauso wie Listen an Modellen, Texturen, Animationen, Sounds. Den Rest der Welt interessiert ein Konzept eher weniger. Und halte jegliche Namen und Werte aus dem Konzept raus, beschränke Dich auf den spielrelevanten Teil.

Und in jedem Fall: fange KLEIN an. Entwerfe nicht vier Rassen pro Fraktion, solange Du nicht eine Rasse im Spiel hast. Erfinde keine fünf Varianten des Feuerballs, solange Du noch gar keinen Zauber implementiert hast. Definiere keine epischen Rüstungssets, solange Du nicht weißt, was sich daraus alles ableitet. Das Problem an einem MMO ist ja gerade, dass der Aufwand extrem schnell ins Unermessliche steigt. Fange also keine Listen an, bevor Du nicht in einem Einzelfall durchgespielt hast, was für Anforderungen sich aus jedem einzelnen Eintrag der Liste ergeben.

Und damit sind wir wieder bei Use Cases. Wenn die Grund-Spielmechanik mal läuft, kannst Du anfangen, einzelne Use Cases mal komplett mit Grafiken, Animationen und Sounds auszustatten. Und dann erkennst Du schnell, was alles nötig wäre, wenn es statt einer Rasse 8 gäbe, statt einem Gegner 200, statt einem Zauber 50 oder das Ganze statt in einer Höhle in einer Eishöhle, Lavahöhle oder Äther-Höhle stattfände.

Wenn Du dann eine konkrete Anforderung vorliegen hast, z.B. einen Gegner oder eine Rüstung für Charaktäre, dann ist der übliche Ablauf:
- Konzeptzeichnung, in Abstimmung mit Wer-Auch-Immer-Die-Designleitung-Hat
- Modellierung
- Texturierung
- Rigging
- Animationen

(wobei Du bei einem MMO nach Möglichkeit so viele Animationen wie möglich auf so viele Charaktäre wie möglich anwenden solltest. Man kann dort mit systematischer Mesh-Generierung wahrscheinlich auch ne Menge rausholen, um sich zu ersparen für jeden möglichen Körperbau Rüstungsteile neu modellieren zu müssen)
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

3

27.10.2013, 15:50

Vielen Dank für eure Antworten!
Das hilft mir auf jeden Fall unglaublich weiter. Ich hatte sowieso vor, mich langsam an das Projekt heranzutasten und nicht sofort die komplette Welt zu erstellen, sondern wirklich Schritt für Schritt von Dorf zu Dorf bzw. Skill zu Skill zu arbeiten und darauf zu achten, dass alles so funktioniert, wie es soll, ehe ich weitermache. Sonst würde ich wohl zu schnell den Überblick verlieren, und wie gesagt - ich habe es nicht eilig.
Persönlich mag ich Abläufe tatsächlich gerne strukturierter, aber solange das Ergebnis stimmt, werde ich mich da gerne etwas zurücklehnen ;)

Mit GUI und User Cases bin ich schonmal eine Weile beschäftigt und werde, sobald in den nächsten Monaten die ersten sichtbaren Fortschritte vorhanden sind, auch einen kleinen Entwicklungsblog erstellen, um euch oder potentielle Spieler auf dem Laufenden zu halten.

Viele Grüße

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

4

27.10.2013, 19:23

Use Case ;) Es geht um Anwendungsfälle, also "wer soll was wie machen können". Der User ist zwar meist der, für den das ganze umgesetzt wird, aber es geht primär nicht um ihn, sondern um die Aktivität/Aktion an sich und den Nutzen, den der Anwender daraus zieht. Bei vielen Projekten versucht man intern notwendige Dinge komplett aus der Entwicklungsplanung raus zu halten (zumindest machen wir das bei agiler Entwicklung so. Beim Wasserfall ist das wieder ein anderes Thema). Das ist zwar nicht immer einfach, aber meist geht es. Man versucht also alles, was entwickelt werden soll, in einen "Kundennutzen" zu verpacken. Das heißt das Feature, was gebaut wird, hat irgendeinen Einfluss darauf, welche neue Möglichkeiten ein Designer, Modellierer oder Spieler mit dem laufenden Programm dann mehr hat als ohne dies. Der Kunde zieht also direkt einen Nutzen aus dem Feature oder der umgesetzten "Story". Auf diese Weise arbeitet man stets an etwas, was das Projekt auch nach außen hin voran bringt und was letztlich auch jedem Entwickler auf Dauer mehr Spaß macht als nur intern an etwas zu fummeln, was nach außen nie jemand sieht.

Man sollte übrigens darauf achten, diese klein zu halten. Also lieber ein "Der Spieler soll mit Taste XYZ einen Zauber auswählen können" und "Bei Klick auf die Maus soll der Zauber anfangen zu casten" statt "Mit XYZ wählt man den Zauber, aktiviert ihn mit der Maus, trifft oder verfehlt das Ziel, bewirkt Schaden/Buff/Debuff, zieht Leben ab, tötet das Monster". Schritt für Schritt. Auswählen, Casten, Effekt ausführen, das sind alles verschiedene kleine Teile eines großen Puzzles. Genau wie verschiedene Effekt-Typen auch verschiedene Teile sind. Fang mit einem an. Dann wende Dich einem anderen zu. Wahlweise geht das mit mehreren Entwicklern natürlich auch parallel.

Weitsicht ist übrigens zwar hilfreich, aber nicht immer das höchste Gut. Baue nichts übermäßig komplexes, weil Du meinst, dass Du es später eh mal brauchst. Baue etwas auf den Bedarf zugeschnitten. Erweitere es, wenn es soweit ist. Schrecke nicht vor notwendigen Refactorings zurück. Zu viel Weitsicht endet oft darin, dass etwas overengineered und am Ende nie benutzt wird oder doch nicht das tut, was man damit eigentlich mal vor hatte. Dinge ändern sich. Planung bis in's letzte Detail haut selten hin. Sei wandlungsfähig.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »BlueCobold« (27.10.2013, 19:33)


Werbeanzeige