Прототип быстро показывает, где идея начинает мешать.

В моем проекте GunAndRun, раннере со стрельбой по врагам, по геймдизайн-документу из врагов должен выпадать разный дроп: деньги, аптечки, бустеры и другие награды. Я сделал первую реализацию максимально прямолинейно: добавил врагов, подготовил префабы разного дропа и связал одно с другим. Врагу можно было просто указать набор префабов, а система случайно выбирала, что из него выпадет. На уровне тестов это выглядело логично, удобно и масштабируемо. Но когда я начал собирать уровень и пытаться его балансировать, проблема стала очевидной. Если я хотел, чтобы конкретный враг дропал определенную сумму денег или аптечку на конкретное количество HP, мне нужно было сначала идти и создавать отдельный префаб под этот случай. То, что казалось удобной системой, в реальной итерации превратилось в лишнюю работу. После этого я решил поменять подход: добавить компонент, который будет генерировать дроп с заданными параметрами. Пока деньги, аптечки и бонусы укладываются в общую схему: тип дропа плюс числовое значение. Например, количество денег, объем лечения или сила бонуса. Вероятно, в будущем систему придется развивать под более сложные типы дропа. Но уже сейчас стало понятно главное: прототип полезен не только тем, что “что-то работает”. Он помогает увидеть, насколько удобно этим пользоваться при сборке настоящего контента. Вывод для себя: система может быть технически аккуратной, но все равно неудобной для дизайна уровней и баланса. И лучше узнать это на прототипе, чем после того, как вокруг решения уже выросла половина проекта.

Прототип быстро показывает, где идея начинает мешать. | Сетка — социальная сеть от hh.ru