KidCode

KidCode 

Игрульки делаю и вам рассказываю

66subscribers

38posts

goals2
0 of 50 paid subscribers
Запилю видео по оптимизации вашей игры на Unity
$0 of $130 raised
И снимаю полноценный видео курс по Unity

Архитектура и производительность разработки игр

Здесь я хочу поговорить не про производительность ваших алгоритмов, формул и скорости отрисовки. А именно о производительности разработки вашего проекта.
В ходе разработки вам будут мешать три силы:
1) Хорошее понимание архитектуры вашего проекта целиком
2) Хорошая производительность кода
3) Хорошая производительность труда
Все силы преодолимы, но к сожалению победить все три разом не получится, так как они противоречат друг другу.
Быстрее всего написанная реализация скорее всего не самая быстрая в плане производительности. А если его оптимизировать, то кодовая сразу теряет свою гибкость и в будущем ее очень сложно менять.
Все из вас наверняка сталкивались с желанием закончить задачу по-быстрее и приступить к реализации нового функционала как можно раньше. Что приводило вас к проекту полному багов, каких-то хаков, дублированию кода и прочих мерзостей, замедляющих вашу продуктивность. 
И, к сожалению, простого решения вы здесь не найдете. Все решается через баланс и поиска компромиссов.
Хорошее проектирование заключается в том, что когда вам нужно внести изменение, вся остальная часть программы как будто специально сделана так, чтобы вам это было легко. Для этого вам нужно уменьшить связность проекта и сделать его максимально модульным.
Вам нужно решить связность между каким частями программы вы хотите уменьшить и добавить необходимые абстракции. Тогда ваш проект будет с хорошей архитектурой, работа над им превратится в чистое удовольствие, а ваша производительность вознесется до небес.
Однако, абстрагирование, модульность, шаблоны проектирования и вообще архитектура программ, кроет за собой один подводный камень. К сожалению, предсказывать будущее довольно сложно и если абстрагировать все направо и налево, то там где модульность вам в дальнейшем не понадобится, вскоре она начнет вам активно вредить. В конце концов, вам просто придется работать с более громоздким кодом.
А кодовая база выйдет из-под контроля. У вас повсюду будут сплошные интерфейсы и абстракции. Системы плагинов, абстрактные базовые классы, изобилие виртуальных методов и куча точек для расширения. Поэтому не стоит метаться из крайности в крайность, ведь зарыться в коде довольно просто, но только помните, идеального кода не бывает, а мы сюда пришли все-так игрушки делать.
Subscription levels4

Школьник

$1.3 per month
Минимальный уровень для получения закрытого контента и раннего доступа к материалам.
Сэкономьте но одном пирожке в школьной столовой и получите целый месяц доступа к постам, раннему доступу к видео, а также закрытому контенту🔥

Студент

$3.9 per month
Получаете не только ранний доступ к материалам, но и исходный код.
Сэкономьте на одном обеде в университетской столовой и получите целый месяц доступа ко всему контенту, включая исходный код, графику и модели🔥

Gold

$13 per month
Для поддержки) Тот же уровень что и студент, но за 1000

Platinum

$25.9 per month
Для мажоров. Все тоже что и выше, но за 2 рубля)
Go up