Расскажу, в чём я ошибся при разработке Агентов.
Конечно хочется делиться только тем, что хорошо получается.
Тем более когда есть какой-никакой опыт. Хочется верить, что ты уже всё знаешь и умеешь, и не совершаешь ошибок, а каждым решением попадаешь в яблочко.
Это, увы, не так. Сейчас расскажу про один из примеров неудачного решения.
Как вы помните, для Агентов был план делать процедурную генерацию локаций - рассказывал про технический аспект тут
Было сделано много доработок, чтобы всё работало правильно, генерировалось и так далее. В итоге всё технически работает: дружит с НПЦ, свет запекается, объекты спавнятся, двери и ключи, вентшахты - всё есть, всё процедурное.
Только когда собрали всё вместе - я понял, что это фигня Х)
Ну не подходит процедурная генерация тут. Слишком всё хаотичное, непонятно, что препятствие игроку, а что возможность. Невозможно создавать осмысленные интересные ситуации.
Немного хаоса уже добавляет и сама симуляция НПЦ - они, например, хотят в туалет, едят, могут пойти поболтать друг с другом или заснуть на месте. А рандомность локации и всего, что в ней происходит, превращает это из весёлого хаоса в какую-то дичь.
Короче говоря, я понял - процедурную генерацию в таком виде надо убирать. Менять пайплайн, менять подход к созданию уровня, и делать вручную пре-собранные уровни.
А нам скоро уже надо сдавать первый внутренний билд. :(
В общем, это, конечно, грусть.
Самое обидное, что было вложено прилично сил в то, чтобы процедурка завелась - и она действительно заработала, просто это оказалось не фаново.
И вот я думаю - мог я не допустить этого неудачного решения? Сразу понять, что это не то?
Сейчас, когда я знаю, что оно неудачное, это вроде даже звучит очевидно. Но когда я его принимал, у меня этого понимания не было, а гипотеза была здравая - контента нужно много, лучше один раз сделать хорошую процедурную генерацию и потом не париться.
Сложность разработки в том, что не принимать неудачных решений вообще, особенно на старте, невозможно.
Нельзя заранее в голове срендерить комплексный геймплей, надо пробовать. На бумаге, в концепте, фича может быть офигенной, а в игре - плохой.
Так что полностью заранее знать, что это путь в никуда, я не мог. Но, пожалуй, мог быстрее итерировать и быстрее понять, что что-то идёт не так. Тут, к сожалению, затянул с осознанием на пару недель, потому что думал - вот тут ещё доработаем, там пару фичей добавим, и оно соберётся нормально.
Не собралось.
Как-то так. Ну, пойдем другим путем.
Вывод простой: закладывайте время на препродакшен и рнд, делайте короткие итерации на раннем этапе.
Обязательно часть концептуальных и технических решений, которые вы принимаете на уровне идеи, окажутся нерабочими, и придётся от них отказаться. Нужно это принять и стараться как можно быстрее их провалидировать.
Post #100
888
- 👍 19
- ❤ 9
- 🔥 3
- 👏 2