Физика автомобиля: новое видео

Записал видео обновленной демки с физикой автомобиля на движке Dagon: новая модель трения (формула Пасейки), поддержка звуков (используется движок SoLoud), множество мелких улучшений и багфиксов.

Хобби-проекты как интеллектуальный капитал

Задумываясь над тем, какая польза от такого неординарного увлечения, как графическая разработка, я пришел к следующему выводу. Почти все, что я написал в своей жизни «для души», так или иначе оправдало вложенные усилия — не всегда напрямую и не всегда в материальном выражении, но тем не менее: я получил опыт, который профессионально пригождается буквально каждый день, в каждом проекте. Например:

  • Что возможно и что невозможно. Область применимости машинной логики, вычислений и алгоритмов. Что можно решить за конечное время, а что нет. Какие задачи можно решить точно, какие — приближенно. Где можно положиться на строгую математику, а где лучше работает эвристика.
  • Какие математические модели оптимальны для изображения на компьютере тех или иных явлений реального мира. Под изображением я имею в виду не только реалистичное 3D, но и абстрактную графику, которая используется в анимационном дизайне — вплоть до того, как эффективнее всего рисовать геометрические фигуры. Как лучше всего хранить ту или иную информацию, какая точность чисел для нее оптимальна. Каков минимум параметров, которыми можно выразить ту или иную моделируемую сущность.
  • Как перевести концепцию, выраженную на человеческом языке, на машинный или математический уровень абстракции. Например, говоря о движении, люди любят оперировать такими неформальными понятиями, как «плавно», «мягко», «летает», «парит», «выскакивает» и т. д. Эти слова не имеют однозначного определения на языке математики, поэтому их приходится трактовать интуитивно, с пониманием контекста и общей картины, заранее воображая в голове, как должен выглядеть результат — и уже исходя из этого представления выводить матмодель: функции движения, изинги, тайминги и т.д.
  • Сколько времени требуется на реализацию тех или иных моделей, механик, алгоритмов и т.д. Какие существуют готовые решения для стандартных задач, и как выбрать оптимальное из нескольких вариантов.

Разработка на языке D – 13 лет спустя

13 лет назад я написал статью «Перспективы использования D в разработке игр» для журнала «FPS», в которой дал краткую характеристику основных особенностей языка и выделил главные его преимущества перед конкурентами. D изначально создавался как альтернатива C++ для разработки десктопных и серверных приложений – за прошедшие годы область применения языка не изменилась, хотя и добавились такие замечательные возможности, как поддержка ARM и Web Assembly. Но конъюнктура рынка и технологический статус кво сегодня уже несколько иные, поэтому я счел необходимым написать новую статью на ту же тему: насколько D актуален в геймдеве в 2023 году?

(далее…)