Вернуться: Снова 3D
Всем привет!
Я решил снова попробовать себя в трех измерениях. И самое сложное для меня это создание графики для игры. Чем проще, тем лучше. Поэтому минимализм очень помогает. И вот появился Куб.
О графике
Игр, где используется эта незамысловатая фигура много. Поэтому оставлять его таким «простым» не хочется. Но сначала нужно ответить на вопрос: Куб, а ты кто?
От этого может зависеть дальнейшая разработка. И он похож на пиксель. Героя игры со старых консолей, который попал в другой мир! Если оставить Куб в первоначальном виде, то он будет выглядеть как посторонний, но это не совсем то. Хочется, чтобы объект вписывался в окружающую обстановку и, при этом, был инородным. И появилась идея «стилизации». Надо создать некий рельеф/текстуру на гранях, и так, чтобы можно было легко применить эффект ко всем объектам окружения. Если всё будет в одном стиле и приближено к реальным объектам, то белый куб будет выделяться.
Появилась идея добавления на нашего персонажа «видимость полигонов», как бы обновление, расширение графики. Я нашёл простой способ, в котором нам необходимо 4 операции из Blender’а.
- Операция Subdivide.
2. Модификатор Bevel.
3. Модификатор Triangulate.
4. Модификатор Displace.
Вот так и получили главного героя. К остальным объектам (готовым моделям) применяем необходимые из этих 4 операций.
Blender для меня был инструментом для подготовки объекта (сетки), все материалы я настраивал в движке непосредственно. Вот такой мой путь абсолютного новичка к некому стилю. Наверное, это можно назвать низкополигональные модели, но я наоборот добавляю их, так что не знаю.
Есть, конечно, ещё способы формирования «рельефа» на объекте за счёт материалов (dump), карты нормалей, но я выбрал этот как более быстрый и простой для меня на данный момент.
Об игровой механике
Сам куб мне и подсказал игровую механику. Мне вспомнился Кубик Рубика, с его вращениями. Так почему бы не применить это для уровней, в ограниченном виде. Менять окружения для меня всегда интересно, да ещё если и двигаться по всей площади объекта.
Получив идею игры, я размышлял как должен двигаться персонаж. Можно было бы сделать просто скольжение и прыжки, как в 3D-платформере (например, в игре Captain Toad: Treasure Tracker). Но это «нереалистично для куба». Так же появились бы проблемы с расположением персонажа при вращении, чтобы его «не закусило».
Выбор пал на движение по клеткам и, конечно, поворотами. Сделать это не сложно, если кому-то лень придумывать самому, то можно воспользоваться уроками. При изучении движка Godot Engine, я находил эти уроки. И сейчас просто вспомнил про них:
- Движение камеры «по орбите» (gimbal);
- Поворот куба при движении;
- Движение куба по направлению камеры.
Конечно, это лишь вариант для старта и его недостаточно для движения по всем плоскостям.
Когда наступил момент тестировать всех механик, то я залип при этом. Создав ранее тестовое окружение, я на кнопки клавиатуры привязал операции поворота частей уровня по осям и просто начал бегать. Меня затянуло, я больше часа просто игрался с этим.
Уровни
В тоже время, я начал понимать, что большие уровни делать не только сложно разработчику, но и сложно в них будет играть. Потому что при вращении нужно учитывать и представлять расположение многих объектов. А плюс к этому постоянные провалы «в ямы», откуда нельзя будет выбраться, приведёт игрока в ужас «проб и перезапусков».
Возможно, в далёкой перспективе, при развитии это бы не составило проблем, но не в начале. В итоге, сформировались требования:
- уровни делать маленькими;
- вращений нужно делать в меру;
- проектировать уровни «без ям».
Я старался придерживаться этих правил. Хотя в начальных уровнях я специально нарушил и получилось место, куда можно упасть и не выбраться. Но для этого есть кнопка в меню, чтобы обучить игрока.
Уровней получилось немного, но их тестирование занимает время: при каждом повороте я бегал по уровню искал «ямы». Надеюсь, я поправил их все. Перезапускать уровни в таких играх мне не нравится, лучше если игрок может исправить или вернуть без этого.
В заключении
Буду ли снова делать игры в 3D? Данный вопрос остаётся у меня без ответа (хотя я устал от цифры три). Ведь главное — это интересная идея, а не сколько там плоскостей.
Спасибо, что дочитали! Удачи! =)
- 14 апреля 2024, 21:20
- 07
Класс! Хорошо что есть те, кто тоже пишет о своих разработках. И прикольно что заскринил видео ранних прототипов — у себя я забываю это каждый раз, лишь скриншоты и редкие гифки. Список ссылок даже в этом проекте вёл, чтобы тоже потом поделиться всяким, что использовал при разработке.
Ловко ты так из одного куба игру сделал, получается!
Не собирался делать, но когда понял, что уже полчаса сижу и "играю", то решил, что надо.
Да, получается так... Главное начать, а там дорога выведет куда-нибудь.
Сокобан с вращением это круто, не самая популярная механика. Пару раз попадал в безвыходные ситуации, и к сожалению недопрошел. Вертел по всякому, но не сообразил до конца на карте с длинным выступом.
За этот материал тоже спасибо, было интересно глянуть поэтапно. И что ссылки оставлены на уроки хорошо.
Спасибо за отзыв!
Не популярная, но мне уже писали и про аналогичные игры со смартфонов и с Switch. Так что механика "несвежая".