Człowiek gra w Mario. A AI patrzy i potem odtwarza silnik
Sztuczna inteligencja – bez niej nie byłoby przełomowych gier akcji, pokroju Half-life i tych prostszych gier, pokroju kultowego Mario. Dlatego do kwestii AI podchodzimy przedmiotowo – jako narzędzie, które wykorzystuje się w konkretnym celu. Teraz wykorzystano ją do odtworzenia silnika gry. Sztuczna inteligencja podołała temu zadaniu, tylko obserwując rozgrywkę.
Eksperymentu podjęli się naukowcy z Georgia Institute of Technology. Założenia badania były następujące: sztucznej inteligencji zaprezentowano proste platformówki 2D, pokroju Mega Mana czy Super Mario Bros. Co ważne, AI nie miało dostępu do kodu: po prostu analizowała rozgrywkę klatka po klatce, piksel po pikselu. Jak określono na portalu Verge, rozgrywka posiada pewne błędy, ale jest grywalna.
Czy w przyszłości AI nauczy się obsługi fidget spinnera?
To pierwsza taka sytuacja w historii, kiedy programowi udaje się odtworzyć grę bez dostępu do kodu. Nie obyło się jednak bez pewnych ograniczeń oraz pomocy ze strony naukowców. Przede wszystkim AI miało dostęp do dwóch baz danych: słownik obrazków i sprite’ów, pojawiających się w grze, oraz zestaw podstawowych zasad, na jakich operują (prędkość i pozycja obiektów).
To pozwala rozkładać programowi to, co widzi, na czynniki pierwsze. Z czasem widzi grę jako pewien ciąg logicznych zasad (np. jeśli Mario stanie na Goombę, to wtedy ta zniknie). Zestaw odtworzonych zasad pozwala potem na eksport i przekonwertowania przy pomocy języka programowania do odtworzenia oglądanej przez AI gry.
Po lewej - oryginalny "Mega Man". Po prawej - odtworzony przez AI
Obecnie system działa tylko w środowisku 2D. Wynika to z faktu, że polega on definiowanych przez człowieka informacjach, zawartych w danej grze. Przygotowanie podobnej wersji dla 3D wymagałoby zarówno znacznie więcej czasu, jak i bardziej zaawansowanych urządzeń do obserwacji gier.
Samo badanie jest jednak ciekawe pod kątem przyszłości gier. Może bowiem ułatwić pracę deweloperom, z drugiej strony może ją zabrać – po co płacić komuś za tworzenie kodu, skoro zrobi to za niego program, który „obejrzy” inną produkcję?