Const-корректность в D
Выложил новую статью на Medium — «Const-correctness in D», посвященную особенностям квалификаторов const, immutable и inout. Будет полезна тем, кто хочет писать на D многопоточные или асинхронные приложения с разграничением доступа.
Начинающим изучать язык также пригодится статья «Getting started with D», в которой пошагово описывается процесс инициализации минимального DUB-проекта.
Временная шкала моих проектов
Приводя в порядок архивы и вспоминая прошлое, решил зафиксировать информацию о моих 3D-движках и других OpenSource-разработках в виде интерактивной временной шкалы при помощи time.graphics — возможно, кому-то будет интересно:
Crematorium 0.2
Выпустил обновленную версию моего старого doom-like шутера Crematorium. Старый звуковой движок Saudio заменил на GMSquall, что исправило проблему с ошибкой при запуске на некоторых системах. Также добавил возможность растягивать окно игры.
Напомню, Crematorium была создана в 2007 году для II конкурса портала GameCreating.ru. Задачей было создать игру с администраторами портала в главной роли. Игра представляет собой коридорный шутер, сделанный на Game Maker при помощи встроенного 3D-режима.
С Новым годом!
Поздравляю всех читателей блога с наступившим 2020 годом! Желаю творческих успехов всем авторам и долгих лет жизни всем интересным проектам!

В качестве небольшого подарка — обновленная версия демки dagon-sandbox, которую теперь можно скомпилировать в «зимнем» режиме (version = Winter)
Итоги 2019 года
Пролетел еще один год, и это значит, что наступило время для традиционного подведения итогов по проектам.
- Блог DLangGamedev переехал на новый адрес и движок: https://gamedev.timurgafarov.ru.
- Был значительно улучшен движок Dagon: добавлена поддержка декалей, трубчатых источников света и «фонариков», кубических карт окружения. Благодаря сторонним разработчикам появилась поддержка рендеринга ландшафтов, в том числе процедурных с использованием шума OpenSimplex, а также интеграция GUI-тулкита Nuklear. Были полностью переписаны рендер и система постобработки в Dagon, упорядочена структура модулей движка, внесено множество оптимизаций производительности, реализован эффект объемного рассеяния света в атмосфере (volumetric light scattering) для направленных источников света. Mateusz Muszyński на основе Dagon и Nuklear написал клон Sokoban с редактором уровней.
- Я начал работу по интеграции физического движка Newton Dynamics в Dagon в рамках проекта dagon-newton и биндинга bindbc-newton. Newton был выбран как наиболее функциональный физический движок с интерфейсом C.
- Вышли dlib 0.16.0 и 0.17.0. Библиотека постепенно приближается к релизу версии 1.0.
- Я написал bindbc-wgpu, биндинг к графической библиотеке wgpu.
Ну и, конечно, не могу не назвать самые значимые для меня события в мире CG, СПО и геймдева:
- Появление WebGPU, нового веб-стандарта для высокопроизводительной графики.
- Выход Blender 2.80 c новым вьюпорт-движком Eevee.
- Открытие кода Mimalloc, быстрого и компактного аллокатора памяти от Microsoft.
Переезд блога
Спустя 7 лет со дня открытия блога https://dlanggamedev.blogspot.com я наконец-то переезжаю на коммерческий хостинг и личный WordPress. Я только начал изучать эту CMS, но первые впечатления самые положительные: удобный редактор, админка, огромный выбор готовых тем, плагинов и виджетов. Абсолютно все можно настроить и кастомизировать. Еще один немаловажный плюс — нормальная работа WP-сайтов на мобильных платформах.
Переезд еще не завершен — необходимо создать страницы проектов. Но мне удалось автоматически перенести основной контент со старого блога, включая даже комментарии и часть картинок.
Newton








