Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Скайдом - пожалуй, самая красочная и интересная головоломка с действительно уникальными режимами игры!

Скайдом

Три в ряд, Головоломки, Казуальные

Играть

Топ прошлой недели

  • CharlotteLink CharlotteLink 1 пост
  • Syslikagronom Syslikagronom 7 постов
  • BydniKydrashki BydniKydrashki 7 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Phaser

С этим тегом используют

Gamedev Javascript HTML Typescript Холст Все
21 пост сначала свежее
5
theasmoth
1 месяц назад
Лига Разработчиков Видеоигр

City States Idle - менеджмент игра про построение бизнеса⁠⁠

С прошлого поста про игру на хакатон прошло чуть больше года, было не до геймдева. Всё как обычно началось с желания создать игру, игру которая бы сочетала элементы idle и менеджмента. Хотелось, чтобы игроки могли развивать свой город, но при этом не были привязаны к постоянному управлению. Так родилась концепция City States Idle.

City States Idle - менеджмент игра про построение бизнеса Разработка, Программирование, Gamedev, Инди, Javascript, Phaser, Браузерные игры, Яндекс Игры, Длиннопост

Выбор технологий

Для реализации проекта был выбран игровой фреймворк Phaser, так как эта библиотека отлично подходит для создания браузерных игр и имеет множество готовых инструментов для работы с графикой и физикой.

Первый прототип

Первым делом был создан базовый прототип с гексагональной сеткой. Это было ключевым элементом игры, так как гексагональные плитки позволяли создавать интересные стратегические решения при планировании карты. Очень помог плагин rexBoard для создания сетки.

City States Idle - менеджмент игра про построение бизнеса Разработка, Программирование, Gamedev, Инди, Javascript, Phaser, Браузерные игры, Яндекс Игры, Длиннопост

Система покупок и размещения

Следующим этапом стала разработка системы покупок. Реализовал механику, где игроки могли приобретать новые плитки за внутриигровую валюту. Каждая плитка могла содержать различные типы зданий, которые нужно было стратегически соединять для оптимизации производства ресурсов.

Система производства и доставки

Одним из ключевых элементов стала система производства ресурсов. Здания автоматически генерировали ресурсы, но так же и перерабатывали их. Это создавало интересный баланс между развитием инфраструктуры и управлением финансами.

City States Idle - менеджмент игра про построение бизнеса Разработка, Программирование, Gamedev, Инди, Javascript, Phaser, Браузерные игры, Яндекс Игры, Длиннопост

Графика

Как обычно графика сгенерирована нейросетями, лучший помощник при разработке игр.

Система соединений

Важной частью геймплея стала система соединений между зданиями. Здания должны были быть связаны с другими открытыми зданиями для эффективной работы - некий стратегический элемент в процессе игры.

Инструменты

Отдельно пришлось создать редактор карт на базе самой игры и локальный сервер для обработки и хранения этих карт. Это очень сильно облегчило создание и редактирование карт.

Оптимизация и балансировка

После создания базовой механики приступил к оптимизации производительности. Изначально для неактивных зданий использовался шейдер, но при росте карты наблюдались проблемы с производительности, в итоге легче было отказаться от шейдера и использовать дубликаты зданий, но в grayscale режиме и с прозрачностью.

Так же пришлось поиграться с ценами товаров и скоростью производства зданий, чтобы достичь некоторого баланса.

City States Idle - менеджмент игра про построение бизнеса Разработка, Программирование, Gamedev, Инди, Javascript, Phaser, Браузерные игры, Яндекс Игры, Длиннопост

Релиз и обновления

После успешного тестирования игра была выпущена в раннем доступе. Это позволило получить обратную связь от реальных игроков и внести необходимые корректировки. Планируется добавление новых уровней и усложнение механики игры, добавлением нового функционала.

Заключение

Разработка City States Idle стала интересным проектом, который объединил элементы градостроительства и idle-геймплея. Продолжается работа над улучшением игры, основываясь на обратной связи от игроков и новых идеях для развития проекта.

City States Idle на Яндекс Играх

