Устали от однообразных браузерных игр, которые представляют собой лишь набор кнопок, отправляющих запросы к базам данным? Встречайте Lone lord — игру, в которой нет кнопок и в которой надо писать запросы в базу данных.
Посылая определенные запросы в формате, похожем на синтаксис MongoDB, вы можете: строить и апгрейдить замки и башни, добывать бриллианты и дерево, нападать на соседей, торговать на рынках, обменивать ресурсы в Государственном банке Lone lord, объединяться с другими игроками в клики и воевать в масштабных феодальных войнах!
Несмотря на заголовок, игра не является продолжением mySQLgame, но является ее закономерным эволюционным развитием: в отличие от “первой части”, в Lone lord есть торговля, обмен и добыча ресурсов, объединение в клики и удобный игровой чат. А еще у нас есть боты.
Да, в отличие от большинства онлайн-игр, боты в Lone lord не запрещаются, а приветствуются! Всего за 10 бриллиантов вы получите верного слугу, помощника в торговле и добыче ресурсов, почтальона, руководителя игрового казино – возможности ботов ограничены только вашей фантазией и нестрогими правилами.
Не ждите, регистрируйтесь прямо сейчас и получите 2.5x бонус к стартовым ресурсам!
Технологии
Статья на технический ресурс будет неполной без описания используемых технологий и процесса создания.
Игра разрабатывалась ровно месяц под впечатлением от вышеупомянутой mySQLgame с желанием внести полезные улучшения и устранить фатальный недостаток.
И серверная, и клиентская части написаны на CoffeeScript, языке с похожим на Ruby синтаксисом, компилируемом в JavaScript. На сервере использовались Node.js с Engine.io для обработки запросов, JADE для верстки, Stylus для стилей. База данных – SQLite.
На клиенте вместо традциционной jQuery решил использовать Zepto.js, совместимой с первой на уровне синтаксиса. Размер минифицированного JS-файла у последней получился в 4 раза меньше, чем у более известной библиотеки, но потерялась поддержка всех версий IE. Говорят, можно ее как-то пропатчить и добавить поддержку IE9-10, но у меня не получалось это сделать.
Чат и лог в игре реализованы на веб-сокетах при помощи Engine.IO, так что о том, что на вас напали или то, что одна из ваших башен принесла долгожданный бриллиант, вы узнаете моментально. :)
Для парсинга запросов из командной строки использовал библиотеку, на которую случайно натолкнулся на Stack Overflow – jsonlite. Она позволяет писать JSON-запросы без кавычек везде, где это возможно, что очень удобно при наборе большого количества команд.
Ссылки
Игра
Игра (компактная версия)
Вики (с чего начать, синтаксис команд)
P.S. Будьте осторожны. Вполне возможно, что под всем этим скрывается действительно интересная игра…
P.P.S. В игре есть досадные проблемы с поехавшей версткой и обрезающейся буквой “L” в заголовке. Я пока не знаю, как это исправить, поэтому буду благодарен, если кто-нибудь поможет мне в этом. И еще игровая вики полностью написана на английском. Если будет запрос у сообщества, я могу частично перевести ее на русский.
Автор: tohnann