Masz rację, twierdząc, że silnik gry abstrahuje od interfejsów API niskiego poziomu grafiki, ale w pełni rozwinięty silnik gry robi znacznie więcej.
Silniki gier mają na celu ułatwić wszystko w zakresie rozwoju gier. Każdy z nich ma swoje własne unikalne funkcje, ale ogólnie zapewniają łatwe warstwy abstrakcji dla grafiki, dźwięku, danych wejściowych, zarządzania scenami, wykrywania kolizji, matematyki i ogólnie przydatnych narzędzi. Niektóre udostępniają opakowania i wtyczki do fizycznych interfejsów API, a niektóre nawet obsługują sztuczną inteligencję (głównie ograniczone do FSM, wyszukiwania ścieżek i - zgodnie z obecnym trendem - drzew zachowań). Wiele z nich wspiera i szczyci się funkcjonalnością wielu platform.
Silnik gry ma na celu ułatwić użytkownikowi tworzenie gry, bez konieczności radzenia sobie z drobnymi niedogodnościami związanymi z tworzeniem gry od zera lub instalowania całej gamy bibliotek i pisania własnych opakowań dla nich odpowiednich gra.
Istnieje wiele silników, ale uwaga na różnicę między silnikiem graficznym a silnikiem gier (na przykład Unity byłby silnikiem gier, a Ogre - silnikiem graficznym).
Mam dwie książki na ten temat, ale zapewniają one dobry przegląd tego tematu:
Nie są zbyt dogłębne, ponieważ potrzebujesz kilku książek na temat każdego komponentu, aby uzyskać wiedzę potrzebną do stworzenia pełnego, profesjonalnego silnika gry, ale myślę, że wyjaśniają te koncepcje bardzo dobrze.
Jeśli zaczynasz tworzenie gry, nie rób silnika. Odsyłam cię do następującej strony: http://geometrian.com/programming/tutorials/write-games-not-engines/
Silniki to trudna rzecz. Jeśli napiszesz mnóstwo gier, po chwili zauważysz, że masz wiele kodów wielokrotnego użytku, których możesz użyć do stworzenia własnego silnika, który ci pomoże. A posiadanie wielu (kompletnych) gier pod pasem jest o wiele bardziej imponujące niż pojedynczy silnik.
Mam nadzieję, że to pomaga.
Promień