Jestem nowy w tej zmianie stosu gamedev, ale wcześniej korzystałem ze stron matematyki i cs.
Tak więc biorę udział w konkursie na stworzenie sztucznej inteligencji dla węża, który będzie konkurował z czterema innymi wężami w 5-minutowych rundach, w których zasady są bardzo podobne do tradycyjnej gry w węża Nokia, z tym wyjątkiem, że jest pięć węży, plansza ma wymiary 30 x 30 i są wiele małych przeszkód na polu.
Podobnie jak gra Nokia, twój wąż rośnie, gdy dojdziesz do owocu, a jeśli wpadniesz na siebie, kolejnego węża lub ścianę, umrzesz. Gra działa z 30 ms opóźnieniem między ruchami, a serwer wysyła nowy stan gry co 50 ms, który kod musi przeanalizować, a co nie, i wyprowadzić następny ruch.
Zwycięzcą zostaje wąż, który miał najdłuższą długość w dowolnym momencie gry. Przerwanie remisu zależy od zabójstw.
Do tej pory zaimplementowałem wyszukiwanie wykresów A * z każdego węża, aby ustalić, czy mój wąż jest najbliżej jabłka, a jeśli tak, to idzie po jabłko. W przeciwnym razie stworzyłem drobny algorytm, aby określić najbardziej opróżniony obszar planszy, do którego dąży mój wąż, aby przewidzieć następne jabłko.
Poza tym mam kilka drobnych testów przeżycia, aby upewnić się, że mój wąż nie wpadnie w pułapkę, której nie może wydostać się, a jeśli utknie, mam coś, co da mu większą szansę na wydostanie się.
...
W każdym razie przetestowałem mojego węża na serwerze testowym i robi to całkiem dobrze. Ogólnie rzecz biorąc, moja strategia polegająca na szukaniu jabłka tylko wtedy, gdy jest to pewne i znajdowaniu przestrzeni, gdy nie jest, sprawia, że rośnie szybciej niż jakiekolwiek inne węże (niektóre węże robią coś podobnego, ale często po prostu przechodzą do środka lub rogu), czasami wygrywa te gry próbne, ale częściej niż ten sam wąż, który wydaje się mieć przewagę nad przeżywalnością (mój wąż rośnie szybciej, ale potem umiera, a ten inny wąż powoli miota i wygrywa z konsekwencją.
Zastanawiałem się więc nad pomysłami, które ktoś mógłby spróbować ulepszyć mojego węża. A może pomysły na nowe podejście. Moje funkcje i klasy są dobre, więc zmiany, które mogą wydawać się drastyczne, nie powinny być takie złe. Zachęcam do wszystkich pomysłów.
jakieś pomysły?