Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля?
Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля?

Статьи про инди-разработку игр — это всегда интересно и занимательно. Но статьи про разработку игр с нуля, без каких-либо игровых движков — ещё интереснее! У меня есть небольшой фетиш, заключающийся в разработке минимально играбельных 3D-демок, которые нормально работали бы даже на железе 20-летней давности. Полтора года назад, в мае 2022 года, я н…

172172

Друзья! Уж не знаю, насколько якорная статья получилась. Пишите мнение в комментариях!

Исходники будут чуть-чуть попозже. Мой ноут с репозиторием гита перестал видеть хдд и мне удалось все починить как раз к моменту публикации статьи. Линки на загрузки демок рабочие.

Пока что в игре есть парочку нюаносв:

В игре нет нормального таймера. Физический движок не поддерживает переменные дельты для апдейтов, только фиксированные. В полноценных играх реализация таймера разная, но обычно ограничивают кол-во обновлений логики, если оно выше того, чем может выдать железо и "досимулируют" дополнительные кадры логики, если оно ниже желаемого FPS. Чуть позже допилю.

У игры косячные тени - связано это с методикой реализации. Стенсильные тени я сразу же отмел - трансформировать геометрию для них "ручками" будет довольно накладно. На DX9 можно запилить полноценные шедоумапы - я это делал в случае с шутером, но поддерживается только на относительно свежих видеокартах. Поэтому пока что, на время, я реализовал планарные тени - старая техника, которая заключается в трансформировании геометрии специальной матрицей, которая "сплющит" модель в одну из сторон относительно источника света. Такие тени косячные, чуть позже запилю проективные (как в Flatout 2).

7

Спасибо за статью, очень крутая!
А если не сложно, можешь в кратце рассказать:
1. Почему решил именно свой движок склепать?
2. Давно этим занимаешься?
3. С чего можно начать чтобы научится делать свои демки?
4. С чего ты начинал, какие были первые проекты? Можешь дать пару слов о своих первых проектах, сложно ли было начинать?
5. Где в основном берешь инфу и узнаешь о каких то фишках, которые потом пробуешь реализовать у себя?

2

Прости меня что дразнил за срач. Аж стыдно. Ты крутой