Tu nie ma magicznej kuli. Jeśli chcesz, aby Twoja gra działała na wielu platformach, musisz napisać kod dla wielu platform (lub wykorzystać biblioteki innych firm, które już to robią).
Rzeczy, o które prosisz, nie pasują do siebie: mówisz (podkreśl moje)
szukam zasobów do zintegrowania czegoś, co pozwoli mi działać na różnych platformach bez przepisywania
ale także to (ponownie podkreśl moje)
Zdaję sobie sprawę, że zamiast pisać własny mogę użyć innego silnika, ale
interesuje mnie nauka .
Będziesz musiał zrobić jedno lub drugie: wybierz bibliotekę, silnik i / lub zestaw narzędzi innej firmy, który zapewnia wsparcie dla wielu platform, lub zbuduj własny, pisząc kod dla wielu platform (projektując własna abstrakcja na platformach, które masz do dyspozycji, i implementacja tej abstrakcji dla każdej platformy).
Silniki gier jak Unreal czy Jedności, które obsługują ten albo rekompilacji kodu na odpowiednią platformę abstrakcji, lub wymagać, aby zbudować bibliotekę lub DLL przed ich wewnętrznych interfejsów API, które ładują z platformy konkretnego pliku wykonywalnego kierowcę, który je sporządził dla odpowiedniego Platforma.
share/os/<linux>
(lubshare/cpu/x86
) i umieścić tam cały kod specyficzny dla platformy, a następnie zastosować warunkowe dołączenia. Tak przynajmniej robią gcc, HotSpot i jądro Linuksa (z pewnością nie jest to trudna zasada). Tak, możesz zacząć od jednej funkcji, która zależy od platformy i myślisz, że to przesada, ale nigdy tak nie jest i szybko stanie się bałaganem.