8000 GitHub - d0rj/snake_ai: Simple Neural Networks to play Snake game
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
This repository was archived by the owner on Dec 3, 2022. It is now read-only.
/ snake_ai Public archive

Simple Neural Networks to play Snake game

Notifications You must be signed in to change notification settings

d0rj/snake_ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI for Snake

Описание

Репозиторий для создания ИИ для змейки с помощью нейронных сетей. Основным фреймворком выбран Keras.

Игра поддерживает удобное и быстрое добавление и использование новых алгоритмов игры. См. раздел Запуск.

Запуск

Запуск алгоритма передвижения по кругу с оконным отображением.

git clone https://github.com/d0rj/snake_ai.git
cd ./snake_ai/
python main.py

Запуск со своим алгоритмом

Функция алгоритма вызывается каждый ход перед передвижением змейки.

Она должна иметь следующую сигнатуру:

  • На входе:
    • объект engine.Game, содержащий информацию о текущем состоянии игры;
  • На выходе:
    • объект перечисления Direction, обозначающий новое абсолютное направление движения змейки;
  • Имя:
    • Может быть любым, по умолчанию ищется имя snake_ai;
  • Модуль (где функцию писать):
    • Можно писать где угодно, но по умолчанию она ищется в модуле ai.snake_ai.

Примеры можно посмотреть в папке ai репозитория.

Для указания пути до функции ИИ используй параметр -m/--module.

Для указания имени функции ИИ (если оно вдруг другое) используй параметр -f/--function.

python main.py -m path.to.module -f 'my_awesome_ai_function' # пример запуска программы со своим алгоритмом

Отображение

По умолчанию процесс игры отображается в открытом окне. Для того, чтобы игра происходила в 'тихом режиме' (без окна), следует при запуске программы указать флаг -n/--no-window:

python main.py -m path.to.module --no-window

Игра клавиатурой

Можно играть самому с использованием клавиатуры, если при запуске указать флаг -k/--keyboard:

python main.py -k

Модели

Последовательная нейронная сеть, обучаемая лишь на выживание.

В итоге выполняет свою задачу отлично: просто вертится вокруг самой себя и живёт вечно.

Последовательная НС, обучаемая на выживание + съедание еды.

About

Simple Neural Networks to play Snake game

Topics

Resources

Stars

Watchers

Forks

Languages

0