[Разработка игр, Прототипирование, Godot] Биом, демоверсия игры на Godot
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Собрал небольшую демку для win и linux. Этот экспериментальный прототип фокусируется на игре с видом сверху, и реализации системы бесконечного уровня в движке Godot. Биомашинки в комплекте.
Проект Биом задуман как аркадное путешествие по открытому миру/мирам, на биологическом или технологическом средстве передвижения. Конкретно в этой игре камера закреплена сверху и различные игромеханики рассчитаны на такой ракурс (хотя для записи видео и тестов я иногда использую нестандартный вид). Помимо чисто технических плюсов и минусов использования разных камер, разные ракурсы подразумевают и немного разный подход к организации геймплея.
Архитектура уровня
В прототипе реализована система бесконечного уровня (пока только вдоль одной оси). На текущий момент доступен один уровень, по которому можно бесконечно ехать в двух направлениях, а прочие блокируются двумя стенами.
Пара слов о том, как это устроено (в принципе довольно базовые вещи, никаких особых откровений). Текущий игровой мир состоит из двух зон (условно зелёная и синяя), каждая внутри себя разбита на 4 участка. Когда машинка задевает триггер определённого участка, то уровень проверяет — требуется ли переложить одну из зон так, чтобы все выходы из данного участка вели к прочим участкам, а не в пустоту.
Игрок касается участка, прохождение которого выведет его за внешнюю границу уровня, и вторая зона перекладывается в направлении движения игрока, чтобы его снова окружали другие доступные участки.
Данная реализация несколько избыточна для текущего частично бесконечного уровня ограниченного двумя стенами, можно было сделать в каждой зоне всего по 2 участка, однако это задел на возможные полностью бесконечные уровни, продолжающиеся во все стороны (как будто путешествуешь по некоей планете).
После тестов дополнительно пришлось исправить такой нюанс, что триггеры участков плотно примыкают друг к другу и могла произойти ситуация, когда машинка только касается нового триггера, не выходя из старого (то есть зона перекладывается новым триггером, а старый не был активирован). Этот момент был исправлен тем, что триггеры стали учитывать и вход и выход машинки, перекладываясь только при выходе из зоны триггера и только тогда, когда выход случился не из той же самой зоны, которой только что коснулись (устраняя тем самым проблему касаний). В целом, использование триггеров зон в Godot — это, разумеется, далеко не единственный способ реализации подобной перекладки уровня, но один из относительно простых.
Полностью бесконечный уровень в подобной реализации будет подразумевать уже 4 зоны, где за раз перекладывается пара определённых зон.
Игрок касается участка синей зоны, который в данный момент является внешним. После чего красная и зелёная зона перекладываются в новое положение.
У такого решения тоже могут быть какие-то нюансы, вроде того что триггер по диагонали, в реальных условиях, внезапно сработает раньше двух прочих, но это можно решить в рамках того же механизма, допустим, разбив триггеры зон на большее количество частей или добавив зонам центральный триггер.
В целях оптимизации уровня обе его зоны состоят из некоторого количества плиток, которые в редакторе отображаются простыми прямоугольными плитами (помимо всего прочего экономя память редактора), а на старте игры подгружают в себя нужный кусочек поверхности.
В скрипте каждой плитки выставлен ID, по которому она подцепит нужный фрагмент.
Игра
Теперь подробнее про сам геймплей. На старте игрок вбирает одну из машинок и появляется в игровом мире. Машинки умеют прыгать, стрейфиться, и стрелять, если подберут специальное живое оружие, бегающее по карте. Если машинка уничтожена (от вражеских выстрелов или соприкосновения со взрывоопасными грибами), то на её месте остаётся душа (нематериальная бессмертная сущность), которая может вселиться в новую оболочку. Машинка перевозит условные грузы (зелёные ящички), которые можно подбирать или выкидывать.
Прыжок и стрейфы у машинок лимитированы следующим образом: за раз можно использовать не более двух таких действий, после чего данная возможность уйдёт не коротенькую перезарядку. Таким образом можно делать, например, стрейф плюс прыжок или двойной прыжок. У души и веретенолёта лимиты не настроены, поэтому при желании можно поломать перекладку уровня, взлетев выше триггеров.
На карте присутствуют два специальных убежища, где отображаются заглушки интерфейса «купли/продажи». Два первых предмета из инвентаря можно «продать», обменяв на специфическую «валюту» — «свежесть» (вторая «валюта», «прах», пока не задействована, её просто можно увеличить нажав на самый нижний предмет). При выходе из убежища день меняется на ночь (или наоборот).
Извините, данный ресурс не поддреживается. :(
Видеонарезка с моментами геймплея демо-версии. Используемый игровой движок — Godot engine 3.2.3, рендер gles3
Скачать демо для своей ОС (windows 64 — .exe, linux — .x86_64) можно на страничке itch.io (вес архива около 60Мб):
https://thenonsense.itch.io/biome
Подсказки по управлению показываются в игре при нажатии кнопки Enter, внутри открывающегося инвентаря.
WASD — передвижение
мышь — частичное прицеливание (и влияние на автокамеру)
Пробел — прыжок
Левая кнопка мыши — выстрел
Q,E — стрейф
1 — включить/выключить автокамеру
2,3 — приблизить/отдалить камеру
PgUp — случайный импульс
Также оставлены специальные опции для тестирования, которых в норме не должно быть у игрока (отмечены красным во внутриигровой подсказке):
4 — большая степень приближения камеры
Home — превратиться в душу либо в базовую машинку
End — создать врага
PgDown — создать живое оружие
Бонус
Недавно появившийся в прототипе летающий транспорт — веретенолёт.
Извините, данный ресурс не поддреживается. :(
Также есть видео из другого прототипа на Unigine engine, с более ранней версией этой биомашинки:
Извините, данный ресурс не поддреживается. :(
===========
Источник:
habr.com
===========
Похожие новости:
- [Разработка игр, Управление продуктом, Игры и игровые приставки, IT-компании] CD Projekt Red признала, что «игнорировала сигналы» о проблемах с Cyberpunk 2077 на консолях Xbox One и PlayStation 4
- [Разработка игр, Старое железо, Игры и игровые приставки] Энтузиаст добавил в ретроконсоль трассировку лучей
- [Разработка игр, Тестирование игр, Игры и игровые приставки] Библиотека от AMD стала причиной плохой производительности процессоров AMD в Cyberpunk 2077
- [Биографии гиков, Игры и игровые приставки] Умер Эрик Энгстром, легенда игровой разработки Microsoft и автор DirectX
- [Разработка игр, Настольные компьютеры, Процессоры, Игры и игровые приставки] Cyberpunk 2077 игнорирует многопоточность микропроцессора AMD
- [Разработка игр, Игры и игровые приставки] Бесплатный онлайн-круглый стол «Тенденции игрового рынка 2021. Какие игры делать в новом году»
- [Разработка игр, Игры и игровые приставки, IT-компании] Руководство CD PROJEKT RED взяло на себя ответственность за баги на старте Cyberpunk 2077. Сотрудники получат все бонусы
- [Разработка игр] Баланс в настольном геймдизайне: строим графы с помощью Google App Script и Gephi
- [Open source, Разработка игр, Финансы в IT, IT-компании] Верховный суд отказал Wargaming в иске к своим бывшим сотрудникам
- [Разработка игр, Локализация продуктов, Продвижение игр, История IT] Чешский и словацкий геймдев: прикольные игры 1990-х + современные факты и цифры
Теги для поиска: #_razrabotka_igr (Разработка игр), #_prototipirovanie (Прототипирование), #_godot, #_godot, #_godotengine, #_gamedev, #_razrabotka_igr (разработка игр), #_prototipirovanie (прототипирование), #_demo (демо), #_demo, #_vangers, #_vangery (вангеры), #_igrostroenie (игростроение), #_razrabotka_igr (
Разработка игр
), #_prototipirovanie (
Прототипирование
), #_godot
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:21
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Собрал небольшую демку для win и linux. Этот экспериментальный прототип фокусируется на игре с видом сверху, и реализации системы бесконечного уровня в движке Godot. Биомашинки в комплекте. Проект Биом задуман как аркадное путешествие по открытому миру/мирам, на биологическом или технологическом средстве передвижения. Конкретно в этой игре камера закреплена сверху и различные игромеханики рассчитаны на такой ракурс (хотя для записи видео и тестов я иногда использую нестандартный вид). Помимо чисто технических плюсов и минусов использования разных камер, разные ракурсы подразумевают и немного разный подход к организации геймплея. Архитектура уровня В прототипе реализована система бесконечного уровня (пока только вдоль одной оси). На текущий момент доступен один уровень, по которому можно бесконечно ехать в двух направлениях, а прочие блокируются двумя стенами. Пара слов о том, как это устроено (в принципе довольно базовые вещи, никаких особых откровений). Текущий игровой мир состоит из двух зон (условно зелёная и синяя), каждая внутри себя разбита на 4 участка. Когда машинка задевает триггер определённого участка, то уровень проверяет — требуется ли переложить одну из зон так, чтобы все выходы из данного участка вели к прочим участкам, а не в пустоту. Игрок касается участка, прохождение которого выведет его за внешнюю границу уровня, и вторая зона перекладывается в направлении движения игрока, чтобы его снова окружали другие доступные участки. Данная реализация несколько избыточна для текущего частично бесконечного уровня ограниченного двумя стенами, можно было сделать в каждой зоне всего по 2 участка, однако это задел на возможные полностью бесконечные уровни, продолжающиеся во все стороны (как будто путешествуешь по некоей планете). После тестов дополнительно пришлось исправить такой нюанс, что триггеры участков плотно примыкают друг к другу и могла произойти ситуация, когда машинка только касается нового триггера, не выходя из старого (то есть зона перекладывается новым триггером, а старый не был активирован). Этот момент был исправлен тем, что триггеры стали учитывать и вход и выход машинки, перекладываясь только при выходе из зоны триггера и только тогда, когда выход случился не из той же самой зоны, которой только что коснулись (устраняя тем самым проблему касаний). В целом, использование триггеров зон в Godot — это, разумеется, далеко не единственный способ реализации подобной перекладки уровня, но один из относительно простых. Полностью бесконечный уровень в подобной реализации будет подразумевать уже 4 зоны, где за раз перекладывается пара определённых зон. Игрок касается участка синей зоны, который в данный момент является внешним. После чего красная и зелёная зона перекладываются в новое положение. У такого решения тоже могут быть какие-то нюансы, вроде того что триггер по диагонали, в реальных условиях, внезапно сработает раньше двух прочих, но это можно решить в рамках того же механизма, допустим, разбив триггеры зон на большее количество частей или добавив зонам центральный триггер. В целях оптимизации уровня обе его зоны состоят из некоторого количества плиток, которые в редакторе отображаются простыми прямоугольными плитами (помимо всего прочего экономя память редактора), а на старте игры подгружают в себя нужный кусочек поверхности. В скрипте каждой плитки выставлен ID, по которому она подцепит нужный фрагмент. Игра Теперь подробнее про сам геймплей. На старте игрок вбирает одну из машинок и появляется в игровом мире. Машинки умеют прыгать, стрейфиться, и стрелять, если подберут специальное живое оружие, бегающее по карте. Если машинка уничтожена (от вражеских выстрелов или соприкосновения со взрывоопасными грибами), то на её месте остаётся душа (нематериальная бессмертная сущность), которая может вселиться в новую оболочку. Машинка перевозит условные грузы (зелёные ящички), которые можно подбирать или выкидывать. Прыжок и стрейфы у машинок лимитированы следующим образом: за раз можно использовать не более двух таких действий, после чего данная возможность уйдёт не коротенькую перезарядку. Таким образом можно делать, например, стрейф плюс прыжок или двойной прыжок. У души и веретенолёта лимиты не настроены, поэтому при желании можно поломать перекладку уровня, взлетев выше триггеров. На карте присутствуют два специальных убежища, где отображаются заглушки интерфейса «купли/продажи». Два первых предмета из инвентаря можно «продать», обменяв на специфическую «валюту» — «свежесть» (вторая «валюта», «прах», пока не задействована, её просто можно увеличить нажав на самый нижний предмет). При выходе из убежища день меняется на ночь (или наоборот). Извините, данный ресурс не поддреживается. :( Видеонарезка с моментами геймплея демо-версии. Используемый игровой движок — Godot engine 3.2.3, рендер gles3 Скачать демо для своей ОС (windows 64 — .exe, linux — .x86_64) можно на страничке itch.io (вес архива около 60Мб): https://thenonsense.itch.io/biome Подсказки по управлению показываются в игре при нажатии кнопки Enter, внутри открывающегося инвентаря. WASD — передвижение мышь — частичное прицеливание (и влияние на автокамеру) Пробел — прыжок Левая кнопка мыши — выстрел Q,E — стрейф 1 — включить/выключить автокамеру 2,3 — приблизить/отдалить камеру PgUp — случайный импульс Также оставлены специальные опции для тестирования, которых в норме не должно быть у игрока (отмечены красным во внутриигровой подсказке): 4 — большая степень приближения камеры Home — превратиться в душу либо в базовую машинку End — создать врага PgDown — создать живое оружие Бонус Недавно появившийся в прототипе летающий транспорт — веретенолёт. Извините, данный ресурс не поддреживается. :( Также есть видео из другого прототипа на Unigine engine, с более ранней версией этой биомашинки: Извините, данный ресурс не поддреживается. :( =========== Источник: habr.com =========== Похожие новости:
Разработка игр ), #_prototipirovanie ( Прототипирование ), #_godot |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:21
Часовой пояс: UTC + 5