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

MiniGL

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

Весь исходный код умещается в одном файле (<1000 строк), не считая бибилиотеки dlib и биндинга к SDL для вывода изображения. Можете использовать его для самообразования или как основу для собственного программного рендера.

К растеризатору прилагается пример игры от первого лица в стиле классических 2.5D-шутеров. Реализована проверка столкновений со стенами, отрисовка спрайта оружия и механика стрельбы.

https://github.com/gecko0307/minigl

GScript

GScript — это мой скриптовый язык и виртуальная машина к нему, которые уже много лет существуют в качестве рабочего прототипа. Язык напоминает D и JavaScript — это язык с фигурными скобками, динамической типизацией, поддержкой модулей и прототипной объектной системой.

Актуальной версией языка является GScript3.

Xtreme3D 3.x-4.x

Xtreme3D — это весьма своеобразный проект с интересной многолетней историей и собственным сообществом. Его, на самом деле, сложно назвать «мини» 😀 Под этим названием с середины нулевых выпускается враппер библиотеки GLScene для Game Maker, скомпилированный в DLL-библиотеку. Изначально он был написан немецким программистом под ником Xception, но после выхода версии 2.0.2.0 автор, к сожалению, забросил свою разработку, и проект был подхвачен русскоязычным сообществом. Для дальнейшего развития Xtreme3D, мы решили переписать движок с нуля, сохранив обратную совместимость. На данный момент актуальной версией является уже Xtreme3D 4.0 на базе Delphi 10 и GLScene 2.2, совместимый с современными 64-битными версиями GameMaker (бывший GameMaker: Studio 2). Xtreme3D позволяет писать на GameMaker 3D-игры с относительно современной графикой и быстрым рендерингом. Есть также поддержка Python и C/C++.

Репозиторий проекта: https://github.com/xtreme3d/xtreme3d

Помимо всех версий Xtreme3D и дополнительных материалов к нему, на этом же сайте https://xtreme3d.ru мы сохранили и собрали воедино огромный архив всевозможных расширений, DLL-библиотек, движков и демок, относящихся к 3D-графике, а также полезных утилит, документации, бесплатных ресурсов и т.д. Не исключено, что все это кому-нибудь еще пригодится. Сайт является своеобразным музеем любительского геймдева нулевых.