Lohnt es sich eine eigene Game Engine zu schreiben?

7 Antworten

Es ist im allgemeinen sinnvoller eine verfügbare zu nehmen und sich auf den eigentlichen Content zu konzentrieren.

xor69nor 
Fragesteller
 04.09.2019, 13:24

Danke

0

Der Aufwand wäre zu groß vorallem wenn die Engine sich an moderne Engines messen so, sowas programmiert man nicht eben mal so, da steckt die Jahre lange Arbeit von X Programmiern drin.

xor69nor 
Fragesteller
 04.09.2019, 14:40

Danke

0

Das hängt von dem Anwendungszweck deiner Engine ab, beziehungsweise der Spiele, die du mit deiner Engine programmieren möchtest.

Der Entwickler ConcernedApe hat beispielsweise für sein Spiel Stardew Valley eine eigene Engine geschrieben. Eine eigene Engine zu schreiben erlaubt es einem, die Engine ganz genau auf das eigene Spiel zu optimieren. Das ist selbst mit Engines wie der Unreal Engine 4, die es erlauben, die Engine zu ändern, schwierig und mit Engines wie der Unity Engine unmöglich.

Warum man keine eigene Engine schreiben sollte, so eine Engine erfordert massives Fachwissen. Das geht weit über Schulwissen und sogar über das, was man im Studium lernt, hinaus, hohe Mathematik mit Matrizen, Scheduling und Memory Algorithmen und so weiter.

Auch der Arbeitsaufwand ist nicht zu unterschätzen. Hier hat jemand über Jahre an einer eigenen C++ Engine gearbeitet und hat nur wenige Features realisiert: https://preshing.com/20171218/how-to-write-your-own-cpp-game-engine/

Da es meist eher darum geht, ein Spiel zu programmieren, lohnt es sich, eine vorhandene Engine zu benutzen. Wenn es dir bei deiner Frage um Optimierung geht, man kann bereits bei dem Design, was man in seiner Programmierung geht, unglaublich weise Entscheidungen treffen, die eine ausgezeichnete Performance erlauben.

xor69nor 
Fragesteller
 04.09.2019, 14:34

Danke für die ausführliche Antwort!

0
Crysali  04.09.2019, 19:39
@xor69nor

Gerne, ich hoffe ich konnte dir damit weiterhelfen!

0

Kommt darauf an was die Game-Engine können soll.

Wir sind uns denke ich einig dass es für eine Person unmöglich ist, eine Engine der Größenordnung von Unreal oder Frostbyte neu zu programmieren. An diesen Engines haben tausende Entwickler über viele Jahre gearbeitet.

Ein sehr gutes Beispiel für das Neuschreiben einer Engine ist das Spiel Hytale. Das wird eine sehr viel fortschrittlichere Version von Minecraft werden und basiert in den Grundzügen auf der Sandbox Engine. An der Hytale Engine arbeiten seit 5 Jahren im Kern nur zwei Leute. Die Engine wurde in C++ geschrieben und ist dank der Pointer-Mechanik und einem neuen Objektierungs-Konzept sehr viel performanter als die originale Sandbox Engine von Minecraft. Da lohnt sich das Schreiben einer neuen Game Engine auf jeden Fall. Die Unreal Engine eignete sich nicht für dieses Projekt, da sie nicht mit so vielen Gameobjects umgehen kann und und viel zu viel Overhead produziert.

Ein schlechtes Beispiel von Leuten die versucht haben das Rad neu zu erfinden ist die Arma Engine. Bohemia hätte sich viel Ärger, Kosten und Mühen erspart, hätten sie einfach die Arma Serie mit der Unreal Engine entwickelt. Dann wäre das Spiel sehr viel besser und die Qualität professioneller gewesen.

Zudem setzt das Entwickeln einer Game Engine sehr tiefgreifende Fachkenntnisse über Programmiersprachen, Betriebssysteme, die Grafikkarten Schnittstellen OpenGL und DirectX und auch Mathematik und Physik voraus.

LG Knom

Woher ich das weiß:Studium / Ausbildung – Softwareentwickler mit 10 Jahren Berufserfahrung 💾
xor69nor 
Fragesteller
 04.09.2019, 14:36

Danke für die ausführliche Antwort!

1

In der Regel sind die vorhandenen Engines gut genug. Will man bestimmte Funktionen aber grundlegend anders, dann bleibt einem nichts anderes, als da selber zu coden.

Letzteres ist aber in der Regel deutlich teurer als irgendwelche Lizenzkosten.

Ach ja...jemand, der eine Game Engine schreibt, braucht sein Wissen übder die verwendete Sprache nicht mehr verbessern.

xor69nor 
Fragesteller
 04.09.2019, 14:35

Danke für die Antwort!

0