Показать полностью 4
[моё] Разработка Программирование Gamedev Инди Javascript Phaser Браузерные игры Яндекс Игры Длиннопост
1
8
theasmoth
1 год назад
Лига Разработчиков Видеоигр

Игра выживалка Эмодзи⁠⁠

Игра выживалка Эмодзи Gamedev, Онлайн-игры, Инди, Эмодзи, Survivors, Яндекс Игры, Javascript, Phaser, Длиннопост

Или же Emoji Survivors. Недавно писал про результаты полутора месяцев в Яндекс Играх и пока они копились успел немного поработать над следующей игрушкой. Опять же продолжается тема вкатывания в геймдев. Яндекс Игры пока всего-лишь платформа для тестов, чего-то серьезного разрабатывать и выкладывать не планирую, набиваю руку так сказать.

Ну штош. В этот раз захотелось сделать игру из еще одного жанра который мне нравится. Аналог Vampire Survivors. У этой игры уже появилось очень много различных клонов, разного уровня проработки, 2D и 3D, мобильные и десктопные, и еще куча различных комбинаций.

Для начала решил поковыряться в 2D движках для JS. Когда-то был небольшой опыт с pixi.js, но я еще слышал про Phaser. Почитав различные англоязычные сравнения было выявлено что свои плюсы и минусы есть у обоих движков, но Phaser полегче для новичков. На нем и остановился.

Из плагинов добавил Rex UI чтобы было полегче мастерить менюшки и прочие UI'ные элементы. Долго пришлось разбираться как это всё дело правильно масштабировать для разных экранов, но наконец получилось сделать нормальный вариант, который прошел модерацию. Изначально выявились баги на некоторых разрешениях что меню обрезалось, элементы UI улетали за экран. Теперь всё ок. Если вдруг что-то найдете, вы знаете куда писать.

Игра выживалка Эмодзи Gamedev, Онлайн-игры, Инди, Эмодзи, Survivors, Яндекс Игры, Javascript, Phaser, Длиннопост

Рисовать я не особо умею, но зато имеется большой опыт составления коллажей и фотошоперства. Поэтому в качестве персонажей было решено выбрать эмодзи, которые и будут выживать. Логотип нарисовал сам по гайдам :)

Про фон для меню отдельная тема, т.к. не умею рисовать, а нужно получить что-то красивое и приятное, то было решено использовать AI генератор изображений. Нагенерил множество картинок без копирайтов, осталось только их скомбинировать вместе, а это я умел. Кажется получилось отлично. Выглядит сочнее чем сама игра, возможно придется сделать еще итерацию для улучшения изображений эмодзи. Критика приветствуется.

В игре есть несколько различных персонажей, изначально доступно 2, следующие открываются при добыче монет. Механика аналогичная вампирам, убиваешь монстров, получаешь опыт и иногда различные ништяки. Есть потенциал для усложнения механик, но решил пока выпустить MVP версию для проверки. Всё таки клонов и на Яндекс Играх полно.

Игра выживалка Эмодзи Gamedev, Онлайн-игры, Инди, Эмодзи, Survivors, Яндекс Игры, Javascript, Phaser, Длиннопост

Монетизация простая: стики баннеры, rewarded реклама за получение 5 монет и воскрешение.

Игра только вышла, поэтому никакой статистики нет, но как только появится поспешу поделиться, самому интересно как получится.

Собственно сама игра на Яндекс Играх https://yandex.ru/games/app/243190

Показать полностью 2
[моё] Gamedev Онлайн-игры Инди Эмодзи Survivors Яндекс Игры Javascript Phaser Длиннопост
5
20
DELETED
2 года назад
Лига Разработчиков Видеоигр

Сапёр с инструментами - небольшое обновление игры, где сапёру наконец-то удобно пользоваться интерфейсом⁠⁠

Обновил игру "Сапёр с инструментами". Игра описана в посте: Сапёр с инструментами - небольшая игра, где у сапёра наконец-то появился миноискатель

В двух словах - классическая головоломка сапёр с тем отличием, что в игре есть протагонист с металоискателем и сапёрным щупом.

Выложил на itch обновлённую версию, ссылка в конце поста.

Большое спасибо всем, кто попробовал игру и особенная благодарность тем, кто написал пожелания, мнения, сообщил об ошибках.


