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

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

весело, но подтормаживает уже заметно
Играть невозможно, ужасные лаги :(
Не выдержал и минуты, слайдшоу ужасное и в лисе, и в хроме последних версий.
Ну я видимо зашел одним из первых — игралось нормально, с небольшими подтормаживаниями
Вот что творилось в первые 10 минут после анонса :)

Напоминает первые минуты запуска нового сервера какой-нибудь mmorpg :)
Отличная идея, но в хроме показывает 60fps, а фидбек лагает по страшному, играть совсем неприятно сейчас :(
Лучше в черновики его :) А то не показательно сейчас.
Ребят, ща всё будет — идёт ресайз канала.
никогда не говорите «ща все будет», это страшная фраза)
Не могу войти. Хабраэффект, видимо…
Аааа, никнейм русский был. Непонятно, что была ошибка. Извиняюсь
А чота уже и оттестировали, хабраэффект удался.
Только и вижу, что «Press SPACE to respawn. Round has ended». Пятнибота на смарку :(
В Opere (11.63) то-же самое, зашёл из под FF, нормально, только FPS 7-8.
Обожаю эту игрушку уже много лет!
«Посоны, пошли в бомбера играть!»
Не получается войти. Даже зарегаться уже пробовал — просто поля зеленым подсветились, кнопка побыла «неактивной» 3 секунды — и все.
Зайти после этого с паролем не получается — говорит нет таких. Просто гостем тоже не пускает.
Как написал комент — сразу зашел
Было бы неплохо добавить вход через openid.
Поиграл, прикольно. Подлагивает, ну да ладно
решил попробовать — увидел как куча бомбеманов стоят на месте и делают ми-ми-ми… и никто никуда не движется
Даешь 3d бомберман на WebGL!
Словил багов, что бомы двигались и когда просто бежишь — бомбы ставятся автоматически в каждую клетку(с пробелом все в порядке)
п.с. Привет Фрязино:)
Это такой коварный бонус :) (ящик с вопросом)
Там болезнь такая есть, очень весёлая
Это не баги, это такой эффект от некоторых бонусов и антибонусов.
Очень круто. Молодцы.
Небольшие пожелания:
— удобно было бы ставить бомбы правым шифтом, а взрывать контролом. Тогда игрок бы мог управлять одной рукой со стрелок.
— сделайте мини-карту, а то не всегда понятно где все веселье.
— таблица рекордов пусть появляется на отметке игрока.

Правильной дорогой идете, друзья!
Таблицу можно так: топ-10, потом многоточие, потом пять позиций (+2, игрок, -2). Тогда видно, куда стремиться :)
Пардон, а чем у вас занята вторая рука?
Он скрин управление для тач девайсов? Зашел с N9, подтормаживало.
Будет.
gwt использовали напрямую? или чтото вроде playN?
Напрямую.
в частности как Вы прикрутили websockets к GWT интересует.
Написал обёртку для js-классов CloseEvent, MessageEvent, OpenEvent, WebSocket. Пример есть в исходниках quake2 gwt.
Atmosphere не пробовали пользовать?
Нет, хотя рассматривал варианты использования подобных библиотек.
Реализованный мной коннекшн хорошо работает, возможность реконнекта есть, просто я сейчас ее не использую, пусть уж пользователи жмут F5, вдруг клиент обновился.
Должен заметить, что атмосфера достаточно глючна на практике. Для того, чтобы она работала нормально нам пришлось переписать половину кода. Особенно огорчила клиентская сторона, которую я переписал с нуля на atomJS.
Атмосфера в том виде, в котором она в репе годится только для чатов.
НЛО прилетело и опубликовало эту надпись здесь
Вот, ищу причины тормозов клиента при большом количестве народу. Вроде не графика.
Молодца! Танчики 2, не меньше. ) Только очень мелко, ребят.
Есть кнопка zoom в правой части экрана.
Не только поле игры (которое при зуме не сильно увеличивается) — всё мелкое, текстуры, объекты, интерфейс.
CURRENT STATUS: исследуем лаг файрфокса при большом количестве народу.
И куда же без просьб «ДАЙТЕ ИНВААААЙТ» в чате.

Круто вышло, парни. Лагает, правда, неплохо. Спишем на хабраэффект.

