IT systems testing
Java
Game development
Comments 95
+8
Прошу прощения, но как физически выглядит загрузка центрального процессора в 168 процентов?
+20
Так вот откуда 146% взялось! 100% за одного и 46% за другого. Спасибо, теперь все понятно.
0
Ну вот: кому-как удобнее считать;) Я, например себе в угол экрана вывожу LA/num_cores * 100% и меня устраивает, т.к. числа до 100 как-то нагляднее.
0
Баг с ВНЕЗАПНОЙ перезагрузкой страницы, к сожалению, не дает насладится игрой :(
+30
Играть удобно с геймпадом. Примерно вот так :-D



Софтин для эмуляции нажатий клавы с джойстиков/геймпадов много, я обычно Joy2Key пользуюсь.
0
К сожалению, на Firefox 13 дикие лаги (при передвижении двигается через секунд 5 после нажатия кнопок. Играть нереально так.
+1
Закончилась загрузка файла на сайт, игра стала работать побыстрее. Уже вполне реально поиграть. Спасибо.
0
Не играет что-то, в консоль пишет: Unexpected response code: 200. Браузер Chrome 19.0.1084.52 m
0
Кто-то режет траффик на пути до сервера, вот вебсокеты и не работают.
0
Жаль не получилось сыграть.
OS: Ubuntu 11.04
Браузер: Chrome Версия 19.0.1084.52
+4
Кеп подсказывает, что на графиках внизу есть имя софтины — Munin.
+2
Дык ява… Было бы оно на сервере на чистом си, тогда может и в 1,65 Mb уложились.
+1
Основное место занимают не явовские структуры а различные буфера. Тем не менее, она просто кушает -Xmx1024M, а использует лишь малую часть этого.
+3
Значит, в подобных графиках ещё разумно отражать состояние java heap. Я так понимаю, он все отведённые 1024М отжирает, чтобы реже запускать GC?
0
Да, всё так. Руки пока не дошли показывать состояние jvm. Но я иногда пробегался jmap-ом и видел что утечек и диких выделений памяти нету.
+3
Для тайлов удобнее использовать не drawImage, а createPattern и fillRect. fillRect также удобнее тем, что им можно нарисовать несколько одинаковых подряд идущих тайлов, и это будет быстрее.
Данный тест раскрывает странный эффект: что для текстур 32×32 есть существенный прирост производительности на айпаде в 2.5 раза:
jsperf.com/canvas-texture-draw-vs-fill

Очень важно, чтобы люди, которые прочитали этот пункт не бросались бездумно заменять все drawImage на fill-pattern.

Картинка отрисовывается начиная с координат, в то время как паттерн начиная с 0-0. Что это значит? Чтобы правильно отрисовать картинку — необходимо сперва сделать translate в нужную координату.



Но этот баг не заметить если делаешь тайловый движок, потому определённо может быть резон в том чтобы использовать pattern+fillRect.
0
Думал. Посмотрел на то что даже на айпаде у меня тормозит вовсе не отрисовка больших кусков, и решил не делать.
0
А что тормозит даже на айпаде? Лично у меня на айпаде до gpu-ускорения тормозило… clearRect больших участков.
Кстати, как профилируешь на айпаде?
0
Замерял сколько жрут разные части рендеринга и выводил в то окошко с FPS. Лаги смерти возникают когда надо нарисовать несколько только что полученных чанков, много тайлов. Я знаю что это можно сгладить, если я буду рисовать новый чанк в кеш не сразу а по частям, но просто не хочу это кодить. Потрачу сэкономленное время на переход к webgl.
0
Здравствуйте

Скажите я правильно понял что pattern + fillRect быстрее прорисовывает картинку чем drawImage?

Существуют случаи, когда drawImage быстрее pattern + fillRect?

Спасибо за ответы.
0
Оно действительно быстрее на новом Chrome и на iPAD, но тормознее в опере. Выигрыш зависит от размера картинки, в каждом случае надо тестить. Учтите что при fillRect возможно надо делать translate + scale, и например сочетание scale и rotate на 90 градусов даёт странный эффект на iPAD. Но при рисовании тайлов это всё не нужно, и fillRect работает просто отлично!
0
Интересно, что судя по другому тесту оно даже в опере значительно быстрее:

jsperf.com/canvas-texture-draw-vs-fill/2

Вообще я получил странные результаты. Даже на одном браузере несколько запусков подряд были противоположно разные значения:
habrastorage.org/storage2/3e8/25f/91d/3e825f91d15a101490e83c50f9b410fa.png
habrastorage.org/storage2/b77/958/bcb/b77958bcbd3546914c4309d1dc82c783.png
0
Это что, в опере рулят транслейты?
Там же ещё имеет значение offscreen/не-offscreen вроде?..
Да и возможно свой тест надо делать.
0
Ну оно всё рисуется в пределах экрана, да и я удивился и сам проверил — действительно рисуются.
0
Если у вас критическое к скорости приложение, то стоит попробовать перевести его на fill-pattern и посмотреть, какой будет результат
0
Да вот тоже игру делаем и как раз в производительность на клиенте все и упирается.
Почитав информацию и погуглив дополнительно — ех… буду переделывать клиент :)
0
А какой подход в целом? Можно в личку?
Т.К. я и с drawImage не имею особо проблем с производительностью
0
Ми только изучаем все прелести HTML5.

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

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

UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
+1
К сожалению с таким latency играть пока просто не возможно. Жмешь кнопку двигаться, а он двигается в лучшем случае через секунду. Уже несколько раз умер изза этого. Поберегу-ка я свои нервы до следующего бета-теста.
+1
Это проблема с каналом до сервера в частном случае… На данный момент движок очень требователен к нему.
+1
Интересно конечно, но играть невозможно, каждые 5 мин всевиснет, приходится перезапускать браузер.
Каждую минуту выскакивает яваскрипт с предупреждением в хроме что некоторые плагины перестали работать (тулбар скайп в частности).
А в целом очень понравилось. Успехов вам.
+8
Удалите грёбанный скайп-тулбар для начала. Один из самых долбанутых плагинов для браузера.
0
Не знаю, все может быть, я не пользуюсь ни хромом ни тулбарами которые на нем стоят, да и если честно впервые узнал что такой бывает.
Залез в него лишь потому что в других браузерах поиграть было просто нереально из-за тормозов.
0
Значит вебсокеты не достучались, что-то режет траффик до 80-ого порта.
0
Аналогично. Началось такое вчера часов в 18. До этого работало нормально.
0
Ubuntu 64 Firefox proxy: сайт грузится — игра нет. Javascript и флеш включены.
0
Да, это первый запрос в списке всех кому кидал ссылку.
0
То есть собственная комната, куда можно загнать друзей по приглашению и пофаниться?
Мне нравится, что-то мы такую идею упусти ли…
0
При запуске игры в консоли вот такое:

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] }

И такого там много.
+1
Пара вопросов нуба, который хочет понять как окупать такие игры.

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

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

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

0
Прикрутите возможность играть на тач устройствах пожалуйсто.
На первом айпаде приемлимый фпс а вот поиграть не получается
Only those users with full accounts are able to leave comments.  , please.