Как стать автором
Обновить

Комментарии 80

Вовсе нет. Это не MMO sandbox.
Опять же — это не MMO в реальном времени, в которой юниты живут всегда, а сессионная игра, матчи в которой запускаются и завершаются. Разница огромна.
Согласен. В любом случае спасибо за наводку — попробую свой зоопарк завести :)
Как и сказали выше, задумка не нова. Но в виде онлайн-стратегии я ее еще не видел. Заинтересовали, подписался на уведомление о запуске.
Да, смысл слова «первая» не в том, что это первая «игра для программистов», а в том, что первая «стратегическая MMO-песочница для программистов».
Вот это и понравилось.
Т.к. играл во всяких роботов и прочее. надоедает после десятого руанда.
А после статьи вспомнился Travian, т.к. там тоже мир «жил в оффлайне» и это было нереально круто.
Все верно, Травиан — наиболее близкий пример. Надеюсь, мы вас не разочаруем :)
Ну, идея у вас уже проверенная временем. Если сделаете хорошую реализацию, я думаю успех обеспечен. В общем, ждемс, удачи :)
Только, пожалуйста, не делайте строительство длительностью в несколько реальных дней, как было в том же травиане на высоких уровнях )))
1)
про монетизацию ничего не рассказали. как-то же вы собираетесь поддерживать сервер и отбивать время и деньги.
человек может убить кучу времени на создание скриптов, а вы с нг скажете «ребзя, отныне каждый чих любым вашим крипсом платно!»
или подписка?
2)
и что если сначала ктото выложит стратегию, которая сразу захватит доступные комнаты, а новых будет давить просто своей разросшейся армией?
1) Подписка на объем серверной мощности (CPU и память). Все честно, подробности — на старте.
2) Тут уже задача сделать такой гейм-дизайн, чтобы подобное было затруднено. Да и универсальной стратегии быть не может, потому что комнаты будут различаться по ландшафту.
2) можно брать налог с добычи ресурсов в зависимости от размера армии, как это было в war craft 3
Мне кажется если будет подписка на серверные мощности то всё в итоге в них и упрётся. Особо и придумывать ничего не надо.
Согласен.

Битва с соседом без «подписки»: 1 такт игрока1, 5 тактов соперника: пока более умный ИИ игрока1 идет к ресурсу, соперник уже подошел к нему.

В итоге все игроки с «подпиской» будут задавливать игроков без подписки очень легко с глупым АИ. И это добьет проект.

В качестве монетизации можно было бы проводить турниры раз в месяц между игроками. Есть взнос за участие, победитель получает 30%. 70% сервер оставляет себе. Между игроками есть 3 боя на 3х рандомных картах (3х3 ячейки).

Также монетизация возможна в качестве образовательной платформы для использования в ВУЗах на факультативах по JavaScript.
В конце семестра — зачетный бой против АИ преподавателя…

Возможна и монетизация со спонсорами.

К примеру, codeforces.ru для «игроков» бесплатен, а монетизацию Мирзаянов продумал по аналогии с указанной мною выше.
Битва с соседом без «подписки»: 1 такт игрока1, 5 тактов соперника: пока более умный ИИ игрока1 идет к ресурсу, соперник уже подошел к нему

Такты для всех игроков идут одинаково. Просто за такт один игрок с лучшим тарифом может выполнить более ресурсоемкий скрипт, чем другой. Но при этом более грамотно написанный скрипт может быть менее ресурсоемким сам по себе, поэтому преимущество не очевидно.
Что значит выполнить скрипт? Весь?

Есть такты процессора (игрового мира), каждый такт — 1 команда скрипта. Пошаговое поочередное исполнение всех сценариев.
Так реализовано в colobot, robowar, robocode и других проектах (перечень таких проектов).

Или же игроку предоставляется непродуманное API, где в скрипте каждый раз нужно будет инициализировать переменные, обсчитывать весь мир, определять стратегию, чтобы сделать ОДИН ход?

