Программирование игрового движка на C++

Программирование игрового движка на C++
ru
07.08.2024
31 г 48 мін 39 сек

Этот курс представляет собой мягкое и всеобъемлющее введение в основы архитектуры 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++ для добавления скриптовых возможностей.

Хотя существуют другие ресурсы по разработке игровых движков, они либо слишком теоретичны, либо чрезмерно длинны. Если вы ищете мягкое введение в мир программирования игровых движков и хотите понять, как игры работают изнутри, этот курс для вас!

Вы не можете просматривать данный курс -

Array ( [bitrate] => 1044325 [filesize] => 145935191 [mime_type] => video/mp4 [length] => 988 [length_formatted] => 16:28 [width] => 1920 [height] => 1080 [fileformat] => mp4 [dataformat] => quicktime [audio] => Array ( [dataformat] => mp4 [bitrate] => 128000 [codec] => ISO/IEC 14496-3 AAC [sample_rate] => 44100 [channels] => 2 [bits_per_sample] => 16 [lossless] => [channelmode] => stereo [compression_ratio] => 0.090702947845805 ) [created_timestamp] => -2082844800 )