Эффект инвертирования управления специально прописали не полностью?)
nginx + nodejs для отдачи статики?
nginx — статика, nodejs — вся логика веб-части.
Источник тормозов найден, исправляем!
Понравилась! Молодцы
УУУ поправляйте скорее, хочу зарубить в это дело! :-))
Попробуй сейчас :)
висит на странице
bombermine.ru/play/
с картинкой бегучего чушка с бомбой и мешком на белом фоне =(
Опера?
ubuntu 12.04
chromium 18.0.1025.151

может дело в интернете у меня на работе?
админы тут какие-то порты позакрывали. UDP внешний вобще не пашет.
UPD в firefox'e то же самое
Значит 80-ый порт немножко режут.
Через прокси не работает что ли?
Кстати, может там для работы вебсокетов в iptables какой-то особый порт открыть надо?
Нет, надо чтобы прокси их поддерживала.
аналогичная проблема. Chrome 18 и Firefox 12. Интернет через ISA
Просто замечательно! Очень понравилось! Еще бы лаги убрать…
Юзерпик очень в тему, да.
ну если слоупок сообщает что тормозит, значит действительно тормозит.
Игра хороша, но лаги жутко раздражают.
CURRENT STATUS: профилировка сервера, поиск утечек памяти в приложении.
я сначала прочитал Boomburum online
А расскажите подробнее про техническую реализацию — что там за диффы между чанками, про прорисовку.
Скрин ошибки с прорисовкой:
Спасибо. Наблюдал при лагах и у себя, разбираюсь.
Текстуру руды алмаза сделайте более голубой, чуть ближе к Cyan. Сейчас выглядит как лазуритовая руда)
Неожиданный для меня комментарий исходя из контекста и цели топика :)
Улыбнул. Действительно, поменяйте!
Мда, отклик управления в пол секунды это ужас
Как я понял вы просчитываете все на сервере?
Локальные просчеты с отправкой их на сервер были бы эффективней, и лаги не столь заметны
Локальные просчёты одного игрока были бы эффективней, конечно. Но я пока не знаю как мне легко это реализовать, а ещё движок писался не совсем под аркады.
На сервер отправляете только события «пользователь нажал/отпустил кнопку» и отправляете это всем клиентам. Уже на пользовательских машинах считается. Так же отправляете пользователям что где выпало.
Так же периодически отправляйте с клиентов кто-где стоит, для надежности.
Боюсь что при таком подходе будут возникать злые рассинхроны. Я думаю надо так: клиент может быть сам по себе, но сервер будет его поправлять, если он будет пытаться идти куда не надо.
Я примерно тоже самое и сказал только в иной формулировке:
>Так же периодически отправляйте с клиентов кто-где стоит, для надежности.
Клиент может иметь только дополнительную логику. Он не может поправлять сервер
Клиент может отправлять координаты плеера серверу, а тот всем клиентам.
Тогда клиент может отправить какие угодно координаты.
Сам делал мультиплеерный тетрис на сокетах по такой системе, вроде бы работало почти идеально
Ребят, я о таком мечтал! Спасибо!!!

Технический момент — хром пишет 75 fps, вроде как 363 игрока (судя по таблице рейтинга).
Всё ок, лагов не наблюдаю. Играбельность в норме.
Вполне понравилось, но не будет-ли проблем с Hudson Soft (они вроде владельцы марки)?
А как изменить скин на пони?
Если в вашем никнейме встречаются подстроки »rainbow», »apple», »twilight», »flutt», »rarity», »pink», »ditzy», »derpy», Вы получите скин персонажа мультсериала «My Little Pony»

Что такое подстроки?
если ваше игровое имя содержит идущие подряд букофки из вышеперечисленных слов :-)
Почему-то не работает. Это только для зарегистрированных?
Это старое, сейчас поменяю. Зарегистрированные пользователи могут менять скины в профиле.
Это уже не работает, теперь можно поменять скин в профиле.

