С точки зрения конечного пользователя я бы категорически не захотел бы, чтобы все объекты в игре разрушались таким образом. Лучше бы напрячь художника, чем такое на выходе. Может где-то и подойдет, но уж точно не везде, выглядит очень искусственно.
Так можно добавить ещё пачку таких эффектов, с разными параметрами, и вешать разные эффекты на разные объекты/скины.
Просто дело в том что шкурок подходящих для игры в интернете много, но анимации смерти у них отсутствуют.
Мы ориентируемся на большое количество user-generated контента.
Они там такое г. дорисовывают :) Но я думаю что можно и анимацию и какой-нибудь эффект использовать одновременно, например сейчас Кенни и распадается на пиксели и улетает в небо.
понял в чем проблема, у вас нет объявления doctype в формате html5 на странице, IE сразу переходит в режим совместимости, добавьте стандартный doctype и все заработает и там
Игра — затягивает. Разработка — классная. Код, расчеты, все дела…
НО!
Не надо стараться «засунуть» максимум из последних технологий в проект и тем самым «отмести» сразу бОльшую часть пользователей: слабый CPU на устройстве, браузер не обновили до последней версии, нет каких-то плагинов и пр.
Не грузите устройство пользователя неоправданными расчетами, производимыми «на лету».
Одно дело — однократное преобразование и кэширование. Но, когда это постоянно?..
Я привык так: задействуй меньше — останется больше. (ресурсов)
Было бы намного эффектнее, если бы точки разлетались равномерно в разные стороны (вероятность вектора начальной скорости равномерна по верхней полуокружности). Можно, впрочем, добавить некоторую часть от текущей скорости юнита, чтобы был эффект продолжающегося движения.
Да, там есть следующее ограничение: за один кадр может создаться только один юнит.
Поправил, теперь там можно создать 5. То есть она сейчас не может создавать юнитов больше чем 5*FPS, надо бы вывести счётчик текущего числа юнитов…
Во-первых при изменении любого параметра скина придётся всё это пересобирать, во-вторых скин в 16 кадров, а анимация смерти основанная на одном из кадров будет минимум в 60, а их ещё надо минимум 4 штуки (по числу направлений ходьбы), это всё серьёзное увеличение размера ресурсов.
Конечно данный подход тоже имеет право на жизнь, но совсем при других требованиях, не при 60 кадрах в секунду.
Можно одну анимацию сделать: быстро разрывающийся в стороны (по-окружности) и медленно сходящийся в центр (в кучку).
В момент смерти убираем персонаж и проигрываем анимацию взрыва, одновременно смещая в направлении взрыва.
Создастся эффект направленного взрыва и сноса частей персонажа в направлении взрыва (противоположном от бомбы).
Ок, сделаем что-то такое для эффектов которые будут более часто использоваться, например для разноса блоков.
Эффект смерти проигрывается редко, и по сравнению с остальной прорисовкой его стоимость очень мала, это не bottleneck :)
Кадры ходьбы зациклены и меняются часто, а 60FPS там заметно потому что игрок при этом движется.
Да, если будет тормозить то наверное поставлю 5-10 кадров. Но я думаю что не будет :)
Ну и понятно, рисовать это вручную для каждого блока когда этих блоков будет много мне не хочется.
Эффект рассеивания в увеличенном виде смотрится нормально (хоть и не реалистично). Но, вот, в пылу сражения, особенно когда задевает краем взрыва, он очень незаметен. Даже не сразу доходит, что ты умер, или что кого-то убил. Практически с таким же успехом можно было бы убирать персонажей с экрана без лишних слов. С таким эффектом лишь чуть-чуть лучше, чем без эффекта вообще.
Так, здесь только что был чувак! Куда он делся? Ух ты, у меня, оказывается +1 фраг, клево. А, точно, это я его убил (по логам).
В классической dyna blasters для каждого скина был свой уникальный анимированный эффект, который начинался с изображения удивления (как?! меня убили??!) и далее персонаж/моб постепенно уходил в небытие.
Вся мультипликация эффекта разрушения чисто для красоты. А вот первый кадр довольно важен в геймплее тем, что заметен. Боковым зрением видно, кого убил и сколько всего жертв, или что тебя внезапно убили. Ведь у каждого игрока «бомбермена» в течение всей игры тикают внутренние часы. И если несколько событий происходят одновременно, то они железно связываются причинно-следственной связью. Но для этого, — события должны выделяться, быть заметными, чтобы десятки событий на экране можно было охватить боковым зрением.
По-моему, если так уж важен именно программный эффект, то лучше подошла бы последняя поза персонажа в другом цвете (в красном, например) с постепенным фейдом исчезновения. Таким образом, тихо и незаметно скончаться будет сложно. Сразу после смерти персонаж как бы будет кричать «я здесь! я только что умер! позор мне!». А так как цвет смерти для всех будет одинаково яркий и броский, то уже получается стандарт, выучив который, глаз будет легко воспринимать интуитивно. Ведь самое важное — это фраги, не так ли?
Конечно ты прав, надо будет сделать заметнее.
Эффект исчезновения я тоже делал, но вот хотелось именно развевать пепел. Будут ресурсы — сделаем ещё эффектов и будет позаметней.
Достаточно сделать, чтобы персонаж развевался не моментально, а как бы, завис на время, а потом уже развеялся.
Застрявший персонаж уже привлекает внимание. А если на время зависания добавить какой-нибудь эффект, как выше предложили покраснение, или мигание какое-нибудь — то будет и заметно и красиво.
Игруха супер. Но, на нетбуках (atom 450) тормозит заметно + как-то странно себя чувствует в разрешении 1024x600. На полный экран не удалось развернуть. Но это так, к слову. Вообще молодцы, на десктопе с удовольствием поиграл.
Ну, нетбук это не совсем мобильник. Я просто что хотел сказать — хрен с ним, с тормозами, возможно это опера так к меня, а если хром — то нормально. Беда в разрешении. Позвольте пользователю где-то прямо в игре развернуть на полный экран. Вот и все.
А, ну значит я просто косоглазый. Тогда все в ажуре, еще раз респект авторам, попробую завтра на работе. А про мобильные версии — если не забудете Windows mobile и symbian — вообще будет классно. Но это уже чисто из области фантастики конечно )) Но в любом случае, классная игра!
PS: А в случае Win mobile мог бы и поспособствовать, just for fun, ради саморазвития…
Автору следовало сделать взрыв анимацией, которую не нарисует художник, а сгенерит скрипт — сколь угодно сложный, тормозной, зато красивый. Возможно даже несколько вариантов взрывов. И проблема тормозов решится и художник не нужен. Все счастливы.
Сейчас ещё есть эффект для блоков, там сейчас 80 штук, при этом работает graceful degradation: она пересчитывает эффекты пока есть время. В IE10 можно наблюдать 60фпс, при том что сама анимация подтормаживает.
Эффектная анимация разрушения (Pixel Dust) на JavaScript