Как-то раз одним вечером я натолкнулся на YouTube ролик, где была простая игра, в которой нужно проехать по контрольным точкам на время. Оказывается это игра называется University Racer и она с открытым исходным кодом. Меня заинтересовала реализация этой игры и я отправился смотреть исходные код.
Сам проект оказался что-то вроде дипломной работы 2011 года 3-х разработчиков на языке С++ с отрисовкой на OpenGL.
Ролик University Racer:
Просмотреть это же видео University Racer на YouTube.
Так как проект 2011 года и под капотом у него старый: SDL 1.2
, Bullet Physics 2.79
и старый GLM
(библиотека OpenGL Mathematics). Вдохновившись их работой, я решил переписать этот проект на более современный — обновить используемые библиотеки, убрать ненужный код из исходников, переписать шейдеры и всякие другие интересные графические и проектные улучшения. Данный проект ремастера (улучшения) будет называться — University Racer X.
University Racer X — это fork проекта University Racer, который является его улучшенной и современной версией. Он прекрасно подойдет всем тем кто хочет изучить работу с 3D графикой. Цель игры всё та же — проехать на радиоуправляемой машине все контрольные точки за минимально возможное время.
Первые доработки
В процессе первых доработок понадобилось сперва создать сам проект на Visual Studio 2010 (ввиду того что сами разработчики использовали его при написании проекта) и подключить все нужные библиотеки (попробуй сперва найти версии, их ведь не указали), так как в оригинале были только исходные файлы. В итоге сейчас проект успешно собирается и его можно запустить и покататься на машинке.
Дорожная карта
В перспективе, конечно, планируется дальнейшее развитие проекта. Схематично уже есть план изменений, которые хочется реализовать:
- Удалить ненужный исходный код. В коде есть вариант использоваться GLEE. Я же считаю что стоит использовать в проекте только один вариант загрузки расширений OpenGL
- Обновить библиотеки. Используемые библиотеки оригинального проекта довольно старые и требуют чтобы с них скинули пыль и дали пинка в новой версии
- Порефакторить код. Оригинальный проект написан далеко не идеально и требует доработок: закомментированный код, небольшие баги и другие моменты…
Всю нужную информацию и дорожную карту (план работ) я вывел в файл ROADMAP.md
в корне проекта.
В дальнейших частях обновлений, я расскажу что было сделано и с чем пришлось столкнуться.
Кстати, развитие проекта University Racer X осуществляется с образовательной целью и все желающие могут присоединиться! Проект под лицензией MIT.