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

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

Прошу прощения, но как физически выглядит загрузка центрального процессора в 168 процентов?
Проц вспухает
Двухъядерный процессор?
одно ядро на 100%, второе на 68% :) или два ядра на 84% или…
Если ядер больше одного то вполне могут быть и 168% и 200.
Так вот откуда 146% взялось! 100% за одного и 46% за другого. Спасибо, теперь все понятно.
Ну вот: кому-как удобнее считать;) Я, например себе в угол экрана вывожу LA/num_cores * 100% и меня устраивает, т.к. числа до 100 как-то нагляднее.
Например, одно ядро загружено на 100%, и ещё одно на 68%.
Да это круче Путина :)
Баг с ВНЕЗАПНОЙ перезагрузкой страницы, к сожалению, не дает насладится игрой :(
Браузер, детали?
Играть удобно с геймпадом. Примерно вот так :-D



Софтин для эмуляции нажатий клавы с джойстиков/геймпадов много, я обычно Joy2Key пользуюсь.
так вот кто меня постоянно убивает)
под Mac что посоветуете?
К сожалению, на Firefox 13 дикие лаги (при передвижении двигается через секунд 5 после нажатия кнопок. Играть нереально так.
Chrome 19.0.1084.46 — тоже самое.
Закончилась загрузка файла на сайт, игра стала работать побыстрее. Уже вполне реально поиграть. Спасибо.
Не играет что-то, в консоль пишет: Unexpected response code: 200. Браузер Chrome 19.0.1084.52 m
Кто-то режет траффик на пути до сервера, вот вебсокеты и не работают.
Жаль не получилось сыграть.
OS: Ubuntu 11.04
Браузер: Chrome Версия 19.0.1084.52
А как такие красивые графики рисовать?
Кеп подсказывает, что на графиках внизу есть имя софтины — Munin.
Точно, спасибо копетану )
Здорово!
Молодцы!

Ощущение что в топе есть боты.
Очень классно! И ведь реально затянуло.
Использование памяти: 1.65 ГБ

О боже! Почему так много?
Дык ява… Было бы оно на сервере на чистом си, тогда может и в 1,65 Mb уложились.
Основное место занимают не явовские структуры а различные буфера. Тем не менее, она просто кушает -Xmx1024M, а использует лишь малую часть этого.
Значит, в подобных графиках ещё разумно отражать состояние java heap. Я так понимаю, он все отведённые 1024М отжирает, чтобы реже запускать GC?
Да, всё так. Руки пока не дошли показывать состояние jvm. Но я иногда пробегался jmap-ом и видел что утечек и диких выделений памяти нету.
Для тайлов удобнее использовать не 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?

Спасибо за ответы.
Оно действительно быстрее на новом 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
Это что, в опере рулят транслейты?
Там же ещё имеет значение offscreen/не-offscreen вроде?..
Да и возможно свой тест надо делать.
Ну оно всё рисуется в пределах экрана, да и я удивился и сам проверил — действительно рисуются.
Если у вас критическое к скорости приложение, то стоит попробовать перевести его на fill-pattern и посмотреть, какой будет результат
Да вот тоже игру делаем и как раз в производительность на клиенте все и упирается.
Почитав информацию и погуглив дополнительно — ех… буду переделывать клиент :)
А какой подход в целом? Можно в личку?
Т.К. я и с drawImage не имею особо проблем с производительностью
Ми только изучаем все прелести HTML5.

Ну как у нас сейчас — есть реализован сервер и практически реализован клиент.
Принцип отрисовки прост — один канвас и FPS 30.
То есть 30 раз в секунду все перерисовывается — теперь я понимаю насколько єто глупо.

