Die meisten anderen Posts werden "Make a Game not a Engine" sein, aber ich gehe davon aus, dass Sie ein bestimmtes Spiel im Kopf haben und wissen möchten, wann es eine gute Idee ist, mit dem Code eines anderen zu beginnen Basis oder von vorne anfangen.
Sie sollten Ihre eigene Technologie nicht rollen, es sei denn, Sie wissen, dass Sie Ihre eigene rollen müssen . Das mag flippig klingen, aber es ist wirklich die einzig richtige Antwort. Wie bei den meisten Entscheidungen gibt es Kompromisse. Nur Sie können für Ihre spezielle Situation die Kosten-Nutzen-Analyse bestimmen.
Sie sollten die folgenden Dinge verstehen (diese Liste ist kaum vollständig).
- Welche Middleware gibt es bereits, die Sie verwenden könnten ("Engine" oder auf andere Weise)
- Was bringt diese Middleware auf den Tisch, Feature-weise.
- Wie ausgereift / bewährt die Middleware ist, besonders wenn Sie sich für die Unterstützung mehrerer Plattformen interessieren
- Welche Tools die Middleware bietet oder nicht, um die Entwicklung zu beschleunigen?
- Welche Einschränkungen hat die Middleware (als einfaches Beispiel hat Unity 3.x unter iOS keine Echtzeitschatten von dynamischen Lichtern erzeugt)
- Welche spezifischen Funktionen , die Ihr bestimmtes Spiel haben muss .
- Wie hoch sind Ihre Fristen und wie viel Zeit müssen Sie aufwenden, um den Punkt zu erreichen, an dem Sie die Middleware erhalten, und wie viel die Middleware kostet.
- Wie erweiterbar die Middleware ist (Sie können beispielsweise das Schattenproblem unter iOS in Unity umgehen, indem Sie Blob-Schatten oder Projektionsschatten verwenden.)
(Beachten Sie, dass ich dort oben nicht speziell "mehr Kontrolle" eingestellt habe. Dies ist eine geladene Phrase, die von "Ich mag keinen Code, den ich nicht schreibe" bis zu "Ich muss in der Lage sein, zu sehen, zu verstehen und zu verstehen Optimieren Sie alle Variablen in der Physik-Engine, um diesen bestimmten Effekt zu erzielen. "Die erste ist keine wirklich gültige Überlegung, die zweite jedoch.)
Persönlich finde ich, dass es sich kaum lohnt, die eigene Technologie für ein Low-Budget-Spiel zu entwickeln. Die Menge an Kraft, die man heutzutage mit den billigen Motoren bekommt, ist lächerlich. Sie sind nicht an einem Punkt angelangt, an dem Sie sich für eine millionenschwere Triple-A-Lizenz entscheiden oder nicht. Sie werden nicht in der Lage sein, das zu übertreffen, was Unity Ihnen für $ 3k anbietet. Oder Cocos2d für alles, was es kostet (ist es nicht kostenlos?).
Wenn sich Ihr Spiel hauptsächlich auf Technologien konzentriert, die andere Engines nicht oder nicht mit angemessenen Frameraten bereitstellen können, ist es möglicherweise sinnvoll zu untersuchen, was Sie tun können. Das heißt aber nicht, dass Sie die anderen Mittelstücke komplett wegwerfen. Nur weil Sie beispielsweise Ihren eigenen Renderer benötigen, heißt das nicht, dass Sie keine andere Middleware für Physik, Sound oder Benutzeroberfläche verwenden können.