3 подписчика

Вернуться - конкурсная игра

Всем привет!
Завершил я работу над конкурсным проектом (на
Гаминатор 27 на сайте Gamin.me) и хотел бы показать его и немного рассказать о разработке.

Поиграть можно найти тут: https://e1e5en.itch.io/go-back.

Это не первый мой проект с использованием трёх измерений, хотя 2D больше. Но раньше я его использовал в качестве отображения, а не "применения". Например, в игре СлИБ, я создавал модели в Asset Forge, потом экспортировал в формате изображения и получал пререндеренные модели.

Режим "Защита"
Режим "Защита"
Режим "Атака"
Режим "Атака"

А в игре "Погоня за Землёй" уже было полноценное 3D, в котором пространство было лишь "картинкой".

Гонка-головоломка
Гонка-головоломка

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

Всем привет!
Завершил я работу над конкурсным проектом (на Гаминатор 27 на сайте Gamin.me) и хотел бы показать его и немного рассказать о разработке. Поиграть можно найти тут: https://e1e5en.itch.-4

О графике

Игр, где используется эта незамысловатая фигура много. Поэтому оставлять его таким "простым" не хочется. Но сначала нужно ответить на вопрос: Куб, а ты кто?

От этого может зависеть дальнейшая разработка. И он похож на пиксель. Героя игры со старых консолей, который попал в другой мир! Если оставить Куб в первоначальном виде, то он будет выглядеть как посторонний, но это не совсем то. Хочется, чтобы объект вписывался в окружающую обстановку и, при этом, был инородным. И появилась идея "стилизации". Надо создать некий рельеф/текстуру на гранях, и так, чтобы можно было легко применить эффект ко всем объектам окружения. Если всё будет в одном стиле и приближено к реальным объектам, то белый куб будет выделяться.

Появилась идея добавления на нашего персонажа "видимость полигонов", как бы обновление, расширение графики. Я нашёл простой способ, в котором нам необходимо 4 операции из Blender'а.

1. Операция Subdivide.

Всем привет!
Завершил я работу над конкурсным проектом (на Гаминатор 27 на сайте Gamin.me) и хотел бы показать его и немного рассказать о разработке. Поиграть можно найти тут: https://e1e5en.itch.-5

2. Модификатор Bevel.

Всем привет!
Завершил я работу над конкурсным проектом (на Гаминатор 27 на сайте Gamin.me) и хотел бы показать его и немного рассказать о разработке. Поиграть можно найти тут: https://e1e5en.itch.-6

3. Модификатор Triangulate.

Всем привет!
Завершил я работу над конкурсным проектом (на Гаминатор 27 на сайте Gamin.me) и хотел бы показать его и немного рассказать о разработке. Поиграть можно найти тут: https://e1e5en.itch.-7

4. Модификатор Displace.

Всем привет!
Завершил я работу над конкурсным проектом (на Гаминатор 27 на сайте Gamin.me) и хотел бы показать его и немного рассказать о разработке. Поиграть можно найти тут: https://e1e5en.itch.-8
Рендер
Рендер

Вот так и получили главного героя. К остальным объектам (готовым моделям) применяем необходимые из этих 4 операций.

Куда же без дивана?
Куда же без дивана?

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

Есть, конечно, ещё способы формирования "рельефа" на объекте за счёт материалов (dump), карты нормалей, но я выбрал этот как более быстрый и простой для меня на данный момент.

Об игровой механике

Сам куб мне и подсказал игровую механику. Мне вспомнился Кубик Рубика, с его вращениями. Так почему бы не применить это для уровней, в ограниченном виде. Менять окружения для меня всегда интересно, да ещё если и двигаться по всей площади объекта.
Получив идею игры, я размышлял как должен двигаться персонаж. Можно было бы сделать просто скольжение и прыжки, как в 3D-платформере (например, в игре
Captain Toad: Treasure Tracker). Но это "нереалистично для куба". Так же появились бы проблемы с расположением персонажа при вращении, чтобы его "не закусило".

Выбор пал на движение по клеткам и, конечно, поворотами. Сделать это не сложно, если кому-то лень придумывать самому, то можно воспользоваться уроками. При изучении движка Godot Engine, я находил эти уроки. И сейчас просто вспомнил про них:

Конечно, это лишь вариант для старта и его недостаточно для движения по всем плоскостям.

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

Уровни

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

  • уровни делать маленькими;
  • вращений нужно делать в меру;
  • проектировать уровни "без ям".

Я старался придерживаться этих правил. Хотя в начальных уровнях я специально нарушил и получилось место, куда можно упасть и не выбраться. Но для этого есть кнопка в меню, чтобы обучить игрока.

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

В заключении

Приглашаю поиграть в мою небольшую игру.
Ссылка:
https://e1e5en.itch.io/go-back
Всем спасибо! Удачи! =)