Поскольку больше всего писали про управление, давайте поговорим про него подробней.

Сапёр с инструментами - небольшое обновление игры, где сапёру наконец-то удобно пользоваться интерфейсом Phaser, Разработка, Gamedev, Инди игра, Инди, Головоломка, Сапер, Гифка, Длиннопост

Сапёр с инструментами это браузерная мультиплатформенна игра, что накладывает некоторые ограничения на доступные способы ввода:

- курсор как игровой элемент недоступен на мобильных устройствах

- правая кнопка мыши недоступна на мобильных устройствах

- долгое нажатие для мобильных устройств неудобно, т.к. имеет большую задержку срабатывания и плохую обратную связь - не понятно, сработало ли и что там под пальцем вообще происходит. Также оно конфликтует с жестами, тяганием объектов и прочими частыми операциями для сенсорных экранов.

- клавиатура недоступна на мобильных устройствах, а виртуальная клавиатура (или кнопки управления) съедают довольно много места (в Phaser 3 её ещё и писать с ноля придётся)

- правая кнопка мыши может конфликтовать с "жестами мышью" в некоторых браузерах и расширениях на ПК

- средняя кнопка мыши доступна далеко не на всех ПК (устройства Apple не имеют такого функционала в принципе, тачпады ноутбуков как правило требуют нажатия несколькими пальцами и очень неточны)

- автоматически определить, какая схема управления оптимальна для устройства, в общем случае невозможно (например, ноут с сенсорным экраном или смарт с мышкой - да-да, и такое бывает) - необходимо либо делать под всё сразу, либо дать возможность выбрать схему управления, при этом явно обозначить такую возможность

- игра очень похожа на уже существующую и известную, а потому важно явно и ненавязчиво сообщить об отличиях (новых доступных функциях) - мало кто станет смотреть туториал или лезть в справку по Сапёру.


Начальная схема управления учитывает все эти ограничения (на самом деле это уже третья итерация, но именно она вышла в первый релиз):

- клик по разведанным ячейкам отправляет персонажа пешком в указанную ячейку - это безопасное и единственное доступное в данном случае действие

- клик по неразведанным ячейкам вызывает меню действий, которое рисуется вокруг нажатой ячейки - это страхует от нечаянного прохода по мине, а также показывает и привязывает доступные действия к месту их применения

- клик по меню вызывает нужное действие (персонаж подойдёт к ячейке по максимально безопасному пути)

- расположение элементов меню позволяет двойным кликом ставить флаг, что также обезопасит от случайного выбора потенциально опасного действия прохода в клетку


Главный минус такой схемы в том, что частое действие - пройти в неизвестную клетку - становится неудобным и требует 2 клика в разные места экрана (сначала меню на клетке, потом кнопка на уровне соседней клетки)


Долго думал как улучшить существующую схему управления не потеряв её достоинств и устранив недостатки и решил:

- оставить меню действий, но разделить расстановку кнопок в зависимости от способа вызова - тогда двойное нажатие на разные кнопки приведёт к разным действиям

Сапёр с инструментами - небольшое обновление игры, где сапёру наконец-то удобно пользоваться интерфейсом Phaser, Разработка, Gamedev, Инди игра, Инди, Головоломка, Сапер, Гифка, Длиннопост

- добавить жесты для установки флага - необходимо для сенсорных экранов из-за отсутствия альтернативного меню

Сапёр с инструментами - небольшое обновление игры, где сапёру наконец-то удобно пользоваться интерфейсом Phaser, Разработка, Gamedev, Инди игра, Инди, Головоломка, Сапер, Гифка, Длиннопост

В итоге управление теперь такое:

- ЛКМ / нажатие - открывается меню, где под курсором действие "идти"

- ПКМ - открывается меню, где под курсором действие "поставить флаг"

- жест в виде прямой линии через клетку - поставить флаг (работает и с мышью)

- соответственно двойной клик ЛКМ / двойное нажатие - пойти в клетку, двойной клик ПКМ - поставить флаг


Всё равно не самая оптимальная схема с точки зрения пользователя, но если учитывать затраты на разработку...

