GoBigger — это простой и эффективный игровой движок, похожий на agar.io, который предоставляет различные интерфейсы для разработки игрового искусственного интеллекта. В GoBigger игроки управляют одним или несколькими круглыми шарами на карте. Цель игры — набрать как можно больше очков, поедая шары с едой и другие шары, которые меньше шаров игрока, избегая при этом более крупных шаров, которые могут съесть шары игрока. Каждый игрок начинает с одного шара, но игроки могут разделить шар на два, когда он достигает достаточного размера, что позволяет им управлять несколькими шарами.
Система принятия решений на основе искусственного интеллекта
Традиционные академические среды и эталонные тесты
Реальные приложения искусственного интеллекта для принятия решений
Общая библиотека вложенных данных
Документация и учебные пособия
Компоненты поддержки системы
В GoBigger пользователи могут легко взаимодействовать со средой с несколькими агентами в соответствии с основными правилами. Через предоставленный интерфейс пользователи могут просто получать наблюдения в игре и применять свои операции к своим агентам.
Чтобы понять правила игры, GoBigger предлагает несколько концепций:
Матч
: GoBigger позволит нескольким агентам (по умолчанию 4) присоединиться к матчу. В матче есть много разных юнитов, таких как шары с едой, шипы, споры и шары игроков. Каждый агент должен набрать больше очков, съедая другие шары, чтобы получить более высокий ранг, когда этот матч закончится.Агент
: Каждый агент управляет командой, включающей несколько игроков (по умолчанию 3). Командная работа важна для агента, чтобы играть против других агентов.Игрок
: Каждый игрок начинает с одним шаром. Чтобы улучшить управляемость игры, GoBigger предоставляет несколько операций для шара игрока, включая split
, eject
и stop
.Шар
: GoBigger предлагает 4 вида шаров в матче.
Шар с едой
: шары с едой — это нейтральные ресурсы. ### Запуск игровой средыПосле установки вы можете легко запустить свою игровую среду, следуя следующему коду:
import random
from gobigger.server import Server
from gobigger.render import EnvRender
server = Server()
render = EnvRender(server.map_width, server.map_height)
server.set_render(render)
server.start()
player_names = server.get_player_names_with_team()
# get [[team1_player1, team1_player2], [team2_player1, team2_player2], ...]
for i in range(10000):
actions = {player_name: [random.uniform(-1, 1), random.uniform(-1, 1), -1] \
for team in player_names for player_name in team}
if not server.step(actions):
global_state, screen_data_players = server.obs()
else:
print('finish game!')
break
server.close()
Мы также создаём простую среду, следуя gym.Env. Для получения более подробной информации вы можете обратиться к gobigger_env.py.
GoBigger позволяет пользователям играть в игру на своём персональном компьютере в режиме реального времени. Поддерживается несколько режимов для изучения этой игры.
Если вы хотите играть в режиме реального времени на своём ПК самостоятельно, вы можете запустить игру со следующим кодом:
python -m gobigger.bin.play --player-num 1 --vision-type full
В этом режиме стрелки вверх, вниз, влево и вправо позволяют вашим шарам двигаться, Q означает выброс споры в вашем направлении движения, W означает разделение ваших шаров, а E означает остановку всех ваших шаров и сбор их вместе.
Если вы хотите сыграть в режиме реального времени на вашем ПК с друзьями, вы можете запустить игру со следующим кодом:
python -m gobigger.bin.play --player-num 2 --vision-type full
В этом режиме игрок 1 использует стрелки вверх, вниз, влево и вправо, чтобы шары двигались, [означает выброс споры в направлении вашего движения, ] означает разделение шаров, а \ означает остановку всех шаров и их сбор. Игрок 2 использует клавиши W, S, A и D, чтобы шары двигались, 1 означает выброс споры в вашем направлении, 2 означает разделение шаров, а 3 означает остановку всех шаров и их сбор.
Если вы хотите поиграть в режиме реального времени на своем ПК только с частичным зрением, вы можете запустить игру с помощью следующего кода:
python -m gobigger.bin.play --player-num 1 --vision-type partial
Ваше зрение зависит от положения и размера всех ваших шаров.
Если вы хотите сразиться с ботом, вы можете запустить игру следующим образом:
python -m gobigger.bin.play --vs-bot
Вы также можете добавить больше ботов в свою игру. Попробуйте выиграть игру с большим количеством ботов!
python -m gobigger.bin.play --vs-bot --team-num 4
Если вы хотите протестировать агента без участия человека, вы можете запустить игру следующим образом:
python -m gobigger.bin.play --bot-only --player-num 3 --team-num 1
Вы также можете протестировать своего собственного агента с аргументом --agent-class
:
python -m gobigger.bin.play --bot-only --player-num 3 --team-num 4 --agent-class submit.bot_submission:BotSubmission
Помните, что класс вашего агента должен реализовывать методы __init__(self, team_name, player_names)
и get_actions(self, obs) -> action
.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )