Es geht eigentlich darum, dass du so ohne weiteres Wissen was du willst keine Engine entwickeln kannst. Du sollst dich also nicht hinsetzen und eine Engine schreiben, sondern ein Spiel schreiben. Danach schreibst du noch ein Spiel. Da du faul bist guckst du in deinem alten Spiel was du wiederverwenden kannst. Das geht immer so weiter. Jetzt kristalisiert sich im Code heraus, welche Funktionen du immer wieder benötigst und die einzelnen Componenten wirst du vermutlich immer passender umschreiben, sodass du es wiederverwenden kannst. Dadurch entwickelt sich deine Engine quasi automatisch. Wenn du jetzt also sagst, du willst gerne eine Physikengine schreiben, dann schreib doch ein kleines Spiel in welchem du Physik brauchst. Danach noch eins und noch eins. Im Prinzip müssen es ja keine fertigen Spiele sein, es reichen ja vielleicht auch kleinere Prototypen. Dein Physikcode wird sich dadurch immer mehr zu dem entwickeln was du möchtest. Ohne einiges an Vorwissen und Erfahrung wirst du nämlich nicht wissen, was die Engine beinhaltet soll und wie der Code designt werden soll, damit "du" damit gut umgehen kannst. Aber natürlich ist die Idee was fertiges zu benutzen auch nicht schlecht