Есть два минуса. Первый дикая задержка между нажатием и реакцией(около 1-2с)
Второе(не так минус как желательно быть), сделать автогенерацию карты и мультиплеер.
Мультиплеер есть в веб-версии. Я не могу поставить нод на свой хостинг, поэтому там только локальная версия. Игра сильно тормозит по Windows. Причин я понять не могу, такое впечатление что скрипты просто очень тупят (операций то там очень много одновременно выполняется).
компьютер у меня конечно тот еще, 16 гб / 16 ядер (2 ксеона) — причем игра параллелится на все
максимальная нагрузка — 10%, когда выпущен снаряд игрока и много выстрелов ботов…
и судя по графикам основная нагрузка — просчет столкновений… может там оптимизировать
Дык… не вся прорисовка… а строка с getNamedItem(...)
видимо ее и нужно в первую очередь профилировать… если результат нужен
а кто писал ) подозреваю большинству… не очень важно ;o) если вам нужна визитка — это хороший способ, профилировать тормозящую библиотеку
Скажите пожалуйста, под какой ОС и в каком браузере играли? Идеально работают в Хроме под Убунтой. В процессе разработки я не тестировал сильно. Это ведь просто для развлечения писалось.
и управление поправьте. что бы не нужно было отпускать клавишу, когда хочешь изменить поворот. с отзывчивостью на управления полная дичь. это проблема в алгоритме, а не железе.
Мне удобно… Извините, я делал все с расчетом на одну нажатую кнопку для движения одновременно. Как-то и не подумал что кто-то будет жать две и больше. Насчет проблем в алгоритме спорить не буду, я старался сделать код максимально оптимальным. Но, как известно, с первого раза идеально никогда не получится. Но даже если и так, как вы объясните тот факт что в Ubuntu+Chrome игра работает идеально?
Названия функций порадовали: onlyBoom, boomToUnit :D пасхалок вида bigboom, чтобы взрывались все соперники нету? (а так вы бы код лучше разделили на несколько файлов, а то файл в 1200-1400 строк кода смотреть сложно)
В веб-версии есть чит коды на супер скорость, безсмертие и смерть для всех врагов =). По коду надо смотреть как активировать, я точных слов уже не помню.
Я хотел это сделать. Но потом посмотрел и прикинул что как не крути, все равно это создаст слишком большую нагрузку в дополнение к уже реализованным вещам. И так, как видите, скрипт тяжелый и много где тормозит.
Было время я тоже написал свои танки, и в целях самообразования свой движок начинал писать, правда потом все равно использовал сторонний. Но то было оффлайн-приложение.
Тут на скорою руку нашел два бага:
1. В упор снаряд иногда пролетает мимо противника.
2. Если при переходе из клетки в клетку изменить направление танка — он поедет боком.
Первый скорее связан с упомянутыми не раз лагами, а второй не значительный.
Браузерная онлайн игра средствами jQuery, CoffeeScript, SVG и node.JS