Подстрока строки S[1…n] — это любая её связная часть от i до j, 1 ≤ i ≤ j ≤ n.
А танчики (Battle City) будут? На неограниченном поле, или CTF или стенка на стенку, или как в оригинале с курицей… Эээх, хочу танчики!
БУДУТ!
Какая жуткая ересь. Аргументирую:
  1. Самое главное, управление — ужас. Зачем было делать его субпиксельно плавным? Сделайте его более дискретным, как в классических играх серии — застревать на углах абсолютно не весело.
  2. Цель игрока — собрать как можно больше ресурсов, преследуя других игроков своими бомбами и обороняясь от их бомб

    Собирать ресурсы? Пфф, это попросту скучно, не говоря уже о том, что у других игроков, в общем-то, частично пропадает смысл атаковать других.
  3. С какой радости удаленная детонация и желе попадаются только в «Сюрпризе»? Желе — не настолько крутой бонус, чтобы иметь шанс в 80% вместо желе захапать болезнь. Ради удаленной детонации я тоже рисковать никогда не стану. Оба этих бонуса должны появляться наряду с доп. бомбой и усилением огня (с намного меньшей вероятностью, конечно же). Болезнь также должна быть отдельным бонусом — в Atomic Bomberman часто имело смысл пойти на риск, взяв болезнь, заразить как можно больше других игроков, а самому смыться куда подальше, пока остальные пытаются понять, что с ними происходит, одновременно учиняя хаос и массовые смерти.
  4. Болезнь «переворот экрана» — это перебор. Достаточно инвертировать управление.
  5. Замкнутая в тор карта с регенерацией — ИМХО, зло. Полностью аннулирует возможность использования зрительной памяти, карта становится непредсказуемым рандомом. Попросту скучно это всё
  6. Крохотный вьюпорт. Это что, на телефоны заточено? Вроде ж нет. Особенно печально, учитывая размеры карты

Предложения:
  1. Отказаться от концепции «одна огромная рандомная карта на 300 игроков». Вместо этого нарисовать нормальные фиксированные карты.
  2. Изменить правила собственно игры на более классические. А именно — убрать ересь с добычей ресурсов, оставить каждому игроку по 1 жизни на матч. В матче побеждает последний выживший бомбер. Респавн происходит в начале. См. оригинальные игры Hudson Soft, в общем.
  3. Сделать множество арен. С верхним числом игроков на одной арене, зависящих от настроек арены и/или размера карты. Я хочу сыграть с другом банальную дуель, например.
  4. С предыдущим пунктом появится возможность сделать командные битвы «стенку на стенку», где победившей считается команда, бомберы которой выжили. И прочее, прочее

Поиграл еще, забыл написать самое главное про управление — лаги ввода. Позиция игрока должна меняться СРАЗУ же, как только игрок нажал на кнопку, а не ждать, пока сервер подтвердит положение. Бомбы пусть ставятся там, где игрок сейчас по мнению сервера. Играть с пингом (у меня около 300-400 мс) просто нереально. Примеры — см. любой сетевой шутер, хоть тот же Quake 3.
Еще что заметил:
1. Радиус, по которому игроки «срезают углы»на краях кубиков, слишком велик. См. Atomic Bomberman — там это реализовано идеально.
2. Если игрок повернут, например, вправо, а прямо под ним внизу находится кубик, и при этом игрок не может переместиться вниз ни на пиксель — при нажатии на стрелку вниз он будет стоять и вообще никак не реагировать. А должен «идти» в стену (в смысле, анимация ходьбы должна проигрываться всегда при попытке движения, даже если там стена и идти некуда)

Спасибо за критику.
Баланс конечно будет поправлен. С лагом ввода есть проблема — я не уверен что могу это реализовать не сильно раскурочив свой движок, у меня используется синхронная модель, движок предназначен не для аркад. Лаг ввода нейтрализуется тем что сейчас почти у всех быстрый инет, а сервера можно запустить на разных облаках.

Если ставить цель сделать браузерную игру, повторяющую оригинал, то конечно надо сделать всё именно так как вы написали.

