Что нового
  • Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Игрострой: От Хаотичного Кода К Грамотной Архитектуре Игры

Sascha

Заместитель Администратора
Команда форума
Администратор
Регистрация
9 Май 2015
Сообщения
1,071
Баллы
155
Возраст
51

Продуманная архитектура игры экономит силы, время и определяет жизнеспособность проекта.

Архитектура компьютерной игры — система организации программы, которая определяет внутреннюю логику построения кода, выбор структурных элементов и определение связей между ними. Сложная система (а игры обычно таковыми и являются) состоит из нескольких подсистем — функциональных модулей, сервисов, слоёв, подпрограмм, соединённых в определённой последовательности. В этом случае разработчики получают не спагетти-код, а набор понятных элементов, взаимодействующих по простым правилам.


Разработку архитектуры кода нельзя отнести к азам, которые легко освоить самостоятельно. Для сторонников самообучения доступны учебники, форумы, статьи, в которых содержится огромное количество информации. Если нет времени и желания отделять зерна от плевел, освоить тонкости можно на

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

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

Признаки хорошей архитектуры кода



  • В него легко вносить правки. Новые фрагменты не требуют переписывания уже существующих.
  • Система эффективна. Код решает поставленные задачи и работает в любых условиях.
  • Срок разработки можно уменьшить, увеличив команду. Задачи легко дробятся и делятся между разработчиками.
  • Фрагменты кода можно повторно использовать в других системах.

Последнее условие соблюсти проще всего. Даже если вы работаете над суперэксклюзивным проектом, без паттернов проектирования обойтись будет сложно.

Все по шаблону


Паттерн или шаблон — готовое решение, которое применяется в проекте для устранения часто возникающих проблем. Разумеется, при использовании шаблонов разработчику нужно учитывать специфику проекта. Обычно паттерн прямо не преобразуется в код. Он даёт скелет конструкции, которая дорабатывается под задачи.

По направлению шаблоны делятся на:

  • фундаментальные;
  • порождающие;
  • структурные;
  • поведенческие;
  • частные.
Фундаментальные паттерны


Позволяют создать изначальную архитектуру проекта. Это высокоуровневые шаблоны, которые описывают взаимоотношения между функциональными составляющими системы. Пример — популярный фундаментальный шаблон MVC (model-view-controller). В программной парадигме «модель-графика-контроллер» графика отвечает за данные, которые отображаются пользователю, модель изменяет состояние в соответствии с командами контроллера, контроллер воздействует на модель и заставляет её менять состояние в зависимости от действий юзера.

Порождающие паттерны


Предназначены для создания объектов. При этом система остаётся независимой от процесса порождения и типов объектов. Порождающие шаблоны инкапсулируют данные о конкретных классах, система получает доступ только к интерфейсам, определённым с помощью абстрактных классов.

Структурные паттерны


Компонуют систему на основе классов и объектов. Структурные шаблоны позволяют добавить объектам больше обязанностей, группируют схожие объекты в древовидные структуры.

Поведенческие паттерны


Распределяют обязанности между объектами, определяют способы реализации взаимодействия объектов.

Частные паттерны


В этот класс попадают паттерны, которым не нашлось места в предыдущих пунктах.

Шаблон — не панацея


Использование паттернов увеличивает скорость разработки и снижает её сложность. Шаблоны упрощают общение между разработчиками за счёт унификации вариантов и снижают количество потенциальных ошибок.


При этом разработку игры не стоит начинать с обдумывания, какие паттерны можно применить. Это инструменты, которые применяются, когда проблема уже возникла. Так плотник берётся за рубанок, если доска недостаточно гладкая. Шаблон помогает программисту устранить острые углы в программе. Напротив, бездумное использование паттернов может необоснованно усложнить код.

Поэтому не стоит считать паттерны элементами конструктора, из которых собирается игра. Сначала придётся научиться писать код с нуля и до победного конца.

Осваивать игрострой в любом случае придется самостоятельно, в вузе такого не преподают. Если выбираете курсы, следите, чтобы в качестве учителей выступали разработчики из игровых проектов. Практики уже научились на своих и чужих ошибках и готовы передать знания. Такая система преподавания используется в

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

. И учителя, и наставники знают толк в разработке игр и готовы кратчайшим путем провести студента через тернии к пониманию игростроя.
 
Вверх