Сапёр с инструментами - небольшое обновление игры, где сапёру наконец-то удобно пользоваться интерфейсом Phaser, Разработка, Gamedev, Инди игра, Инди, Головоломка, Сапер, Гифка, Длиннопост

Полный список исправлений:

- поправлена отрисовка цифр - контур сделан отдельным слоем, который всегда (почти) рисуется поверх картинки для большей контрастности

- увеличена контрастность меню действий, отдельные действия теперь имеют свой цвет

- увеличена контрастность неразведанных ячеек, особенно при перекрытии объектами - туман рисуется поверх всех объектов, теперь деревья не скрывают важную информацию

- добавлено отображение пути от протагониста до курсора, а также пути, по которому происходит текущее движение

Сапёр с инструментами - небольшое обновление игры, где сапёру наконец-то удобно пользоваться интерфейсом Phaser, Разработка, Gamedev, Инди игра, Инди, Головоломка, Сапер, Гифка, Длиннопост

- добавлена возможность посмотреть поле после окончания игры

- поправлены баги с установкой флагов и вопросов

- улучшена генерация мин

- на 30% увеличена скорость движения персонажа

- немного изменены размеры и положение кнопок выбора действия (проще попасть, сложнее промазать)

- поддержка жестов и длинного нажатия для устройств с сенсорным вводом

- поддержка правой кнопки мыши


Ссылки

1. Игрушку можно заценить на https://gamruls.itch.io/minesweeper-with-tools (версия с окном побольше https://itch.io/embed-upload/6350431?color=605948)

Буду рад обратной связи.

Показать полностью 5
[моё] Phaser Разработка Gamedev Инди игра Инди Головоломка Сапер Гифка Длиннопост
16
138
DELETED
2 года назад
Лига Разработчиков Видеоигр

Сапёр с инструментами - небольшая игра, где у сапёра наконец-то появился миноискатель⁠⁠

Всем привет, хочу поделиться небольшой браузерной игрой - вариация на тему классического сапёра.

Сапёр с инструментами - небольшая игра, где у сапёра наконец-то появился миноискатель Phaser, Инди игра, Gamedev, Разработка, Головоломка, Сапер, Длиннопост, Видео

Основные фичи:

- это "Сапёр с инструментами" и в нём нет проблемы 50/50 и нерешаемых ситуаций

- можно вообще не решать головоломку с цифрами, а просто тыкать в мышь/экран и выигрывать

- появился человек-протагонист, и это не просто смайлик (хоть и проработан он примерно на том же уровне)

- работает в браузере на любых устройствах. Управление специально упрощено - достаточно левой кнопки мыши / тача.


Сделано с целью быть играбельным.

Техническая информация:

- Объём скачиваемых файлов для игры: около 12МБ (зависит от платформы)

- Количество строк кода: около 8 тысяч

- Общий объём ассетов (картинки, звуки, конфиги и т.п.): 20МБ

- Количество коммитов в git: около 220

- Количество карточек в Trello (идеи, задачи, баги): около 180

- Основные технологии: JavaScript, Phaser 3, React, SASS, Webpack

- Финансовые затраты: отсутствуют


Углубляться в код или рутинные операции не вижу смысла. Хочу отметить некоторые неочевидные технические нюансы:

- Для людей с цветовой слепотой (около 8% мужчин, кстати) потребовались некоторые фичи. Так как цвета в игре передают важную информацию, пришлось добавить белый контур к некоторым элементам, которые иначе становятся просто невидимыми.

Сапёр с инструментами - небольшая игра, где у сапёра наконец-то появился миноискатель Phaser, Инди игра, Gamedev, Разработка, Головоломка, Сапер, Длиннопост, Видео

- 2D изометрическая графика состоит из хаков и ухищрений. Добиться быстрой и корректной картинки с анимациями и перекрытием объектов в проекции - нетривиальная задача в общем случае.

- Чтобы игра не жрала ресурсы в простое и работала нормально на мобилках пришлось отказаться от WebGL и переписать рендер со встроенной в Phaser имплементации TileMap на свою реализацию на базе RenderTexture - по сути формировать спрайты в памяти вручную и самому их обновлять.

