Godot, Dog Mendonça & Pizza Boy

в 5:12, , рубрики: Gamedev, Godot, Linux для всех, open source, игры

Godot, Dog Mendonça & Pizza Boy

Разработчики замечательно опенсурсного движка Godot для создания 2D и 3D игр под самые разные платформы студия OKAM, совершенно незаметно для меня вышли со своим проектом на кикстартере. Самым приятным в этой новости для меня является то, что одним из первых стретч-голов является обогащение движка Godot шаблонами и материалами для создания адвенчур. Плохо только то, что сборы, несмотря на маленькую запрашиваемую суммы, идут вяло. Осталось 11 дней, а собрана только треть.

Страница на Кикстартере: www.kickstarter.com/projects/942343365/the-interactive-adventures-of-dog-mendonca-and-piz
Демо игры (User: «lorenzo» Password: «lamas»; Без кавычек; Версия под Линукс спрятана в верии под Винду): www.dog.okamstudio.com/
Сайт движка Godot: www.godotengine.org/wp/
Вики по движку на ГитХабе: github.com/okamstudio/godot/wiki

Godot, Dog Mendonça & Pizza Boy

Немного о личном знакомстве с движком Godot.

Познакомившись с ним недавно, я быстро убедился, что работать с ним очень приятно и крайне удобно. По сути — это не только движок, но и богатый на возможности инструмент для разработки игры. И хотя местами пользовательский интерфейс немного запутанный, в большинстве своем интуитивно понятный. Способствует этому удобная концепция организации игры на сцены, состоящие из иерархической структуры нодов (узлов), каждый из которых представляет собой разные сущности, такие как Спрайт, Объект с просчетом коллизий, Анимация (не только смена кадров, но и любое изменение любых параметров объектов), Форма, Вектор и прочее. Причем сцена — это не только игровой уровень, но и удобное средство для декомпозиции. В нее можно выделить любой повторяющийся набор элементов и использовать ее в других сценах произвольное количество раз.

Внутри Godot использует свой скриптовый язык, gdsript, по синтаксису во многом напоминающий Python. Вот пример кода описывающего движение нода по нажатию клавиши:

extends KinematicBody2D

const MOTION_SPEED = 160  # pixels/second

func _fixed_process(delta):
	var motion = Vector2()
	
	if Input.is_action_pressed("move_up"):
		motion += Vector2( 0, -1)
	
	motion = motion.normalized() * MOTION_SPEED * delta
	move(motion)

func _ready():
	set_fixed_process(true)

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

Теперь по поводу багов. Да они есть. Например у меня функция randi возвращала одно и тоже число, в то время как randf работала исправно. И еще пару раз в процессе работы у меня возникало ощущение в некорректной работе движка. Однако движок стремительно дорабатывается, ну и, на крайний случай, он опенсурсный.

Также обладает неплохой, пока еще скудной, но постоянно расширяющейся документацией.

Вот вкратце и все, а теперь давайте немного познакомимся с игрой, которая разрабатывается на этом движке.

Сюжет

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

Godot, Dog Mendonça & Pizza Boy
Вот, собственно, чем и занимаются Дог Мендоза и разносчик пиццы в одноименных комиксах

Сеттинг

На протяжении веков Лиссабон был сценой столкновения великих сил, мощной столицей и стратегической точкой, отделяющей Старый Свет от огромного океана, открывающего путь в Новый Свет. Сегодня мало что изменилось. Обыкновенный на первый взгляд город скрывает под собой, подобно айсбергу, огромную паутину тайн. Для сверхъестественных существ этой планеты Лиссабон является новой Касабланкой — территорией никому не принадлежащей, где развернулась политика скрытого мир, а простые обыватели тщетно пытаются устроить свою жизнь посреди участников конфликта. Это место — убежище для орд вампиров, гоблинов и других подобных существ, но, как и подобает подобному месту, оно постоянно попадает под влияние интересов различных политических веяний, тайных обществ и организованной преступности. В Лиссабоне, у каждой тени есть глаза, и каждые глаза — свидетели новых тайн.

Персонажи

Жоао Висенте «Дог» Мендоза
Godot, Dog Mendonça & Pizza Boy

Многое можно сказать о Доге. На первый взгляд он выглядит, да и ведет себя, как ленивый, нечистый на руку, немного сумасшедший шарлатан. Но стоит побыть в его компании подольше и вы узнаете в нем свирепого воина, закаленного в бесчисленных боях, с суровым нравом и в чем-то благородной душой. Многое в нем для нас все ещё окутано тайной, но то, что всплывает на поверхность, заставляет проникнуться уважением. Ко всему прочему он оборотень полностью контролирующий свое проклятье, которое он использует, как связь между миром людей и миром монстров. Его боевой опыт и знание тайного мира Лиссабона делает его именно тем человеком к кому стоит податься, если у вас возникли проблемы с неведомыми силами.

Эурико aka Разносчик Пиццы
Godot, Dog Mendonça & Pizza Boy

Эурико — обычный, ничем не выдающийся, молодой человек. Он не особо умен, и, если уж говорить на чистоту, то и внешность он имеет не то, чтобы очень приятную или очень отталкивающую. Непримечательный во всех смыслах, его посвящение в тайны мира оккультизма произошло по чистой случайности, так что он явно не принадлежит этому миру. Фактически он — это вы. Это связь между игроком и новым для него миром.

Пазуул
Godot, Dog Mendonça & Pizza Boy

Пазуул — это шести тысячелетний древний демон заточенный в теле маленькой девочки. Не самый удачный выбор. Он давний партнер Дога и в хорошем настроении берет на себя роль его персонального ассистента. Будучи вспыльчивым и немногословным, его действия говорят сами за себя.

Горгулья
Godot, Dog Mendonça & Pizza Boy

Горгулья он… он просто есть. Точнее есть его голова, потому что Дог решил, что будет забавно отделить ее от тела. Не волнуйтесь, тело в конечном счете отрастет. Он, что называется, местный хохмач, хотя Дог особо не обращает не него внимание. Он гораздо более способный и ловкий, чем стремиться показать. Иногда.

Заключение

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

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

Желаю авторам удачи!

PS: Огромное спасибо P0figist за стилистические правки и еще одному человеку, пожелавшему остаться неизвестным, за правки в переводе.

PPS: По движку Godot на Хабре уже было две интересные статьи от товарища Zenogears: Часть первая; Часть вторая;

PPPS: Заглавную картинку, ту, что справа, я смастерил сам, с помощью скриншота из игры и самого движка Godot. Она не отражает реальный процесс разработки описываемой игры, а сделана для того, чтобы показать как внешне выглядит инструментарий движка.

Автор: vakimov

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js