Комментарии 95
Спасибо за игрулю и отчет!
Прошу прощения, но как физически выглядит загрузка центрального процессора в 168 процентов?
Проц вспухает
Двухъядерный процессор?
одно ядро на 100%, второе на 68% :) или два ядра на 84% или…
Если ядер больше одного то вполне могут быть и 168% и 200.
Например, одно ядро загружено на 100%, и ещё одно на 68%.
Да это круче Путина :)
Интересующимся подробнее о мониторинге равномерности загрузки CPU
Баг с ВНЕЗАПНОЙ перезагрузкой страницы, к сожалению, не дает насладится игрой :(
жду отчетов от читеров :)
К сожалению, на Firefox 13 дикие лаги (при передвижении двигается через секунд 5 после нажатия кнопок. Играть нереально так.
Не играет что-то, в консоль пишет: Unexpected response code: 200. Браузер Chrome 19.0.1084.52 m
Жаль не получилось сыграть.
OS: Ubuntu 11.04
Браузер: Chrome Версия 19.0.1084.52
OS: Ubuntu 11.04
Браузер: Chrome Версия 19.0.1084.52
А как такие красивые графики рисовать?
Здорово!
Молодцы!
Ощущение что в топе есть боты.
Молодцы!
Ощущение что в топе есть боты.
Очень классно! И ведь реально затянуло.
А мне Clanbomber нравился )
Использование памяти: 1.65 ГБ
О боже! Почему так много?
Дык ява… Было бы оно на сервере на чистом си, тогда может и в 1,65 Mb уложились.
Основное место занимают не явовские структуры а различные буфера. Тем не менее, она просто кушает -Xmx1024M, а использует лишь малую часть этого.
Ну всё. Работа встала.
Для тайлов удобнее использовать не drawImage, а createPattern и fillRect. fillRect также удобнее тем, что им можно нарисовать несколько одинаковых подряд идущих тайлов, и это будет быстрее.
Данный тест раскрывает странный эффект: что для текстур 32×32 есть существенный прирост производительности на айпаде в 2.5 раза:
jsperf.com/canvas-texture-draw-vs-fill
Очень важно, чтобы люди, которые прочитали этот пункт не бросались бездумно заменять все drawImage на fill-pattern.
Картинка отрисовывается начиная с координат, в то время как паттерн начиная с 0-0. Что это значит? Чтобы правильно отрисовать картинку — необходимо сперва сделать translate в нужную координату.
Но этот баг не заметить если делаешь тайловый движок, потому определённо может быть резон в том чтобы использовать pattern+fillRect.
Спасибо автору за статью, было интересно.
Кстати, не думал о том, чтобы отрисовать тайловую карту в слой, который в случае скроллинга двигать не перерисовывая?
Кстати, не думал о том, чтобы отрисовать тайловую карту в слой, который в случае скроллинга двигать не перерисовывая?
Думал. Посмотрел на то что даже на айпаде у меня тормозит вовсе не отрисовка больших кусков, и решил не делать.
А что тормозит даже на айпаде? Лично у меня на айпаде до gpu-ускорения тормозило… clearRect больших участков.
Кстати, как профилируешь на айпаде?
Кстати, как профилируешь на айпаде?
Замерял сколько жрут разные части рендеринга и выводил в то окошко с FPS. Лаги смерти возникают когда надо нарисовать несколько только что полученных чанков, много тайлов. Я знаю что это можно сгладить, если я буду рисовать новый чанк в кеш не сразу а по частям, но просто не хочу это кодить. Потрачу сэкономленное время на переход к webgl.
Здравствуйте
Скажите я правильно понял что pattern + fillRect быстрее прорисовывает картинку чем drawImage?
Существуют случаи, когда drawImage быстрее pattern + fillRect?
Спасибо за ответы.
Скажите я правильно понял что pattern + fillRect быстрее прорисовывает картинку чем drawImage?
Существуют случаи, когда drawImage быстрее pattern + fillRect?
Спасибо за ответы.
Оно действительно быстрее на новом Chrome и на iPAD, но тормознее в опере. Выигрыш зависит от размера картинки, в каждом случае надо тестить. Учтите что при fillRect возможно надо делать translate + scale, и например сочетание scale и rotate на 90 градусов даёт странный эффект на iPAD. Но при рисовании тайлов это всё не нужно, и fillRect работает просто отлично!
Интересно, что судя по другому тесту оно даже в опере значительно быстрее:
jsperf.com/canvas-texture-draw-vs-fill/2
Вообще я получил странные результаты. Даже на одном браузере несколько запусков подряд были противоположно разные значения:
habrastorage.org/storage2/3e8/25f/91d/3e825f91d15a101490e83c50f9b410fa.png
habrastorage.org/storage2/b77/958/bcb/b77958bcbd3546914c4309d1dc82c783.png
jsperf.com/canvas-texture-draw-vs-fill/2
Вообще я получил странные результаты. Даже на одном браузере несколько запусков подряд были противоположно разные значения:
habrastorage.org/storage2/3e8/25f/91d/3e825f91d15a101490e83c50f9b410fa.png
habrastorage.org/storage2/b77/958/bcb/b77958bcbd3546914c4309d1dc82c783.png
Если у вас критическое к скорости приложение, то стоит попробовать перевести его на fill-pattern и посмотреть, какой будет результат
Да вот тоже игру делаем и как раз в производительность на клиенте все и упирается.
Почитав информацию и погуглив дополнительно — ех… буду переделывать клиент :)
Почитав информацию и погуглив дополнительно — ех… буду переделывать клиент :)
А какой подход в целом? Можно в личку?
Т.К. я и с drawImage не имею особо проблем с производительностью
Т.К. я и с drawImage не имею особо проблем с производительностью
Ми только изучаем все прелести HTML5.
Ну как у нас сейчас — есть реализован сервер и практически реализован клиент.
Принцип отрисовки прост — один канвас и FPS 30.
То есть 30 раз в секунду все перерисовывается — теперь я понимаю насколько єто глупо.
Смотрю Вы разбираетесь в JS — так как я не очень.
Если интересно принять участие в проекте — пишите в личку и я дам свои координаты можем больше пообщаться. Сами мы с Украины (Киев — Івано-Франковск).
Ну как у нас сейчас — есть реализован сервер и практически реализован клиент.
Принцип отрисовки прост — один канвас и FPS 30.
То есть 30 раз в секунду все перерисовывается — теперь я понимаю насколько єто глупо.
Смотрю Вы разбираетесь в JS — так как я не очень.
Если интересно принять участие в проекте — пишите в личку и я дам свои координаты можем больше пообщаться. Сами мы с Украины (Киев — Івано-Франковск).
4. Веб-функционал — Node.js (packages: express, mysql, request, nodemailer, validator, moment, forever)
5. Клиентсайд — GWT, транслируемый в javascript
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Через корпоративный прокси-сервер не работает. Почему?
К сожалению с таким latency играть пока просто не возможно. Жмешь кнопку двигаться, а он двигается в лучшем случае через секунду. Уже несколько раз умер изза этого. Поберегу-ка я свои нервы до следующего бета-теста.
Интересно конечно, но играть невозможно, каждые 5 мин всевиснет, приходится перезапускать браузер.
Каждую минуту выскакивает яваскрипт с предупреждением в хроме что некоторые плагины перестали работать (тулбар скайп в частности).
А в целом очень понравилось. Успехов вам.
Каждую минуту выскакивает яваскрипт с предупреждением в хроме что некоторые плагины перестали работать (тулбар скайп в частности).
А в целом очень понравилось. Успехов вам.
Удалите грёбанный скайп-тулбар для начала. Один из самых долбанутых плагинов для браузера.
В разных браузерах вижу только это:
Ubuntu 64 Firefox proxy: сайт грузится — игра нет. Javascript и флеш включены.
Сделайте приложение для vkontakte и facebook. Не пожалеете.
Очень хочется отдельные карты для игры с друзьями!
При запуске игры в консоли вот такое:
WARNING: error in render com.google.gwt.core.client.JavaScriptException: (NS_ERROR_NOT_AVAILABLE): Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.drawImage] QueryInterface: function QueryInterface() { [native code] } result: 2147746065 filename: bombermine.ru/play/app/DD177CA4CF1111D73CCFA09F9901E244.cache.html lineNumber: 6993 columnNumber: 0 inner: null data: null initialize: function initialize() { [native code] }
И такого там много.
WARNING: error in render com.google.gwt.core.client.JavaScriptException: (NS_ERROR_NOT_AVAILABLE): Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.drawImage] QueryInterface: function QueryInterface() { [native code] } result: 2147746065 filename: bombermine.ru/play/app/DD177CA4CF1111D73CCFA09F9901E244.cache.html lineNumber: 6993 columnNumber: 0 inner: null data: null initialize: function initialize() { [native code] }
И такого там много.
До 17-00 ещё далеко, а сервер уже недоступен…
Сервер доступен, но проблемы с DNS: 141.101.245.117/
Вход по OpenId прикрутить не планируете?
Не загружается игра. Напрямую пробовал.
Пара вопросов нуба, который хочет понять как окупать такие игры.
1. Над игрой работало в общей сложности 6 человек, специалистов в своей области. Вопрос. Сколько времени прошло с момента идеи до запуска сервера в продакшен? Сколько оценочно человекочасов потребовалось?
2. Как собираетесь монетизировать? Пока наблюдаю только рекламу вашего же хостера, и все. Планируете ли зарабатывать на этой игре? Или этот проект просто для саморекламы и ислледования возможностей используемых технологий?
1. Над игрой работало в общей сложности 6 человек, специалистов в своей области. Вопрос. Сколько времени прошло с момента идеи до запуска сервера в продакшен? Сколько оценочно человекочасов потребовалось?
2. Как собираетесь монетизировать? Пока наблюдаю только рекламу вашего же хостера, и все. Планируете ли зарабатывать на этой игре? Или этот проект просто для саморекламы и ислледования возможностей используемых технологий?
Рискну за всех ответить.
Пока мы все работаем на голом энтузиазме, бюджета нет. Все работают в разной степени, так художники пока не очень заняты. Связано с сильной загрузкой программиста, который не успевает реализовывать все идеи и параллельно оптимизировать движок.
Так что время оценить очень сложно… Безусловно, все можно было бы сделать в два-три раза быстрее, будь мы полноценной сработавшейся командой.
Сама игра изначально задумывалась как полигон для тестирования движка, но очень полюбилась народу. В какой-то момент мы решили его сделать полноценной игрой.
Собственно говоря, поскольку мы планируем выход в социальные сети, донат все таки появится и будет носить чисто декоративный характер (в основном кустомизация). «Зарабатывать» — вряд ли получится, а вот набрать стартовый капитал вполне возможно. Конечно, есть возможность того, что игра «выстрелит». Но на джекпот рассчитывать не стоит никогда.
Пока мы все работаем на голом энтузиазме, бюджета нет. Все работают в разной степени, так художники пока не очень заняты. Связано с сильной загрузкой программиста, который не успевает реализовывать все идеи и параллельно оптимизировать движок.
Так что время оценить очень сложно… Безусловно, все можно было бы сделать в два-три раза быстрее, будь мы полноценной сработавшейся командой.
Сама игра изначально задумывалась как полигон для тестирования движка, но очень полюбилась народу. В какой-то момент мы решили его сделать полноценной игрой.
Собственно говоря, поскольку мы планируем выход в социальные сети, донат все таки появится и будет носить чисто декоративный характер (в основном кустомизация). «Зарабатывать» — вряд ли получится, а вот набрать стартовый капитал вполне возможно. Конечно, есть возможность того, что игра «выстрелит». Но на джекпот рассчитывать не стоит никогда.
Прикрутите возможность играть на тач устройствах пожалуйсто.
На первом айпаде приемлимый фпс а вот поиграть не получается
На первом айпаде приемлимый фпс а вот поиграть не получается
Про самое главное забыли: запилить «Boo Crack»
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Bomberman Online и хабраэффект — 450 игроков на одной карте. Отчёт и детали игрового движка