- Не бывает идеальных инструментов и фреймворков, поэтому при дебаге и обходе багов очень помогает доступ к исходникам. Исходники Phaser, кажется, я читал даже больше, чем свои.

- 2D арт очень удобно делать через 3D. При рендере под нужным углом и с низким разрешением модель допускает некоторую всратость, которая не повлияет на результат. Я использовал Blender, для него есть много плагинов для генерации моделей (например MakeHuman). Рендер можно автоматизировать и генерировать все нужные положения камеры, фреймы анимации и атласы.

Сапёр с инструментами - небольшая игра, где у сапёра наконец-то появился миноискатель Phaser, Инди игра, Gamedev, Разработка, Головоломка, Сапер, Длиннопост, Видео

- Пиксель-арт относительно просто рисуется, но плохо масштабируется. Если нужна поддержка разных разрешений и разных DPI, то придётся рисовать много картинок, т.к. ни из большой в малую (что не так уж и очевидно), ни из малой в большую отскейлить без шакалов не получится. С 3D проще, рендер модели даже в разрешении 32x32 даёт приемлемое изображение. Пример зашакаливания ручного арта:

Сапёр с инструментами - небольшая игра, где у сапёра наконец-то появился миноискатель Phaser, Инди игра, Gamedev, Разработка, Головоломка, Сапер, Длиннопост, Видео

Разработка игр на Phaser это весело говорили они!


Ссылки:

Страница игры на Itch: https://gamruls.itch.io/minesweeper-with-tools (есть версия с окном побольше)


Буду рад ответить на вопросы, а также получить обратную связь.

UPD

Небольшое видео с геймплеем, без звука

Показать полностью 3 1
[моё] Phaser Инди игра Gamedev Разработка Головоломка Сапер Длиннопост Видео
84
552
RottenRat
RottenRat
3 года назад
Лига Разработчиков Видеоигр

4 года пилю свою игру, вот результат⁠⁠

Привет всем, наконец то сделал свою первую игру и зарелизил ее в вк.

Попробовать играть можно тут: https://vk.com/app7718144

4 года пилю свою игру, вот результат Инди, Инди игра, Gamedev, Разработка, Видеоигра, YouTube, Phaser, Длиннопост, Видео

Делал я ее долгих 4 с хвостом года, после работы, правда делал я не ее, но это совсем другая история. Когда-то я тут писал пару статей про нее, но потом перекочевал на более профильный ресурс.

Игра представляет собой классическую сетевую сессионку в Sci-Fi сеттинге, где 2 команды игроков должны убить друг друга или захватить точки катясь на танках с видом сверху.


Трейлер:

Пара скринов:

4 года пилю свою игру, вот результат Инди, Инди игра, Gamedev, Разработка, Видеоигра, YouTube, Phaser, Длиннопост, Видео
4 года пилю свою игру, вот результат Инди, Инди игра, Gamedev, Разработка, Видеоигра, YouTube, Phaser, Длиннопост, Видео
4 года пилю свою игру, вот результат Инди, Инди игра, Gamedev, Разработка, Видеоигра, YouTube, Phaser, Длиннопост, Видео
4 года пилю свою игру, вот результат Инди, Инди игра, Gamedev, Разработка, Видеоигра, YouTube, Phaser, Длиннопост, Видео


Немного ворчания

На самом деле эта игра является куском ММОРПГ по геймплею напоминающую смесь eve online и механоидов с видом сверху, которая когда-нибудь наверно выйдет, но мне чет так надоело ковырять все без какого либо результата, что решил вырезать боевую систему и зарелизить как отдельную игру.

У этой игры был тайный план залететь в раздел игр вк и набрать какую то стартовую аудиторию, в итоге в маркет я попал, но мою игру не добавили в раздел “новые” и на текущий момент за 3+ дня там 50 установок и 1 активный игрок который целыми днями рубится с ботами и пишет мне о найденных багах за что я ему благодарен. :) По моим прикидкам вк мне принес 3-5 новых установок из маркета остальное это друзья, друзья друзей и чатики.

4 года пилю свою игру, вот результат Инди, Инди игра, Gamedev, Разработка, Видеоигра, YouTube, Phaser, Длиннопост, Видео

