Nun, es gibt ein paar Möglichkeiten, darüber nachzudenken. Eine besteht darin, die spezifischen Funktionen der Engine aufzulisten (was Sie hier gefragt haben). Die andere Möglichkeit besteht jedoch darin, Spiele zu erstellen, ohne sich über die "Engine" Gedanken zu machen, und dann werden Funktionen, die Sie finden, zwischen mehreren wiederverwendet Spiele (insbesondere die in jedem Spiel verwendeten Funktionen) sollten von der Quelle für ein bestimmtes Spiel in eine gemeinsam genutzte Codebasis namens "engine" migriert werden.
Denn letztendlich möchten Sie eine bestimmte Funktion in der Engine und nicht im Spiel haben, weil sie von mehreren Spielen gemeinsam genutzt wird. In der Regel sind dies Zeichenbefehle, Eingabecontroller und Netzwerkcode. Eine 2D-Game-Engine verfügt über viele 2D-Grafikfunktionen wie das Laden von Bildern, eine Anzeigehierarchie mit Z-Reihenfolge, das Verwalten von Spritesheets, das Tweening usw. Viele Spiele erfordern eine Physiksimulation, viele jedoch nicht. Mittlerweile werden in fast jedem Spiel mehr Dinge "unter der Haube" verwendet, darunter Timer, Ereignismeldungen und sogar mathematische Funktionen, die für die Spieleentwicklung spezifisch sind (z. B. distanceToTarget ()
Um es kurz zu machen:
A) Die Engine sollte Funktionen haben, die von den meisten Spielen gemeinsam genutzt werden.
B) Sie lernen, welche Funktionen gemeinsam genutzt werden, indem Sie eine Reihe von Spielen erstellen.
just start making games without worrying too much about the "engine"
just start making games without worrying too much about the "engine"
ist auf jeden Fall ein netter Vorschlag.