mySQLgame 2.0

    Устали от однообразных браузерных игр, которые представляют собой лишь набор кнопок, отправляющих запросы к базам данным? Встречайте 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. Будьте осторожны. Вполне возможно, что под всем этим скрывается действительно интересная игра…
    Поделиться публикацией

    Похожие публикации

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

      +14
      Сделать бота для игры еще никогда не было так просто.
        +5
        Я бы шрифт поменял, потому что буква r напоминает скорее букву i. До слова register догадаться можно, но не знаю, что пойдет дальше.
          0
          Через несколько минут будет готов фикс, позволяющий ставить какой угодно шрифт.
            +2
            Готово. Введите
            #font: font_name
            , чтобы поменять консольный шрифт на тот, который хотите.
            0
            Не доходят email'ы с подтверждением на Gmail
              0
              Если вы регистрировались сразу после публикации статьи, то там меньше чем на минуту падал сервер и не все е-мейлы с приглашением отправились. Если нет, то скажите ваш игровой логин — разберусь.
                0
                только что зарегистрировался, логин omolo
                письма на гугл нет :-(
                  +1
                  Я вас подтвердил вручную, можете заходить. Прошу извинить всех, у кого была или будет такая же проблема. Пишите мне, решим это с каждым отдельно.
                  0
                  То же самое — пользователь создан, а вот письма нет и нет. Логин Yggaz.
                    0
                    Подтвердил, можете заходить.

                    PS: пишите, пожалуйста, в личку с этими просьбами, давайте не будет засорять топик.
                +6
                Авторские права на эту текстуру алмаза случайно не принадлежат Mojang?
                  –1
                  Нет, это просто очень похожая текстурка.
                  Оригинал:
                  image
                    +7
                    по-моему 1-в-1 :)
                  –8
                  «Посылая определенные запросы в формате, похожем на синтаксис MongoDB, вы можете: строить и апгрейдить замки и башни, добывать бриллианты и дерево, нападать на соседей, торговать на рынках, обменивать ресурсы в Государственном банке Lone lord, объединяться с другими игроками в клики и воевать в масштабных феодальных войнах!»

                  В чем тогда смысл игры если строить замки, добывать бриллианты и торговать на рынках я буду посредством запросов?
                  Это уже не игра какая-то а «я не умею пользоваться Apache jMeter поэтому Хабр — обеспечь мне нагрузочное тестирование».
                  Давайте лучше просто добывать бриллианты без запросов с помощью лопаты и кирки?!

                  Пост короткий, но на первый взгляд — сбор каких-то умных слов. Ну набрали n-дцать технологий, сослались на какую-то там SQlGame, ну а дальше то что?
                    +5
                    А если для строительства замков и добычи бриллиантов сделать кнопочку, красиво ее разукрасить, то смысл непременно появится?

                    Это именно игра – игра для тех, кому интересно соревнование и сотрудничество, продумывание стратегии добычи и траты ресурсов, развитие торговых сетей и городов. А не мощная графика, нагружающую ядра GPU по полной. То, что все это в ней делается запросами, делает ее быссмысленной? В чем же тогда вообще смысл игр?

                    И чего вы ожидаете от подобного поста? Захватывающей истории разработки? Сверх-современного списка используемых технологий? Так уж получилось, что ни того, ни другого у игры нет, поэтому я ограничился «рекламным постом» в блоге «Я пиарюсь».
                    +3
                    Все мы уже знаем что бывает, когда бухгалтер делает компьютерную игру. Ну это, очевидно, пример того, что бывает, когда за геймдев берётся бэк-энд кодер.
                    PS молодец, интересная затея.
                      0
                      А где мои стартовые ресурсы?
                      { $info: 1194 }
                      { status: ok, data: { id: 1194, cluster: 149, object: [ DESERT, CASTLE, { name: «DrAlanCastle», owner: «DrAlan», cliques: [], ppl: { DrAlan: 62 }, all: 62, lvl: 1, mf: 1, ff: 1, m: 2, f: 2, w: 0, d: 0 } ] } }
                        0
                        Ну… хм… как вам сказать. Ваш замок ограбили сразу же после создания. Мои соболезнования. :)
                          0
                          Быстро для меня игра закончилась. Ну да ладно.
                          А не похоже что он на боте грабит все новосозданные замки?
                            0
                            Вряд ли, скорее всего, просто ищет и грабит. Ну что ж, бывает.
                            Начните заново :)
                              0
                              Я посмотрел с момента регистрации и до грабежа прошло 6 минут и 9 секунд.
                              Я еще не разобрался как армию строить и что бы разобраться мне нужно создать новый акк. Вы думаете я успею это сделать и защитится от возможных нападающих за 6 минут?
                                0
                                Не могу найти как удалить аккаунт, что бы снова зарегистрировать на это же мыло. Или как сделать вайп тоже не найду.
                                Или мне на каждый акк надо по мылу регать, учитывая, что пока я разбираюсь еще не один мой акк подчистят?
                                  0
                                  В скором времени сделаю удаление самим пользователем, а пока могу удалить вас вручную. Напишите мне в личку по этому поводу.
                                0
                                Не на боте, это я позвонил товарищу в скайп, и рассказал какие кнопки нажимать :)
                            0
                            Затея классная.
                            Русскоязычная поддержка планируется?
                              0
                              В чате в игре с удовольствием отвечу на ваши вопросы на русском языке :)
                              Вики будет на английском, т.к. игрой могут заинтересоваться не только хабра-пользователи.
                              +1
                              Из за отсутствия привычного режима игры порог вхождения низок. Было бы круто создать браузерку на подобие травиана\икариама с таким же апи и разрешением на использование ботов. Текущая версия слишком кигова, высокий порог вхождения, что, в принципе не плохо, но можо сделать лучше)
                                0
                                А можете кто-нибудь вики на русский перевести? А то у меня с английским туговато, да и не только у меня скорей всего.
                                  0
                                  Хабрапользователь makxxx начал переводить описание API на русский язык, ссылка.
                                  0
                                  А читы есть в самой игре?
                                    0
                                    Спешу сообщить несколько радостных новостей!

                                    1. Всем, кто по каким-либо причинам все-таки не получил письмо со ссылкой активации, завтра оно будет прислано.
                                    2. Баг с «нулевыми» ресурсами окончательно исправлен, больше пересылать бесконечные деньги и топливо самому себе будет нельзя. Всем замкам и башням, «зараженным» этим багом, были возвращены нормальные значения ресурсов.
                                    3. Введены три новые команды:
                                      • $days – вывод количества игровых дней, прошедших с последнего успешного запуска сервера (что-то вроде uptime'а)
                                      • $delete – удаление одного из своих замков или башен
                                      • $mine_time – расчет времени, через которое шахта «выдаст» работникам бриллиант

                                      Более подробно о новых командах читайте здесь.
                                      0
                                      Идея хорошая, но как-то запросы писать лениво, хочется подсказок и автозаполнений с подстановкой курсора куда надо по ctrl+пробел. Современные IDE делают нас еще ленивее :)
                                        0
                                        Что-то сайт уже перестал работать, хостинг не выдержал хабр и отключил?
                                        0
                                        del

                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                        Самое читаемое