13

Forgotten Lands: Chronicles

Доброго времени суток! Хочу рассказать о своей игре, которую делаю в качестве хобби по вечерам уже почти 2 года – Forgotten Lands: Chronicles. Эта компьютерная ролевая игра с элементами пошаговой стратегии расскажет историю мира Славории, подозрительно похожего на Древнюю Русь.

Предыстория

История игры начинается в 2019 году после очередного прохождения King’s Bounty. Легенда о рыцаре. Пройдя игру, мне захотелось сделать что-то похожее. Делать самый первый прототип я начал в Unity. Одной из первых механик было сделано боевое поле с возможностью движения по нему существ. Для построения маршрута к клетке конечной клетке использовался волновой алгоритм поиска пути. Пришлось немного пошаманить, чтобы вместо обычных клеток-четырехугольников алгоритм корректно работал с гексагонами. Получилось сделать, чтобы можно было атаковать вражеское существо со всех окружающих его гексагонов. Для существ я сделал несколько моделей по всем известному мультфильму.

Forgotten Lands: Chronicles Инди, Gamedev, RPG, Инди игра, Godot, Godot Engine, Unity, Гифка, Видео, RUTUBE, Длиннопост

Прототип сцены боя на Unity

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

Forgotten Lands: Chronicles Инди, Gamedev, RPG, Инди игра, Godot, Godot Engine, Unity, Гифка, Видео, RUTUBE, Длиннопост

Редактор диалогов

Соединив эти два элемента на одной сцене, у меня вышла дешевая подделка King’s Bounty. Безтекстурная лошадь могла бегать по поверхности и открывать диалог с одним НИП.

Forgotten Lands: Chronicles Инди, Gamedev, RPG, Инди игра, Godot, Godot Engine, Unity, Гифка, Видео, RUTUBE, Длиннопост

Собранный прототип прототипа на Unity

На этом я пока успокоился и задвинул проект в далекий ящик.

Переход на Godot

А потом спустя какое-то время случился скандал с ценовой политикой Unity. Начитавшись на сабреддите r/Unity как все переходят на другие движки, я скачал Godot. И конечно же первый делом решил перенести этот проект. Как оказалось, это было не трудно, и за пару дней у меня было все готово. С этого момента и начинается путь Forgotten Lands. Мне понравился Godot, понравился язык GDScript. И я решил доделывать наработки до полноценной игры.

В первую очередь были сделаны основные механики:

  • движение игрока по карте

  • когда враги догоняют игрока начинается бой

  • игрок можно «заходить» в здания и общаться с НИП

  • игрок может покупать существ

  • при выборе определенных ответов случаются какие-то события

Разработка

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

  • Пограничье – зона, которая находится на границе с Забытыми Землями

  • Царьград и окрестности - столица Славории

  • Болота, в которых живет Баба Яга

  • Дремучий лес

  • Забытые Земли

Пограничье, Царьград, Болота, Дремучий Лес, Забытые Земли

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

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

Пришло время делать существ, с которыми придется столкнуться игроку. Для моделей некоторых существ я использовал сервис meshy.ai, но текстуры рисовал сам вручную. Все модели зданий и объектов в игровом мире я тоже сделал сам.

А вот иконки существ и предметов всецело сгенерированы нейросетью «Шедеврум» и «Кандинский».

Всего в игре получилось 30 существ:

  • 3 мини босса

  • 23 обычных существа

  • 4 специальных существа (этих существ нельзя купить, они появляются только по сюжету в качестве врагов)

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

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

Игрок повышает свой уровень, получает очки, которые можно распределить в одну из характеристик (атака, защита, здоровье, количество шагов). Опыт для уровней дается за бои и за прохождение заданий. За определенное количество очков одной характеристики героя существа получают бонус к аналогичной характеристики. Например, за каждые 4 очка здоровья у персонажа все существа получают +1 к своему здоровью. Так же с повышением опыта увеличивается "могущество" игрока. Чем больше "могущества", тем больше существ можно нанять.

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

Геймплей.

Ниже представлен геймплей прохождения одного из заданий на локации Дремучий лес – необходимо освободить мастерскую от волколаков.

Спасибо Всем за внимание!

Страница игры itch.io: https://whitecoyote.itch.io/forgotten-lands-chronicles

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

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

- Cсылка размещается в формате: "Страница игры в Steam: URL"