Но главное, что даже на такой маленькой аудитории я смог протестировать работу игры, и ожидаемо вылезли проблемы, большая часть из них вроде уже ушла. А некоторые еще остались (но про них еще никто не сообщал, но они есть).

Сейчас я прикупил рекламы у вк может кто еще придет, но за 60к+ показов 0 кликов, я так себе маркетолог ¯\_(ツ)_/¯. Думаю закинуть игру еще в другие социалки ну и продолжу делать дальше свою ММО. Если появится аудитория, то можно будет развивать параллельно и этот проект, рейтинговые бои, пве/кооп режимы и все такое.

Сама игра реализована частично на своем движке:

- бекенд полностью написал с нуля на golang, там происходят все что происходит в игре (коллизии, ии, баллистика и тд)

- в роли клиента выступает игровой движок для HTML5 phaser3.5+ и VUE для интерфейсов. Клиент выступает в роли “терминала” куда выводится изображения никакой логики предсказания или компенсации лагов не предусмотрело, но игра не быстрая и вроде с этим проблем нет


Буду рад за отзывы

Показать полностью 5 1
[моё] Инди Инди игра Gamedev Разработка Видеоигра YouTube Phaser Длиннопост Видео
71
9
etroynov
etroynov
3 года назад
Лига Разработчиков Видеоигр

Разработка игры на phaserjs - 13: Озвучка⁠⁠

Разработка игры на phaserjs - 13: Озвучка Gamedev, Typescript, Javascript, HTML, Холст, Phaser, Длиннопост

Добрый день, уважаемые читатели.

В прошлом уроке мы добавили в игру счётчик очков, очки начисляются за каждую собранную звезду, таким образом наша игра приобрела некий смысл. В данном уроке мы добавим фоновую музыку и озвучку процесса сбора звезд.

Идея такая: При старте уровня запускается фоновая музыка и играет на протяжении всего уровня. При соборе звезд так же будет проигрываться музыкальный файл. Таким образом наша игра станет более интерактивной и живой.

Таким образом нашей задачей будет набрать как можно больше очков и не умереть.

ПОДГОТОВКА К РАБОТЕ

для работы над проектом вам понадобится настроенный phaserjs и установленный nodejs. Все необходимые файлы доступны по ссылке.

ЗАГРУЗКА ИГРОВЫХ ФАЙЛОВ

Для начала нам нужно загрузить звуковые файлы в игру, для этого добавим следующий код:

Разработка игры на phaserjs - 13: Озвучка Gamedev, Typescript, Javascript, HTML, Холст, Phaser, Длиннопост

затем нам нужно загрузить файлы в phaser.js что бы он мог с ними взаимодействовать, для этого в в функцию preload нужно добавить следующий код:

Разработка игры на phaserjs - 13: Озвучка Gamedev, Typescript, Javascript, HTML, Холст, Phaser, Длиннопост

Как видно на изображении выше мы добавили два аудиофайла:

collect - проигрывается при сборе звездочек;

level - проигрывается в время уровня так называемая музыкальная "тема" уровня;

ПРОИГРЫВАНИЕ ЗВУКОВЫХ ФАЙЛОВ

После того как мы загрузили файлы в phaser.js, мы можем с ними взаимодействовать, для начала сделаем так что бы при старте уровня началась проигрываться музыка ( музыкальная тема/сопровождение ), для этого в функцию create нужно добавить следующий код:

Разработка игры на phaserjs - 13: Озвучка Gamedev, Typescript, Javascript, HTML, Холст, Phaser, Длиннопост

на 2, 3 строке мы сохраняем ссылки на музыкальные объекты для упрощения работы с ними, на строках 5-7 мы добавляем проверку запускать проигрывание "темы" только если она остановлена, что бы избежать двойного запуска.

Также добавим озвучивание процесса сбора звездочек, для этого нам нужно добавить следующий код:

Разработка игры на phaserjs - 13: Озвучка Gamedev, Typescript, Javascript, HTML, Холст, Phaser, Длиннопост

На сегодня это все в следующем уроке мы рассмотрим процесс разбиения игры на отдельные модули для структуризации кода и упрощения разработки.