Мой скрипт не будет ресурсоемким, но он требует сохранения своего контекста.
То есть каждый ход будет просто «move, attack » + чуть-чуть логики, но суммарно это будет подветвь большого скрипта, скажем дерева принятия решений.

Так что будет «такт» в вашем проекте?
  • Одна команда процессора
  • Одна строчка кода
  • Одна функция в скрипте (OnTurn)
  • «Весь скрипт», как сказано вами выше
Речь про такт игровой механики. Одна итерация выполнения всех скриптов игроков, после которой выполняются все полученные команды. Вы можете хранить любые временные данные в вашем собственном JSON-хранилище, которое передается из такта в такт, но какие-то вычисления все равно придется делать в реальном времени в каждом такте. Например, надо пересчитывать путь, так как на предыдущей просчитанной траектории могут возникнуть препятствия (ваши или чужие крипы).
Хотелось бы увидеть пост с описанием механики, чтобы можно было подумать над стратегией до старта
API документацию было бы интересно. Вряд ли она до 20 уже изменится. Хотя старт проекта тогда пожетсче будет, наверное.
«Easy to learn, hard to master»

Нагло украли у Blizzard
НЛО прилетело и опубликовало эту надпись здесь
Попробуйте сейчас — заработало?
Отличная задумка и, судя по видео, приличное исполнение. Не понимаю почему читатели так скептически подходят к Скрипсам.

Фигачьте дальше, пожалуйста!
Очень интересная задумка!
А никто не знает подобную игру, только для пацифистов. Например, градостроительная стратегия, или аналог Transport Tycoon?
Colobot (и продолжение Ceebot)
В Transport Tycoon нужно было уничтожать конкурентов похлеще, чем в каком-нибудь Старкрафте :)

