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

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

За 20 минут не получится :)
Хм, возможно вы и правы. Я все-таки сначала сделал игру для себя, а потом уже прошел все шаги в статье, исправляя какие-то мелочи. Если кто-то попробует пройти последовательность шагов с нуля, пусть отпишется в комментах, я укажу обновленное время:).
Я потыкал демку на оф сайте, виснет на маке-хроме. Боюсь прийдется выкуривать живой pixi и халявы не видать. Спасибо за статью — бодрит.
А какую именно демку? Некоторые проблемы сейчас, безусловно, есть. У меня, например, пара картинок не отображается в хроме, но рисуется в сафари. Надеюсь, разработка движка будет идти бодро и все подобные баги найдут свое решение или хотя бы обход.
Очень много багов, чтобы останавливаться на конкретике. Игры зависли все, некоторые демки показывали просто черный экран. Буду репортить, репортить-то ума много не надо… надеюсь. Возможно просто демки не успевают обновляться за апдейтами фреймворка.
А как получить координаты куда летит мячик? в момент удара?
Не уверен, что понял вопрос, при столкновении мы просто меняем горизонтальную составляющую скорости velocity.x, а velocity.y меняется на противоположное значение самим фазером.
Ну допустим я не хочу играть с компьютером. Я добавляю socket.io, и хочу сделать игру для двух юзеров. Передавать x, y шарика не рентабельно, я знаю скорость и конечную точку, на стороне другого игрока ее отрисовать пара пустяков. Как узнать конечную точку, куда летит шарик?)
Т.е. под конечной точкой подразумевается одна из границ экрана или одна из ракеток (точки, где шарик изменит направление)? Может, если оба клиента одинаковые и используют один и тот же код (а так, думаю, обычно и происходит), проще передавать измененные значения velocity? Тогда можно будет не заморачиваться с ручным изменением координат, а использовать стандартную отрисовку.

Хотя, у меня вообще нет опыта разработки мультиплеерных игр, возможно такой способ чем-то чреват:).
А почему такая простая игра ест столько компьютерного ресурса? Память не замерял, а вот процессор (Xeon E5603 @ 1.60GHz), все четыри ядра по 45-48%.
Ну так за 20 минут же сделали, за все приходится расплачиваться. Вот если бы потратили часа 2 — тогда бы и нагрузка была минимум и удовольствия от создания и самой игры — больше.
Игры на HTML5 это модно, круто и вообще технология геймдева будущего, вы ничего не понимаете, раз придираетесь к таким мелочам
Вроде за это критиковали и флеш, а оказалось, что HTML5 может жрать ресурсы не хуже, особенно в умелых руках:). А если серьезно, то первая версия фреймворка вышла месяц назад, некоторые фундаментальные элементы функционала все еще активно изменяются, давайте немного подождем.
Кстати, можно спросить у автора на форуме www.html5gamedevs.com, он оперативно отвечает на вопросы.
Может быть просто FPS не ограничен?
Пересмотрел статью 2 раза. Не понял зачем там PHP?
Да, извините, надо было более явно написать о требованиях. Для самой игрушки сервер PHP не обязателен, но все примеры из комплекта используют именно PHP, а так как документация пока в состоянии разработки, без них трудновато разбираться.
Такую игру на js можно и без этого фреймворка за пол часа написать в принципе.
Да, безусловно. Поэтому статья и называется введением:).
Не получится за пол часа.
Осталось немножко подождать, и будем играть в браузенрый Battlefield на JS.
Спасибо за статью! Единственное отмечу, что ваш пример кода в Fr. версии 2014 (т.е. текущая) полностью не поддерживает ваш код. Более того, пропадают объекты и так далее.
Да, к сожалению, слишком много всего поменялось. Но исходники есть на гитхабе, если кто-то хочет — может подправить все под текущую версию фазера. Я в данный момент им не занимаюсь, поэтому не смогу в ближайшее время обновить пример.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории