Новости из мира высоких технологий

Игрострой: от хаотичного кода к грамотной архитектуре игры

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

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

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

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

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

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

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

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

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

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

Фундаментальные паттерны

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Источник: Игрострой: от хаотичного кода к грамотной архитектуре игры
Автор:
Теги: промо игровая индустрия Компьютерные игры Программирование model mvc архитектура взаимоотношения Время

Комментарии (0)

Сортировка: Рейтинг | Дата
Пока комментариев к статье нет, но вы можете стать первым.
Написать комментарий:
Напишите ответ :
Сканер штрих-кода: как выбрать лучшее решение?
Сканер штрих-кода: как выбрать лучшее решение?
0
Женский развлекательный и поучительный сайт. 14:27 29 мар 2022
Основные правила дресс-кода
Основные правила дресс-кода
1
Человек познаёт мир 08:30 03 мар 2023
Основные правила дресс-кода
Основные правила дресс-кода
0
Жизнь прекрасна 11:30 18 фев 2017
Сарафаны для офиса: 10 великолепных идей для соблюдения дресс-кода
Сарафаны для офиса: 10 великолепных идей для соблюдения дресс-кода
6
Женский каприз 07:40 16 мар 2022
Запретная забава: кто придумал карточные игры и сколько существует игральных колод
Запретная забава: кто придумал карточные игры и сколько существует игральных колод
0
Человек познаёт мир 05:30 14 мар 2024
15 зданий мира, которые в корне ломают стереотипы об архитектуре
15 зданий мира, которые в корне ломают стереотипы об архитектуре
1
Человек познаёт мир 11:30 12 ноя 2023
Как мой пес помог соседской девочке избавиться от уроков игры на скрипке
Как мой пес помог соседской девочке избавиться от уроков игры на скрипке
1
Сайт обо всём и для всех 19:33 15 апр 2024
Музыкальные игры
Музыкальные игры
0
Женский сайт 19:45 11 янв 2016
Идеи грамотной переделки старой мебели.
Идеи грамотной переделки старой мебели.
2
Своими руками 17:29 04 мар 2016
Взрослые игры в светских салонах XIX века, или чем забавлялись аристократы
Взрослые игры в светских салонах XIX века, или чем забавлялись аристократы
3
Жизнь прекрасна 00:30 07 июн 2021
Игры с повседневностью
Игры с повседневностью
0
Интересности 14:16 14 ноя 2016
#видео | Новый зрелищный трейлер игры Call of Duty: Infinite Warfare
#видео | Новый зрелищный трейлер игры Call of Duty: Infinite Warfare
0
Новости высоких технологий 12:00 16 сен 2016

Выберете причину обращения:

Выберите действие

Укажите ваш емейл:

Укажите емейл

Такого емейла у нас нет.

Проверьте ваш емейл:

Укажите емейл

Почему-то мы не можем найти ваши данные. Напишите, пожалуйста, в специальный раздел обратной связи: Не смогли найти емейл. Наш менеджер разберется в сложившейся ситуации.

Ваши данные удалены

Просим прощения за доставленные неудобства