А если серьезно, то здесь сеттинг практически как в шахматах. Это скорее похоже на соревнование для программистов, какой-либо реализм отсутствует.
Разные скрипты могут иметь совершенно разные параметры быстродействия и сложности (и следовательно, по разному будут нагружать ваши сервера). Я подумал, что это тоже может быть объектом геймплея (и монетизации). Построили Spawn — у вас есть возможность писать скрипты со сложностью N, построили второй — можно писать скрипты сложности 2*N (ну, или 1.9*N, чтобы была нелинейная зависимость). Построил 100 — можно делать очень сложные скрипты.
Будет непросто определять сложность скрипта, обычными SLOC не обойтись, но мне кажется, это может быть интересным моментом, добавляющим динамику и сложность.
Сложность скрипта мы и не пытаемся определять. Ограничение идет по физическому времени исполнения скрипта в миллисекундах.
да, неплохое решение. Но я больше говорю о том, чтобы это ограничение было геймплейным, а не техническим. Чтобы игровыми действиями можно было бы заработать больше машинного времени. Ну, и продавать не просто «тарифный план», а «убер-научный центр, +10 к машинному времени» (утрирую).
А как вы определяете время выполнения скрипта в мс? Если сервер загружен — одно время, если нет — другое?
Очень интересно, хотя я и не программист.
Получает тут даже генетические алгоритмы можно попробовать применять. А какую либо информацию между тактами в «банке данных» сохранять можно?
Да, игроку доступен один большой JSON-объект для сохранения любых данных.
А крипы смогут как-то «общаться» с чужими крипами? Это позволило бы создавать достаточно сложные альянсы игроков…
На запуске нет, впоследствии — обязательно.
Через некоторое время умельцы напишут обёртку, чтобы можно было мышкой щелкать :)
Скорее, появятся фреймворки/готовые боты на продажу, которые нужно будет только настроить)
Нагрузочное тестирование проводили?
Не рано ли запуск? Может, стоило на kickstarter-е денег подсобрать?
Описание есть, демо-ролик есть, api наброски — есть.
А мне напомнило mysqlgame, правда они почему-то не сделали API для управления, хотя казалось бы это логично для такой игры)
Уже завтра. В котором часу планируете запускать проект?
Ждем письма. Все включая документацию и песочницу будет открыто сегодня?
Точно 20 ноября 2014 года?
Мы заждались уже.
Видимо в 23:59:59 откроют проект. ):
Я пытаюсь быть оптимистом.
Тогда интересно, по какому часовому поясу :)
Да. Только открыли не игру, а только песочницу и компанию по сбору денег.
И правда, ну где же? Мы уж заждались!
И считать ли отсутствие элементов ММО и sandbox, заявленных, как основное преимущество, багом? =) Лично я взгрустнул…
В Game Concepts:
A standard spawn can spawn creeps up to 5 parts in фlength.
Эх, был бы хотя бы CoffeeScript/TypeScript доступен…
Какой облом… Даже не стал смотреть песочницу, ибо сыграть с компьютером я могу и в других играх…
А как создать ConstructionSite?
Слева от поля, третья иконка сверху с кубиком. Вроде пока все точки, например, дороги надо будет «протыкать». API для программного создания ConstructionSite вроде пока нет.
Спасибо, а то ищу уже с утра в документации) Грустно без API конечно.
Пошёл в таториал, создал не одного строителя а 4х, таториал создал мне противника и игра сказала «CPU limit reached».
На core i7 в хроме.
Грустно это.
С таким кодом им никаких серверов не хватит все это поддерживать.
Странно в Surrival у меня 8 рабочих/строителей, 12 воинов, 6 лекарей и в последний момент на карте около 40 вражеских юнитов. Тоже core i7 хром, все норм.
Покажи часть кода, где ты создаешь автоматически новые юниты
А при чем здесь ваш core i7. Это сообщение о том, что вы использовали выделенные вам серверные мощности на выполнение скрипта.
При чем тут серверные мощности, если разработчики говорят, что песочница работает в браузере? Зачем им тогда деньги на сервера просить?
Видимо, имеется в виду, что контроль за лимитом мощности на один tick производится везде (и на клиенте и на сервере). Правда, мне не ясно, как они его высчитывают — тупо, по времени выполнения что ли?
А по поводу ошибки — она вылезает иногда, но как-то плавающе и чаще, когда ничего не делаешь, больше похоже на баг.
>Правда, мне не ясно, как они его высчитывают — тупо, по времени выполнения что ли?
Автор уже пояснял этот вопрос: habrahabr.ru/post/242963/#comment_8122321
Да, но он так и не ответил про разные процессоры и их загруженность. С учетом того, что они собрались брать за это деньги — как-то халтурно. В идеале, нужно разобрать JS на токены, посчитать для каждого стоимость, грубо говоря статический анализ. И так, хоп, нажимаешь кнопку — узнать стоимость скрипта — 56000 тактов, для вашего тарифного плана осталось 4000, купить тут.
Но ждем открытия, может что придумают.
Посчитать стоимость выполнения скрипта в вакууме теоретически невозможно. Одна и та же строчка скрипта может различаться на порядки в зависимости от контекста. А для того, чтобы определить контекст, скрипт требуется выполнять. Что мы и делаем.

Влияния от разных процессоров не будет, потому что это будет выделенная машина с однородной приоритетной нагрузкой на каждом ядре — выполнением скриптов игроков.
Теоретически невозможно?) Я что предлагала считать строчки?) Влияния не будет? Очень интересно будет на это посмотреть, жду открытия с большим нетерпением.
Нехватает отладки.
А console.log как же?
console.log('test')
[21:50:27]
test
undefined
А чего нет версии на русском языке? Это бы серьёзно снизило порог вхождения.
Вы про 1с программистов на JavaScript?
Не код на русском языке, а обучение и документация.
Честно говоря, трудно представить современного программиста без знания английского на уровне чтения технической документации.
Суть игры сводится к написанию ботов? Хм, битва ботов, такой ММО я еще не видел.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории