Je weniger Erfahrung Sie haben, desto mehr Zeit verschwenden Sie mit dem Up-Front-Design. Gute Entwürfe zu machen ist etwas, das Sie lernen, indem Sie es tun und dann sehen / bewerten, wie es ausgeht. Einige Entscheidungen haben weitreichende, aber unklare Auswirkungen. Nach einigen Spielen werden Sie wahrscheinlich in der Lage sein, das ursprüngliche Design ziemlich solide zu machen, und es wird sich auszahlen, etwas mehr Zeit in diese Phase zu investieren.
Mein Motto: Erledige die Dinge in erster Linie, aber benutze deinen gesunden Menschenverstand, um zu erkennen, welche Komponenten kritischer sind als andere und entwerfe diese innerhalb deiner Frist ziemlich gut. Wenn beispielsweise die KI für Ihr Spiel von entscheidender Bedeutung ist, stellen Sie sicher, dass Sie sie später problemlos erweitern / ändern können. Oder wenn Sie eine Komponente schreiben, die Sie in jedem Spiel verwenden werden, entwerfen Sie sie für die Wiederverwendbarkeit. Verfolgen Sie Ihre Zeit und machen Sie sich keine Gedanken über das Entwerfen. Setze eine Design-Deadline und beginne danach alles zu hacken, um deine Release-Deadline zu bekommen. Aber stellen Sie sicher, dass Sie notieren, welche Punkte nachträglich überarbeitet / umgestaltet werden müssen, und kalkulieren Sie in einiger Zeit, bevor Sie mit dem nächsten Spiel beginnen, um diese Dinge zu verbessern, damit sie Sie nicht zurückbeißen können!
Ein guter Rat: Wenn Sie zwischen zwei Optionen wählen müssen, sollten Sie nicht zu lange bei Details verweilen. Meistens gibt es kein "gut" oder "schlecht". In einigen Situationen wird A besser sein, in einigen wird B besser sein, und insgesamt ist der Unterschied zwischen beiden möglicherweise nicht immer die Zeit wert.
Es gibt eine Menge Erfahrung beim Entwerfen von Software oder Spielen. Sie sollten also einen Teil Ihrer Zeit für Recherchen aufwenden (z. B. ein Buch über Design lesen, über andere Erfahrungen lesen, mit anderen Programmierern über Ihre Entwürfe sprechen usw.). ).
Die Menschen sind schrecklich bei der Vorhersage der Zukunft. Dies gilt insbesondere für Spiele, bei denen sich die Anforderungen täglich ändern können.
Es gibt ein Prinzip namens YAGNI , auch bekannt als "Sie werden es nicht brauchen", das im Grunde sagt, dass Sie etwas nicht implementieren sollten, bis Sie wissen, dass Sie es brauchen werden.
Ich habe gesehen, dass so viele Systeme mit architektonischer Rigidität überfrachtet sind, die nichts davon nutzten, da die Funktionen, von denen die Leute dachten, sie würden sie brauchen, nie genutzt wurden.
Meine persönliche Philosophie ist, das Einfachste zu tun, was möglicherweise funktionieren könnte . Davon abgesehen gibt es einen Unterschied zwischen Getting It Done und Hacking Shit Together. Das Schreiben von Code mit einem bestimmten Zweck sollte nicht bedeuten, dass Dinge, die einen "Code-Geruch" erzeugen, öffentlich gemacht werden, dass Blob-Klassen alles tun oder eines der Dutzenden anderer Dinge, die "schlechten" Code bedeuten.
quelle
Dies wird in meiner heutigen Denkweise als wahr bewertet:
quelle
Ich bin ein Freund von Software Rapid Prototyping. Besonders während der Spieleentwicklung. Es ist gut zum schnellen Lernen, Testen und Verwenden von Dingen. Für mich ist es die beste Methode, in der Nähe der Hardware zu programmieren oder komplizierte Algorithmen zu verwenden.
Meine Version von Rapid Prototype muss die richtige Prototypenkruste haben:
Vorteile:
Wenn Sie es gut machen, können Sie am Ende eine echte Debug- / Lernversion Ihres Produkts haben.
Wir verwenden es in unserem Projekt und sind damit zufrieden.
quelle
Schauen Sie sich die agile Softwareentwicklung an . Obwohl es kein Wundermittel ist, zielt es darauf ab, beides zu tun (erledigen Sie es und verfügen Sie über ein solides Software-Design).
quelle