Этот курс представляет собой мягкое и всеобъемлющее введение в основы архитектуры 2D игрового движка. Мы рассмотрим несколько популярных паттернов программирования, используемых в разработке игр, и постараемся применить всю теорию на практике, написав небольшой 2D игровой движок с использованием современного C++, SDL и Lua.
Мы напишем небольшой фреймворк ECS с нуля для управления сущностями, компонентами и системами. Мы обсудим, как разработчики движков проектируют свой код и как следует организовывать игровые объекты в памяти с учетом производительности.
Инструменты, которые вам понадобятся
Инструменты для игрового движка на C++:
C++: Мощный компилируемый язык программирования.
SDL2: Библиотека для кроссплатформенного рендеринга и ввода.
GLM: Библиотека для математических вычислений.
Dear ImGui: Библиотека для создания интерфейса инструментов движка.
Sol: Библиотека для связывания современного C++ и Lua.
Lua: Быстрый и простой в использовании скриптов.
Мы постараемся писать большую часть кода нашего движка с нуля. Все эти библиотеки и инструменты кроссплатформенны, так что вы сможете писать код на Windows, macOS или Linux!
Подходит ли вам этот курс?
Целевая аудитория: Начинающие программисты, желающие изучить C++ в контексте разработки игр. Учащиеся должны уметь писать базовый код (if-else, циклы, функции, классы) и знакомы с ООП.
Необходимые знания: Не обязательно знать C++ до начала курса. Многие успешные студенты имели опыт разработки веб, мобильных и игровых приложений на Java, Python, Ruby, Go, Swift, JavaScript и других языках.
Отличия курса
Курс не просто обучает созданию игры на C++. Он позволяет понять абстракцию игры и написать с нуля небольшой движок на C++, охватывая ECS, data-oriented design, шаблоны C++, игровой цикл, рендеринг SDL, системы событий, управление ресурсами, памятью и производительностью. Также изучается внедрение Lua в код C++ для добавления скриптовых возможностей.
Хотя существуют другие ресурсы по разработке игровых движков, они либо слишком теоретичны, либо чрезмерно длинны. Если вы ищете мягкое введение в мир программирования игровых движков и хотите понять, как игры работают изнутри, этот курс для вас!
Посмотреть больше
Это пробный урок. Оформите подписку, чтобы получить доступ ко всем материалам курса. Премиум
Ограничение времени просмотра
Вы можете просматривать пробный урок только 10 минут. Получите полный доступ, чтобы смотреть без ограничений.
Gustavo Pezzi - преподаватель университета в Лондоне, Великобритания. Он получил несколько образовательных наград в качестве учителя и также является основателем pikuma.com. Густаво преподает основы информатики и математики; его академический путь включает такие учебные заведения, как Государственный университет Питтсбурга, Городской университет Лондона и Оксфордский университет.
Команда внимательно читает ваши комментарии и оперативно на них реагирует. Вы можете спокойно оставлять запросы на обновления или задавать любые вопросы о курсе здесь.
Этот курс является мягким введением в мир физики 2D игр! Мы рассмотрим всю прекрасную математику, которая лежит в основе большинства физических движков, начиная с тщательного изучения векторов, матриц, основ тригонометрии, столкновений твердых тел, а также немного затронем и калькулюс.