C++ Academy
17.2K subscribers
477 photos
121 videos
1 file
478 links
По всем вопросам- @haarrp

@itchannels_telegram - 🔥 best it channels

РКН: clck.ru/3FmxJF
Download Telegram
🖥 Сборка C++ проектов. Оптимизации компилятора. Inline, constexpr, alignment

Крутое видео про оптимизации кода.

В нем рассматриваются такие темы как инлайн оптимизация, constexpr, internal и external линковка и многое другое.
Please open Telegram to view this post
VIEW IN TELEGRAM
🛰 Space Game GUI

Космическая игра, написанная на C++. Неплохой проект для изучения основ геймдева.

Github

#cpp #programming #gamedev

@cpluspluc
🎮 Исходники легендарных игр Quake.

Немного классики.
Полностью трёхмерный движек, без всяких ухищрений вроде 2.5D.

Отмечу несколько интересных фактов. Возможно, это первая коммерческая игра, которая была скомпилирована компилятором с открытым исходным кодом (DJGPP для DOS, ранний порт gcc).

В игре был внедрён собственный скриптовый язык “Quake C” (позднее lcc в Quake 3), специально разработанный для того, чтобы игроки могли создавать модификации.

В сочетании с системой ресурсов PWAD это привело к созданию огромного сообщества моддеров.

В Quake 1 был создан инновационный механизм кэширования результатов шейдинга, который, однако, потерял свою актуальность с появлением 3D-ускорителей.

Тем не менее, следующая игра от id, Rage, использовала эту же идею.

Кроме того, движок Quake отличался высокой надёжностью, без сбоев в рендеринге и обсчёте столкновений.

Quake / Исходники: github.com/id-Software/Quake
Quake 2 / Исходники: github.com/id-Software/Quake-2
Quake 3 / Исходники: github.com/id-Software/Quake-III-Arena

Разработчик: id Software
Издатель: GT Interactive / Activision
Платформа: DOS / Windows / others
Code review: fabiensanglard.net (Quake 1)
Code review: fabiensanglard.net (Quake 3)

#quake #gamedev #sourcecode

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
🎮 Запуск Doom (1993) в PDF файле.

Порт исходника Doom, который запускается в PDF-файле.

Оказалось, что старые версии Emscripten могут компилировать C в код asm.js, автор запустится внутри ограниченного времени выполнения JS в движке PDF.

Он использовал форк doomgeneric (https://github.com/ozkl/doomgeneric) оригинального исходного кода Doom, так как это позволило довольно легко написать IO.

Все, что нужно было сделать, это реализовать фреймбуфер и клавиатурные входы.

В отличие от предыдущих интерактивных PDF-демонстраций, вывод в DoomPDF осуществляется путем создания текстового поля для каждого ряда пикселей на экране, а затем установки их содержимого в различные ASCII-символы.

Обратите внимание, что этот PDF может работать только в браузерах на базе Chromium, использующих движок PDFium.

Таким образом, получается 6-цветный монохромный дисплей, который может обновляться достаточно быстро (80 мс на кадр).
Исходный код доступен здесь: https://github.com/ading2210/doompdf
Демо: https://doompdf.pages.dev/doom.pdf

@cpluspluc

#doom #c #gamedev
Please open Telegram to view this post
VIEW IN TELEGRAM