Labyrinth
Магистерская работа в Латвийском университете (2008, руководитель доц. Kārlis Freivalds): Steel Engine, выросший примерно до 30 000 строк на C++, и Labyrinth — сетевая гонка по сгенерированному лабиринту как его демонстрация. Я основал и вёл нашу команду DiVision и написал всё, кроме звука, который делал Андрей Мовляйко. Главное: попиксельное освещение на GLSL, где для каждой комбинации числа источников света и флагов материала шейдер компилируется один раз и кэшируется; теневые объёмы с Carmack’s reverse — выбраны вместо shadow mapping ради точных теней; алгоритм видимости для лабиринтов, после которого стал играбельным лабиринт 100×100 вместо 14×14, потому что число рисуемых объектов перестало зависеть от размера лабиринта; и сетевой протокол поверх библиотеки enet со своим методом синхронизации — penalty synchronization: тела разных игроков могут ненадолго пересечься, и силы расталкивают их.
Видео
Картинки
С моего первого сайта
Игра написана на C++, используя собственный движок Steel Engine.