Инди разработка, или - как я делаю свою игру
Получил комментарий на мой пост, в котором, на мой взгляд, больше эмоций, чем предмета. А поскольку под постом могут оказаться новички, которые ещё не умеют отличать критику от шума, - разберу открыто, с разбором каждой фразы
Что не так с комментарием?
1. "Нет геймплея - нет игры, лишь набор механик. Проект ради проекта".
А что есть геймплей? Почему комментатор решил, что движения персонажа - не относятся к нему?
«Геймплей — набор действий, которые игрок выполняет во время игры». Майкл Мур, Basics of Game Design.
Теперь открываем прошлый пост. Что в нём было: почти две недели работы, более 50 анимаций движения и новая система движения хоррор-персонажа. Почему это геймплей, а не «просто механики»? Потому что движение — главное действие игрока. А в хорроре походка персонажа — ядро ощущения: тяжёлая или лёгкая, послушная или виляющая, может ли он бежать или только нервно семенить. Из этого рождается и страх, и чувство контроля. Полсотни анимаций — это как раз то, что превращает механику «персонаж умеет ходить» в геймплей «персонаж идёт тяжело, дышит прерывисто и не всегда послушен».
Почему это не механика, а геймплей?
Механика - персонаж умеет ходить, геймплей - как он это делает.
И это неразделимо - вы не можете отделить геймплей от механики, нельзя заставить персонажа двигаться в игре, как вам необходимо, если у вас нет механики, которая позволяет делать эти настройки.
Совет новичкам - если вам говорят, что у вас всё не так, и не то, а сути критики - нет, то это не анализ вашей работы. Это просто лозунги, и не тратьте время на споры с такими людьми.
2.«Архитектурой тут даже не пахнет, это даже вредные советы»
Что такое архитектура на этапе прототипа: не диаграммы, а решения о том, кто за что отвечает и от чего зависит. И чем вы заплатите потом, при росте игры.
А теперь цитаты из поста, в котором «не пахнет архитектурой»:
«Простое правило — персонаж отвечает только за себя и свои действия: как двигаться, какие команды и кому отдавать. Всё остальное делают компоненты. Инвентарь хранит и отдаёт предметы по запросу. Оружие отвечает за оружие (стрельба, equip-unequip, эффекты, перезарядка). Виджеты — отдельное ядро… Иначе вы замучаетесь потом искать, что и где у вас лежит, кто и за что отвечает, и почему в прекрасный момент ваш мешочек со сладостями внезапно перестал работать в сетевом режиме».
«Инвентарь сделан отдельным компонентом и просто прикреплён к персонажу, и персонаж не знает о структуре инвентаря ничего… Инвентарь — это умный мешок с предметами, и за хранение и действия с ними отвечает сам мешок».
Перевожу для новичков: это разделение ответственности, инкапсуляция и композиция — три кита, на которых стоит архитектура. «Умный мешок», который сам отвечает за содержимое и не пускает внутрь чужие руки, — это инкапсуляция с чётким интерфейсом. Персонаж, который «отвечает только за себя» и делегирует всё остальное компонентам, — это композиция и принцип единственной ответственности.
Итого - архитектура есть? Есть.
Совет новичкам - архитектуру оценивают не по красивой картинке, а по ответственности и зависимостям.
3. "Набор блюпринтовой логики на тике, это вобще слёзы"
Про Event Tick - да, в документации пишут осторожно..
Что же не так с этой фразой?
А дело в том, что комментатор, не видя, что внутри функций тика, зацепился за саму ноду «Event Tick». Не поступайте так - прежде чем огульно критиковать, спросите - а что внутри? В моём случае это простое использование для аним-блюпринта - для блендспейсов, и расчёта скоростей, а не логика игры.
Отдельно разберу в другом посте про оптимизацию (если будет время).
4. «Для новичков нет полезной информации — им нужно подробнее; для профи это набор наивных и даже вредных идей».
- Перед покупкой шаблона спрашивай, что внутри: инвентарь - отдельный компонент или всё в персонаже; персонаж управляет предметами сам или шлёт запросы.
- Правило: персонаж отвечает только за себя; всё остальное - компоненты (инвентарь, оружие, виджеты, аним-блюпринт - каждый сам по себе).
- Не переделывай код, если не уверен, что создашь лучше, - рискуешь потратить время впустую.
- Бесплатные решения — это нормально, но будь готов: шаблоны из маркета чаще всего имеют структуру «в персонаже всё и вся», и разносить её долго.
Все это комментатор считает вредным для профи. Хотя, у каждого своя правда.
Я пишу посты как дневник разработки, и исходя из личного опыта, даю практические советы, как не наступить на грабли, а не пошаговый туториал "как создать игру за 10 дней бесплатно и без смс".
Ну и финал.
5. «Конечно, вы проект не завершите… но продолжать всё-таки стоит»
Да, статистика инди-проектов неумолима, я в курсе.
Но не давайте прогнозы, исходя из средней температуры по больнице.
Итого, рекомендация - как поступать, когда вам пишут такие комментарии:
- Сверяйте с реальностью. Есть конкретика - пытаемся разобраться, нет? Это цифровой шум, не стоит внимания.
Ну а мне надо дальше работать над геймплеем которого нет, механиками, которые не нужны потому что нет геймплея, и архитектурить то, чего у меня нет) Результат покажу позже - когда, не знаю.
Всем бобра, инди - продолжайте делать то, что делаете, не обращайте внимания на злопыхателей!