Що це за гра?
Гра UNDERTALE була розроблена в 2015 році Тобі Фоксом. Вона включає всередині себе багато рівнів у вигляді битв з різними опонентами.
В чому складність гри? Гра є доволі складною, оскільки вам потрібно слідкувати одразу за великою кількістю перешкод, що рухаються з різною швидкістю і з різним напрямком руху. Ваше завдання пережити всі атаки опонента і не спустити до нуля показник здоровʼя.
Я розробив копію лише одного, найпопулярнішого рівня з даної гри, щоб надати нейромережі можливість рухатися і бачити, але от як нейромережа все навколо себе бачить?
Як нейромережа бачить?
В даному випадку, нейромережа має розуміти все, що навколо неї стається, тому просто передавати відстаны до обʼєктів як у грі Flappy Bird вже не вийде. Обʼєктів над-то багато + вони дуже по різному себе поводять.
Тому кожний гравець з середини себе випускає у різні сторони 10 променів. Ці промені йдуть нескінченно, але якщо вони на своєму шляху зустрічають будь-який з обʼєктів (крім інших гравців) вони зупиняються і передають нейромережі свою довжину. Ці довжини променів і будуть вхідними даними

Натисніть m в програмі, щоб побачити. Зелені лінії - промені
Це дуже схоже на наш зір. Можна сказати, що з наших очей ми теж випускаємо дуже дуже велику кількість променів, які стикаються з обʼєктами навколо і передають нашому мозку відстані. Таким чином ми бачимо. ШІ має подібний зір, тільки дуже сильно спрощений.
А які ж будуть вихідні дані? Вихідними даними будть виступати рухи: вгору(1), вниз(2) вліво(3), вправо(4). Тобто після обробки вхідних даних, нейромережа буде повертати нам список з чотирьох чисел, наприклад [0.8, 0.4, 0, 0.13]. Тоді остаточною відповіддю ШІ буде номер найбільшого значення у списку. В нашому випадку найбільшим є значення під номером один (0.8). Отже нейромережа буде рухатися вгору. Саме таким чином оброблюються вхідні дані нейромережі.
Нейромережу будемо нагороджувати за те, що вона просто живе, а карати, за те що вона торкається перешкод (в нашому випадку це кісточки).