Арканоид с джойстиком на телефоне

в 13:29, , рубрики: node.js, socket.io, web, web-разработка, Беспроводные технологии, Веб-разработка, игры, Мобильный веб, метки: , , , ,

Недавно мои коллеги напомнили мне о замечательной игре MortalKombat, в которую ну просто не возможно играть без джойстиков, а если и возможно то удовольствия никакого.

И я вспомнил о технологии управления любыми экранами с мобильного телефона, которую описал в предыдущей статье. Цель в той статье была достигнута но практического применения ноль.

И не долго думая была создана игра в которую по моим ощущениям можно играть, если в вашей сети нет диких тормозов и проксей вырубающих коннекты веб сокетов.

Арканоид с джойстиком на телефоне

Сама игра теперь лежит на главной странице библиотеки.

Собственно весь код как и всегда лежит на гитхабе.

Весь основной код управления (коего как вы поняли не много) сконцентрирован в js файле example/js/main.js, всё что не относится к управлению, а относится лишь к игре лежит в файле example/js/game.js

Вкратце, используя API библиотеки remoteall, мы просто принимаем сигналы от джойстика и передаём их в игру в виде изменения статуса глобальных переменных (игра взята в интернете, а ссылка потеряна, потому за код и логику игры я отвечать не могу)

Весь код настройки этого взаимодействия укладывается в 30 строк

ra.on('recive_code', function (data, session_id) {
    if( (data.button_code=='LENTER' || data.button_code=='RENTER') && data.event_name =='button_down'){ //reset game
        restartGame()
        return
    }

    switch (data.event_name) {
        case 'button_down':
            switch (data.button_code) {
                case 'LEFT': // 'Left' key
                    bLeftBut = true;
                    break;
                case 'RIGHT': // 'Right' key
                    bRightBut = true;
                    break;
            }
            break;
        case 'button_up':

            switch (data.button_code) {
                case 'LEFT': // 'Left' key
                    bLeftBut = false;
                    break;
                case 'RIGHT': // 'Right' key
                    bRightBut = false;
                    break;

            }

            break;
    }
})

Этой игрой я хотел бы продемонстрировать, что игры с моментальным откликом могут работать в открытых сетях на принципах данной технологии. Дальше при наличие энтузиазма и энтузиастов, хотелось бы сбацать более интересную вещь (например те же танчики)

И сразу есть вопросы к хабралюдям:

  • По вашему мнению, есть ли вообще потенциал и может ли данная технология применяться в реальной разработке игр/приложений?
  • Как еще можно применить такого рода сущность мобильник-джойстик с условием отсутствия обратной связи (нет кнопок ощущаемых пальцами) ?

Всем спасибо, хороших выходных.

UDP:
Сервер должен справиться с кучей запросов и веб сокетов, но всё же вероятность что node.js не справится примерно 5% :)

Автор: ZmeeeD

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js