SimpleGamesFactory (SGF) to biblioteka C++ do tworzenia gier na platformy embedded. Dostarcza podstawowe elementy potrzebne do zbudowania gry bez narzucania ciężkiej architektury silnika.
W ramach projektu rozwijane są m.in. pętla gry, sceny i przełączanie między nimi, obsługa akcji wejściowych, render targety, mechanizm dirty rectangles, kafelkowe odświeżanie obrazu, programowe sprite’y, kolizje i prostą fizykę brył sztywnych, narzędzia do pracy z formatem RGB565 oraz sterowniki wyświetlaczy. Silnik wspiera też rendering rzutem pseudo-3D (raycasting), dzięki czemu na tym samym mikrokontrolerze da się zbudować zarówno grę 2D, jak i prostą strzelankę w klimacie wczesnych FPS-ów.
Skalę zastosowań widać w repozytoriach demonstracyjnych organizacji: klony Arkanoida, Snake’a, Sokobana, Tetrisa i Blokusa, a także gra inspirowana Wolfensteinem 3D działająca na ESP32. Dzięki temu SGF jest jednocześnie biblioteką i poligonem do eksperymentów z ograniczonym sprzętem.
Eksperymenty z AI
Projekt sprawdza też, jak dużą rolę w tym procesie może odgrywać sztuczna inteligencja — zarówno przy rozwoju samego rdzenia SGF, jak i przy samodzielnym budowaniu na nim pełnych, małych gier. Jedna z przykładowych gier posłużyła jako materiał referencyjny, na którym model uczył się API i konwencji SGF, po czym samodzielnie stworzył kolejne gry i biblioteki oparte na tych samych, gotowych komponentach.
Filmy
STM32U585 + ILI9341 z przewijaniem sprzętowym
Ulepszony klon Wolfensteina 3D na ESP32
Demo z dźwiękiem i teksturami
Fizyka brył sztywnych i kolizje
Sprzętowe wygaszanie obrazu
Zrzuty ekranu