Но я себе поставил задачу: собрать много народу на одном инстансе, организовать дурдом, попробовать его сбалансировать. Я ищу именно новый подход, и все ресурсы бросаю в его исследование. Конечно, если будет время и кто-нибудь мне с этим всем поможет, то и классические режимы игры будут реализованы.
И насчёт ресурсов — мы придумаем что с ними потом делать.
У меня очень быстрый интернет. Но к сожалению, есть такая штука, как география — я нахожусь в Киеве (облако, как я понимаю, в Москве) и играть очччень трудно. Как оно будет играться из-за океана — боюсь даже предположить.
Все же по поводу лага ввода — попробуйте что-то сделать. Ибо даже с пингом 50 мс такая задержка ощущается очень хорошо. В принципе-то, вариант простейшей реализации — игрок все так же принимает от сервера свои координаты, но заменяет те, что есть на клиенте, полученными только тогда, когда разница между этими двумя позициями превысит некоторую величину. Т.е. если между спрогнозированной и полученной от сервере позицией расстояние, скажем, 100 пикселей — насильно синхронизировать.
Впрочем, смотрите, вам виднее, можно ли это реализовать и как лучше это сделать. Просто управление в играх — это куда более важно, чем прикручивание разных плюшечек и фишечек
Да, такое простое я наверное могу сделать, спасибо :)
Через океан как-то играют. Часть лага клавы относится не к пингу а к обработке событий.
Я вот только благодаря ZimM понял почему у меня герой стоит на месте и не реагирует: оказывается, ждет сервер. А уже начинал параллельно пытаться долбить wasd и стрелки (соотв одновременно нажимая D и стрелку вправо).

Если хочется дурдом — ради интереса поиграйте на world of warcraft в battleground (на пиратке, например, будет вполне достаточно): там бывает до 80 человек на поле, у каждого свой пинг но играют отлично все, бывает что из-за лагов происходят визуальные блинки, но это не на столько сильно мешает.

И дурдом это классно (+1 за то чтобы собирательные ресурсы выкинуть), но если есть возможность — сделайте комнаты повторяющие классик игру.
Поддерживаю предложения, согласен со всем. Еще могу добавить, что все бонусы должны исчезать если их взрывают или вовремя не берут. А стенка на стенку (командный бой) с удовольствием бы поиграл с друзьями ))
Жалко отклик большой
image
Opera 12 beta. Больше ничего не происходит. Каунтер показывает 60 фпс.
Хинт для пользователей Опера 11.60 и выше — зайти в opera:config и отметить галочку «Enable WebSockets». По умолчанию она отключена и естественно, ничего не работает
Надо этот хинт там на сайте сделать :-)
Спасибо!
У меня такая картинка на всех браузерах…
Значит траффик по 80-ому порту чем-то модифицируется.
А какая оригинальная игра положена в основу? Я помню, на ZX-Spectrum была подобная игра, не могу вспомнить название. Help, please.
Насколько я помню, игра не меняла своего названия. Bomberman.
На некоторых рынках она существовала под названием Dyna Blaster. Именно под таким названием на PC я с этой игрой и познакомился
Всё. Нашёл: Eric & the Floaters. Любимая игра моей мамы.
image
image
ПРо спектрум не знаю, но я, вроде в досе играл в игру, называлась так же — BOMBERMAN
вот скриншот
image
Мало того, что пост сам по себе носит ностальгический характер, так тут ещё и Вы, со своими скриншотами такого характера!
Каюсь! Каюсь! В оправдание могу сказать, что чуть выше расположен комментарий, который для некоторых может оказаться еще более ностальгическим :-)
А я по денди играл
Черт возьми, вот эт точно ностальгия :) Dyna Blaster она называлась у нас.
В файрфоксе не пашет, а в сафари заработало!!! Лаги есть, примерно на 1 секунду задержка идет после нажатия клавиш
Как обычно, когда выкладывают развлекуху в которой есть чат — тут же набегает толпа идиотов которые чат сразу же засирают :-(
Лаги изучаются инженерами облака, спасибо что терпите :)
В пятницу… Какой коварный план :)
Пока вполне играбильно, особых багов не замечено — достойный сиквел на html5!
Количество внедрений Bootstrap'а растет, как грибы после дождя ;)
Разве это плохо?
Вы извините, но «HTML5 мультиплеер онлайн игра» — это на каком языке написано? Лексика на 25% русская, два слова транслитом, грамматика английская. Вот зачем, м? Есть минимум два нормальных варианта:

1. Online multiplayer HTML5 game
2. Многопользовательская онлайн-игра на HTML5

Один вариант на английском, другой на русском, оба понятны для всех. Разве трудно?
Многопользовательская онлайн-игра на HTML5