Смотрю Вы разбираетесь в JS — так как я не очень.
Если интересно принять участие в проекте — пишите в личку и я дам свои координаты можем больше пообщаться. Сами мы с Украины (Киев — Івано-Франковск).
А апдейтится состояние игры сколько раз?
Єто хот-сит — потому редко.
Графики много
Ну я автор LibCanvas, так что на Canvas разрабатываю уже более 2 лет. И сейчас занят серьёзным комерческим проектом.
Могу помочь консультациями и советами, в скайпе, shock13666
Спасибо — отравил запрос в скайп
Напишите сообщение)
отписал ;)
4. Веб-функционал — Node.js (packages: express, mysql, request, nodemailer, validator, moment, forever)
5. Клиентсайд — GWT, транслируемый в javascript

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Через корпоративный прокси-сервер не работает. Почему?
Значит прокси не поддерживает вебсокеты.
НЛО прилетело и опубликовало эту надпись здесь
На 80-ом.
К сожалению с таким latency играть пока просто не возможно. Жмешь кнопку двигаться, а он двигается в лучшем случае через секунду. Уже несколько раз умер изза этого. Поберегу-ка я свои нервы до следующего бета-теста.
Это проблема с каналом до сервера в частном случае… На данный момент движок очень требователен к нему.
Интересно конечно, но играть невозможно, каждые 5 мин всевиснет, приходится перезапускать браузер.
Каждую минуту выскакивает яваскрипт с предупреждением в хроме что некоторые плагины перестали работать (тулбар скайп в частности).
А в целом очень понравилось. Успехов вам.
Удалите грёбанный скайп-тулбар для начала. Один из самых долбанутых плагинов для браузера.
Не знаю, все может быть, я не пользуюсь ни хромом ни тулбарами которые на нем стоят, да и если честно впервые узнал что такой бывает.
Залез в него лишь потому что в других браузерах поиграть было просто нереально из-за тормозов.
В разных браузерах вижу только это: image
Значит вебсокеты не достучались, что-то режет траффик до 80-ого порта.
Аналогично. Началось такое вчера часов в 18. До этого работало нормально.
Ubuntu 64 Firefox proxy: сайт грузится — игра нет. Javascript и флеш включены.
proxy должна поддерживать вебсокеты.
Сделайте приложение для 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] }

И такого там много.
А браузер какой?
FF 13

Попробовал напрямую 141.101.245.117/
Все работает отлично.
До 17-00 ещё далеко, а сервер уже недоступен…
Сервер доступен, но проблемы с DNS: 141.101.245.117/
Вход по OpenId прикрутить не планируете?
Планируем.
Не загружается игра. Напрямую пробовал.
Сайт или игра? Какой браузер?
Игра, файрфокс 13
Что в консоли?
Все, разобрались. Там вебсокеты были выключены.
Пара вопросов нуба, который хочет понять как окупать такие игры.

1. Над игрой работало в общей сложности 6 человек, специалистов в своей области. Вопрос. Сколько времени прошло с момента идеи до запуска сервера в продакшен? Сколько оценочно человекочасов потребовалось?

2. Как собираетесь монетизировать? Пока наблюдаю только рекламу вашего же хостера, и все. Планируете ли зарабатывать на этой игре? Или этот проект просто для саморекламы и ислледования возможностей используемых технологий?
Рискну за всех ответить.
Пока мы все работаем на голом энтузиазме, бюджета нет. Все работают в разной степени, так художники пока не очень заняты. Связано с сильной загрузкой программиста, который не успевает реализовывать все идеи и параллельно оптимизировать движок.
Так что время оценить очень сложно… Безусловно, все можно было бы сделать в два-три раза быстрее, будь мы полноценной сработавшейся командой.

Сама игра изначально задумывалась как полигон для тестирования движка, но очень полюбилась народу. В какой-то момент мы решили его сделать полноценной игрой.
Собственно говоря, поскольку мы планируем выход в социальные сети, донат все таки появится и будет носить чисто декоративный характер (в основном кустомизация). «Зарабатывать» — вряд ли получится, а вот набрать стартовый капитал вполне возможно. Конечно, есть возможность того, что игра «выстрелит». Но на джекпот рассчитывать не стоит никогда.

Прикрутите возможность играть на тач устройствах пожалуйсто.
На первом айпаде приемлимый фпс а вот поиграть не получается
Будет реализовано, но пока это не в приоритете.
Про самое главное забыли: запилить «Boo Crack»
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории