Запущена первая в мире ММО-стратегия для программистов

8324261e38e34029968f2d7f87c10283.pngПочему первая? Потому что раньше были игры для программистов, и были стратегические ММО-игры. Но до нас еще никто не делал игру, которая одновременно и является ММО с единым постоянным миром, и при этом целиком и полностью ориентирована на программистов.

В ноябре прошлого года мы запустили краудфандинговую кампанию на Indiegogo, собранные средства с которой позволили доработать прототип до полноценного продукта. Весь июнь и июль получившие приглашение игроки тестировали версию Early Preview. И вот, теперь мы объявляем о публичном запуске этого необычного проекта. Встречайте Screeps!

Под катом небольшое описание, отзывы и технические подробности проекта.
Screeps (от слов scripts и creeps) — это онлайновая стратегическая игра в реальном времени. С точки зрения игровой механики это довольно классическая игра: есть карта, ресурсы, база, юниты, развитие и взаимодействие с другими игроками. Только вот контроль над юнитами не просто «непрямой», а целиком и полностью заключается в написании скриптов AI. Вы пишете код на полноценном JavaScript (но возможно и использование компиляторов из других языков в JavaScript, коих великое множество), который исполняется на сервере в игровом цикле, отдавая команды юнитам и строениям, и наблюдаете за происходящим в реальном времени. Единственная возможность влиять прямым образом на то, что происходит на экране — ставить флаги и назначать места строительства.

e99bec85f957435fbed6b1defeb3a96e.pngФакты об игре:

  • Ваш игровой код выполняется на сервере непрерывно, даже когда вы оффлайн.
  • Мир Screeps постоянный, единый для всех игроков и развивается в реальном времени, в отличие от других программистских игр, основанных на разовых матчах между игроками.
  • Мир генерируется процедурно и, хотя игрокам предоставляется ограниченное пространство для заселения, оно способно бесконечно увеличиваться по мере необходимости. На данный момент сгенерировано 1600 игровых комнат.
  • В игре есть режим симуляции, в котором скрипты выполняются в браузере, а не на сервере. Этот режим доступен без регистрации на сайте.
  • f7afc331dc6c4abf84686c591a34665c.pngИгровые скрипты можно писать как с помощью внутриигрового редактора, так и с помощью внешних IDE, используя инструменты для коммита скриптов в игру.
  • Скрипты выполняются на сервере через полноценную виртуальную машину iojs, доступны некоторые возможности ES6.
  • Выполнение скрипта каждого игрока в виртуальной машине ограничено по времени, поэтому нужно думать об оптимизации.
  • Каждому игроку предоставляется 2 Мб памяти для постоянного хранения произвольной JSON-структуры данных.
  • В будущем планируется клиент-серверное API для подключения в просчет игровой ситуации своих собственных серверов на любом языке.
  • 3dbbd90869a240ba8141dcca2e972d8e.pngЕще из того, что планируется в будущем: выпуск всего игрового движка в виде отдельного npm-пакета, чтобы было возможно свободно запускать игровую симуляцию на локальной машине для любых целей.


Немного отзывов:

@ScreepsGame is the best MMO for programmers out there! Ever dreamt to drive your personal army and minions… in JavaScript?!

 — Niccolò Maggioni (@nmaggioni1) 1 июня 2015


I predict http://t.co/h8LW33FFKK to be the next big thing in the world of games.

 — Adriaan (@AdriaandeJongh) 21 ноября 2014


@ScreepsGame is the most engrossing thing ever. Even once I’m too tired to code, I don’t want to stop watching my creeps and go to bed.

 — topologist (@crash_restraint) 2 июня 2015


Apparently I’m the kind of person to not only play a programming game, but to write unit tests for my code #Screeps

 — josh (@KingJoffman) 10 декабря 2014


Just found http://t.co/wD5q30R7Fw. Yes, that’s exactly what I want. For a persistent army to be reliant on my coding skills. Hahaha.

 — Matt Chelen (@adag_dot_me) 11 августа 2015


I’ve always wanted a game to play in which I didn’t need to do any work, I now found it @ScreepsGame

 — Chris Kleban (@kleban) 10 Март 2015


If you’re a programmer, and you like games, you NEED to check out @ScreepsGame at http://t.co/De7t7u564G

 — Timendainum (@Timendainum) 12 декабря 2014


Модель оплаты игры подписочная, игрок оплачивает время CPU для выполнения своих скриптов. В скором времени станет доступно специальное Twitter Promo, с помощью которого раз в месяц можно будет бесплатно получить кредиты CPU для минимально необходимого лимита серверных ресурсов.

Ссылки по теме:


Хорошей всем пятницы!

© Habrahabr.ru