Отличный вариант на английском, ага.
[Mithgol]
Многопользовательская сетевая игра на языке гипертекстовой разметки 5 версии.
[/Mithgol]
Я не доводил до абсурда. Речь шла о соблюдении грамматики при допущении заимствований в лексике.
Прикольно, всегда обажал эту игру.
Только вот название лучше поменять, Bomberman Online был когда-то на дримкасте. Плюс бомбермен — это торговая марка…
Дык название тут не Bomberman, а совсем даже Bombermine
а на картинке написано BomberMAN
Пардон, но название топика
Супер. Только я не понял зачем Вам хабра люди для нагрузочного тестирования? Вы вполне могли 90% проблем выявить одними нагрузочными тестами… А потом уже сюда выкладывать.
Согласен, часть сегодняшних багов можно было найти и без хабравчан.
Тем не менее минимальная подготовка к релизу и некоторые тесты были. Много чего я мог ещё сделать, и в плане геймплея, и в плане тестирования, и в плане теоретической подготовки перед написанием такого сервера. Но кровь кипит и очень хочется в бой!
Не успел поиграть, как лавочка свернулась.
Как свернулась так и развернулась. Конец раунда это, игра продолжается.
Ну что ж, подожду-с
Решил дома поиграть и на тебе
Спасибо.
С нетерпением жду Heroes III online.
И старкон второй )
А расскажите технические подробности. Больше всего интересует, как реализовали рендер на клиенте
Всему своё время. Про рендер — там всё просто, это думаю расскажу полностью.
Поддерживаю. Интересно как вы «облачность» делали на сервере.
Пока никак, все играют на одном инстансе. Масштабировать будем комнатами.
Я вас ненавижу! не могу оторваться :(
Все ок, кроме лагов, и сжирания всей оперативки на хроме
Ок, спасибо, всё упало, чиним :)
Починили. Разбираемся что это было )
А зачем jetty? Node.js недостаточно быстр для вычислений в 60fps?
60fps тут вообще ни при чем, апдейтов всего 10 в секунду. Сервер и клиент игры написаны на Java.
Node.js работает лишь на регистрацию, авторизацию и выдачу статистики.
Читеры надоели:
Классная игрушка, автору спасибо.
Было бы отлично, если бы вы вывели дубликацию кнопок клавиатуры, иначе айпад юзеры будут чувствовать себя обделенными.
Жаль что на айпаде не поиграть, стрелочек нету :)
Мега супер!!!
Hint: для оперы можно сделать активную ссылку с адресом opera:config#UserPrefs|EnableWebSockets
Спасибо, сделали.
Реквестирую open source!!!
Реквестирую HD, чтобы на весь экран можно было запеньдюрить.

Спасибо Вам!
Сделали Fullscreen mode — Enjoy :)
Вы бы аннулировали слишком давние нажатия клавиш пользователя, например, старше 0.4 секунды. Потому что они вступают в эффект тогда, когда я «чувствую», что они потерялись и уже не должны действовать. В итоге в последний момент заворачиваю на бомбу.
А GWT чистый или какой-то игровой еще движок на нем?
Ответ на пост ниже, сорри :)
Чистейший. Собирается статическая страница, на бэкенде GWT нету.
дичайше реквестирую например team deathmath и cft
Битвы 8x8 на сравнительно небольшой площади были бы великолепны.
Обещаю что всё будет! И обычный CTF и массовый CTF!
В особенности если 8x8 это восемь команд по восемь игроков.
Для полноты ощущений — Joy2Key, чтоб с геймпадом играть :-)
Задумка просто супер! Молодцы. Особенно порадовала музыка в видео =)
Неплохо было бы добавить бонус позволяющий видеть обратный отсчёт времени до взрыва на каждой бомбе.
Думаю можно. Только вот на время (минута-две) или же до смерти?
Я имел ввиду таймеры на самих бомбах, что типа «3...2...1… бум». С таким бонусом можно будет довольно умело избегать взрывов.
Извиняюсь, туплю, думаю лучше до смерти как и толкание бомб.
Да, я так и понял. Кроме того будет цветовая градация от зеленого до красного.
Вопрос только в том, давать ли бонус на все время жизни или на определенный временной промежуток, так как бонус достаточно сильный.
Спасайте меня… как выхожу из игры — всё пульсирует (как бонусы), кругом вижу бомбы и бонусы, всё время убегаю от «бомб»…
Может ты какую-то болезнь в игре подхватил? :)
Всем авторам плюсы) Классно
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории