Второй этап разработки игры — Прототипирование. Часть 1

Быстро, чтобы работало?
ИЛИ
Основательно и долго?

✏ Прототип — собранный геймплейный сегмент игры с минимальным полишингом.

🧹 Полишинг — очень трудо-затратный процесс. Он включает в себя: создание контента (уровни, предметы, персонажи), оптимизации, UI/UX решения, саунд дизайн и многое другое. Для прототипа, надо свести это всё к минимуму.

🛹 MVP (Minimal Valuable Product) — важно не перепутать разработку прототипа и MVP. Последний должен содержать отполишенный сегмент игры.

Если прототип по определению не подразумевает полишинг, то что тогда там можно делать основательно и долго?

Я в своей работе придерживаюсь такого подхода — делать не просто логику, а модули. При чём так, чтобы их можно было таскать из проекта в проект. Вы можете заметить это по моим постам с Unity инструментами.
Если мне надо сделать отображение текста на экране, я не пишу хардкод логику и форматирование, я выношу на сцену настройки.
Если мне нужна DoTween анимация, я не пишу из кода ее запуск и параметризацию, а создаю ассет где можно выбрать кривую, длительности, задержки и так далее.

Создайте папку *Никнейм*Utils и структурируйте туда свои наработки. Время от времени прорежайте ряды файлов. Если вас напрягает CTRL+C/V в каждый проект, то создайте git submodule и тогда ваши тулзы будут развиваться вместе с вашим профессиональным опытом.

Плюсы:
+ Возможность переиспользовать решение
+ Гибкое управление через сцену и ассеты
+ Унификация структуры ваших проектов

Минусы:
- Много инфраструктурного кода
- Часть модулей будет забрасываться или лежать мёртвым грузом
- Раздувание кодовой базы

🥒 "Snake" Hotel — разрабатывается по принципу: основательно и долго. Основная причина такого решения — Entity Component System и желание создавать объекты не программируя их. Для этого была написана система, которая сводит любой геймплейный объект который вы увидите в игре к 2 аспектам:

GameAsset - контейнер
GameAssetComponent - что-то, что описывает поведение

Если система будет удобная, то планирую записать видео по ней с глубоким и понятным объяснением. Вот такие планы 🙂

2
Начать дискуссию