Pull to refresh

Comments 27

это играть как бы в слепую надо… запрограммировать бота и смотреть что получится?
Я к тому, что Ваша разработка интересная, но только это игра, как если и кроссворд тоже игра… Если всё правильно понимаю… Интересно, но долго:) Желаю Вам Удачи!
«Я безумный» или экстремальное программирование :)
если интересует тема, и хочется больше хардкора то вам в CoreWars
Да, так и есть. В эту игру сразу и не поиграть, нужно сперва разобраться, да и найти соперника, который будет тоже писать бота, что наверно сложнее чем разобраться самому.
«Следует ли перекинуть в «Я безумный»?»
Определённо =)

Сама игра чрезвычайно мозговскрывательная.
А по мне очень занимательная идея. Сама идея программирования бота. Был бы интересный проект, где программируешь бота по определенным правилам, и смотришь на сколько он силен. Вроде битва роботов, а тут битва алгоритмов.
Идея далеко не нова, аналогов море особенно Google AI Challenge, который имеет дюжину языков в арсенале и регулярно проводит бои.
Спасибо, я не знал. Вещи очень интересные.
UFO landed and left these words here
Думаю что такого нет, а было бы интересно.

Но вот о чем я вспомнил. Давно натолкнулся на игру «Вирус», сделана любителем, сейчас найти не могу. Программирования там не было, но давалось определенное количество очков, и некоторое количество параметров, по которым эти очки можно было распределить(сила вируса, защита, скорость распространения и т.д.).
Игра представляла собой поле заполненное клетками, на котором 2 или более вирусов, которые представлялись разными цветами, заполняли по заданным параметрам клети своим сцетом и соприкасаясь взаимодействовали между собой. Довольна забавно.
Ещё есть игра «Жизнь».
Но все это уже не программирование.
Вы ограничены только протоколом, в остальном безграничны (вы вольны писать что угодно в вашем воркере). Тот воркар, который представлен у меня не умнее пылесоса.
Вот кусок данных, который вам приходи в callback:
         * {
         *  "fow":[ // player's field of view: array of items (man or wall)
         *      {"object":{"name":0},"x":2,"y":3}, // man item (self or enemy, depend on name)
         *      {"object":0,"x":0,"y":3}, // wall item
         *      {"object":0,"x":0,"y":2}, // wall item
         *      {"object":0,"x":0,"y":4}  // wall item
         *      ],
         *  "apLeft":1, // action points left
         *  "player": // current player info
         *      {
         *          "x":2, // x
         *          "y":3, // y
         *          "name":0, // name
         *          "direction":3, // direction 0 - top 1 - right 2 - bottom 3 - left
         *          "health":10, // hp
         *          "shield":2 // sh
         *      }
         * }
Некоторые данные поступают в события: ранение (передается координата откуда стреляли и имя бота), попадание (передается координата цели)

Можно запрограммировать так, чтобы бот запоминал карту, стрелял в туман войны, выполнял высокоуровневые команды: moveTo(x, y), moveLeft(), followRoute() и т.п.

Я ещё думаю добавить команду разведки. Бот отправляет команду разведка (в точку x,y + её окрестности) за 3 ОД на следующий ход(через ход врага если кончились ОД или на свой ход) ему приходит свое поле видимости плюс то, что было разведано на момент отправки команды.
UFO landed and left these words here
Единственная игра такого рода с каким-никаким балансом скриптинга и игры — Colobot, графика и язык не ахти, но в своё время было интересно, жаль нет новых аналогов.

Прочие, типа Robocode в принципе тоже игры, но они скорее как шахматы, то есть оттачивать мастерство можно бесконечно, но сюжета нет, поэтому быстро надоедает. Стимулом к дальнейшей игре могло бы быть соревнование между игроками, но нет желания тратить много времени на повышение навыков, которые будут применимы только к какой-то конкретной игре.
Забыл приложить ссылку на обзор колобота: habrahabr.ru/blogs/programmers_games/59708/

P.S. — и когда уже можно будет загружать и хранить изображения вместе с текстом? Постоянно натыкаюсь на старые статьи, изображения в которых уже не работают. А всё потому что статья на одном ресурсе, изображение на другом, и их времена жизни никак не связаны.
Мысли приходя постепенно, пока читал про Google AI Challenge, вспомнил.
Можно писать советников для торговли на бирже, например для Forex. Тоже очень увлекательно )))
Блог «Игры для программистов» наверно более уместен
Вы правы, переместил. Не знал, что такой блог есть.
А где вообще поиграть в это можно? Или его локально ставить надо?
Поиграть только локально, никакой платформы/сайта нет.

Рецепт:
1. Качайте архив пишите своего воркера можно на основе simpleWorker, регистрируйте его в index.html. И запускаете index.html
Sandbox.registerPlayer('js/yourSuperWorker.js');
Sandbox.registerPlayer('js/simpleWorker.js');

2. Если нужно включить отладку(лог подробный и не избыточный для фаербага), удаляете return; в фукнции log в файле Game.js
log: function (data, groupName) {
return;

В хроме локально не запустится он не разрешает запуск воркеров по протоколу file:// Идеально для теста — FireFox
Да, без лога (или с логом если добавить микрофаербаг).
Если бы не было воркеров, то игра была бы на много гибче(можно было бы загружать ботов с разных сайтов, а не хостить на одном).
Я ввел воркеров восновном из-за 2х секундного ограничения на ответ(и для исключения утечки данных). Без воркеров это ограничение сделать невозможно, если бот войдет в бесконечный цикл, то все окружение зависнет и игра встанет.
Еще одна игра «запрограммируй робота». Уже была HabraWars — она отличается, но смысл тот же.
Sign up to leave a comment.

Articles