Показать полностью 5
[моё] Gamedev Typescript Javascript HTML Холст Phaser Длиннопост
4
5
etroynov
etroynov
3 года назад

Разработка игры на phaserjs - 12: Бомбы⁠⁠

Разработка игры на phaserjs - 12: Бомбы Gamedev, Typescript, Javascript, HTML, Холст, Phaser, Длиннопост

Добрый день, уважаемые читатели.

Спустя долгое время и кучи перемен в жизни ( сменил несколько работ, переехал жить в другую страну ), я наконец то возвращаюсь к данной серии уроков с твердым намерением закончить его.

И так поехали!

В прошлом уроке мы добавили в игру счётчик очков, очки начисляются за каждую собранную звезду, таким образом наша игра приобрела некий смысл. В данном уроке мы добавим небольшую интригу, усложнив сбор звезд падающими с "неба" бомбами.

Идея: когда вы соберете все звезды в первый раз, будет скинута прыгающая бомба. Бомба будет просто случайным образом подпрыгивать по уровню, и если вы столкнетесь с ней, вы умрете. Все звезды возродятся, чтобы вы могли собрать их снова, после того как вы соберете и их, будет сброшена еще одна бомба.

Таким образом нашей задачей будет набрать как можно больше очков и не умереть.

Подготовка к работе

для работы над проектом вам понадобится настроенный phaserjs и установленный nodejs. Все необходимые файлы доступны по ссылке.

Добавляем бомбы

Первое что нам нужно, это группа объектов для бомб и несколько коллайдеров:

Разработка игры на phaserjs - 12: Бомбы Gamedev, Typescript, Javascript, HTML, Холст, Phaser, Длиннопост

Бомбы, конечно, будут отскакивать от платформ, и если игрок ударит их, мы вызовем функцию hitBomb. Все, что для этого нужно, - это остановить игру и покрасить игрока в красный:

Разработка игры на phaserjs - 12: Бомбы Gamedev, Typescript, Javascript, HTML, Холст, Phaser, Длиннопост

Пока все хорошо, но нам нужно реализовать механизм сброса бомб. Для этого модифицируем функцию collectStar:

Разработка игры на phaserjs - 12: Бомбы Gamedev, Typescript, Javascript, HTML, Холст, Phaser, Длиннопост

Мы используем метод countActive, чтобы узнать, сколько звезд осталось в живых. Если живых звезд нет, значит, игрок собрал их все, и нам нужно, снова включить все звезды и сбросить их положение по оси Y на ноль. Это заставит все звезды снова упасть с верхней части экрана.

Следующая часть кода создает бомбу. Сначала мы выбираем для него случайную координату x, всегда на противоположной стороне экрана от игрока, просто чтобы дать ему шанс. Затем создается бомба, которая сталкивается с миром, отскакивает и имеет случайную скорость.

Конечный результат - симпатичный маленький спрайт бомбы, который отскакивает от экрана. Достаточно малы, чтобы их было легко избежать вначале, но как только числа накапливаются, становится намного сложнее!

Разработка игры на phaserjs - 12: Бомбы Gamedev, Typescript, Javascript, HTML, Холст, Phaser, Длиннопост
Показать полностью 5
[моё] Gamedev Typescript Javascript HTML Холст Phaser Длиннопост
0
23
Rediska2222
Rediska2222
3 года назад
Лига Разработчиков Видеоигр

Игра под Android на JavaScript или путь недоразвитого геймдева⁠⁠

Как-то раз, проснувшись тихим весенним утром, в мою буйную головушку ворвалась гениальная мысль, посещавшая тысячи людей до меня - а почему бы мне не написать игру?

На тот момент я уже несколько месяцев работал программистом после годового самообучения, но программировать умел, конечно, гомнокод и только на PHP и JS. Посмотрев видео с ютуба, где автор на JS написал простенькую игрулю и запустил ее на телефоне с помощью AndroidStudio, я решил, что это знак свыше и главное – начать, а дальше звезды укажут мне путь. Сказано – сделано.


Суть игры.

Из нескольких вариантов, самым удачным показалась такая идея: игра представляет собой раннер, где игрок выбирает Бога, за которого будет играть. Бог над движущейся справа налево землей, на которой появляются враги, которых, собственно, нужно нещадно карать. А враги, само собой, будут стрелять в игрока. Снаряды игрок может сбивать, если попадет. С повышением уровня игрок может выбрать одну из трех появившихся способностей. Выбираются три основных способности школы из шести, которые не противоречат друг другу (огонь нельзя выбрать вместе с водой и т.д). В зависимости от выбранных школ, при дальнейшем повышении уровня будут доступны разные дополнительные способности (если школа огня, то появятся огненные стрелы, взрыв и т.п.). В конце уровня ждет босс, за убийство которого игрок получает случайную награду и продолжает лететь уже на следующий уровень. Можно открыть разные бонусы, новых богов или шкурки для них.


Начало.

Преисполнившись мотивацией и благодатью, я приступил к действиям. Просмотрев доступные фреймворки, я остановился на Phaser 3. Отзывы были хорошими, документация, вроде, тоже, почему бы и нет?

Игра под Android на JavaScript или путь недоразвитого геймдева Gamedev, Разработка, Javascript, Длиннопост, Мобильные игры, Видео, Phaser

Первые наработки выглядели зловеще, но, когда мой персонаж научился стрелять молнией, да еще и убивать при этом врагов, я пришел в восторг и во влажных фантазиях уже лежал в ванной, наполненной долларами, и ел омаров. Вы удивитесь, но прошло почти два года, а в моей ванной за это время были только 10 рублей, которые выпали из кармана штанов.


Первое время все шло более-менее хорошо. Я писал игру в свободное время, она становилась объемнее, придумывались и отвергались новые гениальные идеи, и все чаще я сталкивался с тем, что некоторые функции, которые должны работать в фазере, просто не работают потому, что потому. Некоторых возможностей тупо нет и приходилось писать функционал вручную.

Первые сомнения.


Начало доходить, что сама идея писать игру под андройд на языке, который предназначен для браузера, - была не столь хорошей…. Но я сильный, начало было положено и нет пути обратного. Посему я решил, что, если ничего и не выйдет, то я, как минимум, получу опыт, что тоже недурно.

Накопив какую-то сумму денежек, чтобы не помереть с голоду, я уволился и занялся игрой серьезно. Ну, серьезнее, чем до увольнения, во всяком случае. Не сразу, конечно, но вы поняли. Настал этап рисования.

Игра под Android на JavaScript или путь недоразвитого геймдева Gamedev, Разработка, Javascript, Длиннопост, Мобильные игры, Видео, Phaser

Я уже имел навыки в Photoshop и Adobe Illustrator, но именно рисовать – не рисовал. Так что тут тоже пришлось учиться на ходу и процесс мне нравился. Я находил идеи персонажей в интернете, обрисовывал и изменял, соединял и творил. Короче, что-то, как мне кажется. Получилось довольно неплохо, как для новичка.

Игра под Android на JavaScript или путь недоразвитого геймдева Gamedev, Разработка, Javascript, Длиннопост, Мобильные игры, Видео, Phaser
Игра под Android на JavaScript или путь недоразвитого геймдева Gamedev, Разработка, Javascript, Длиннопост, Мобильные игры, Видео, Phaser

Процесс рисования занял все лето, которое как-то быстро пролетело. Под конец, я начал тестировать игру на разных телефонах (до этого тестировал в эмуляторе и на парочке андройдов) и пришла беда =( На некоторых телефонах игра лагала, на некоторых не запускалась. То она неадекватно вела при сворачивании приложения, то открывалась не на весь экран. Добавить ко всему этому хреновую архитектуру игры, которая убивала мое сознание при попытке отловить какой-то баг. Короче, с приходом осени я начал учить C# и Unity.


Конец.

Сейчас, после более 40 часов разных уроков и нескольких тестовых проектиков, я планирую перенести сие творение на Unity. Надеюсь, мне хватит сил и дошиков на это. Буду благодарен за ваше мнение и спасибо за внимание =)

Показать полностью 4
[моё] Gamedev Разработка Javascript Длиннопост Мобильные игры Видео Phaser
17
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии