_ Этот проект вдохновлен всемирно известной игрой Wolfenstein 3D, которая была первой в истории FPS. Он позволит вам изучить метод ray-casting. Вашей целью будет создать динамический вид внутри лабиринта, в котором вам нужно будет найти дорогу.._
Цели этого проекта схожи со всеми целями первого года обучения:
Строгость, использованиеязыка C, использование основных алгоритмов,
исследование информации и т.д.
Как проект по графическому дизайну, cub3D позволит вам улучшить свои навыки в таких
областях: окна, цвета, события, заливка фигур и т.д.
В заключение хочу сказать, что cub3D - это замечательная игровая площадка для изучения
игровых практических применений математики.
Применения математики без необходимости понимать специфику. С помощью
многочисленных документов, доступных в Интернете, вы будете использовать
математику как инструмент для создания элегантных и эффективных алгоритмов.
Более подробно о проекте и нюансах можно посмотреть в subject.
# Клонируйте проект и получите доступ к папке
git clone git@github.com:AYglazk0v/cub3d.git && cd cub3d/
# Перед выполнением сборки проекта необходимо проверить состояние переменной
# FLAGS в Makefile, если проект будет тестироваться под Linux, то необходимо оставить
# версию переменной FLAGS с флагом -DLINUX, иначе эту закомментировать и
# раскомментировать версию без флага.
# Собрать проект под MacOS:
make
# Cобрать проект под Linux:
make linux
# Для запуска программы необходимо в аргументы подать одну из карт, расположенных
# в каталоге maps, либо создать свою в соответсвии с правилами указанными в subject.
# Пример команды:
./cub3d maps/test.cub
# Очистить выходные файлы можно с помощью
make fclean
KEY | Action |
---|---|
ESC |
Выйти из игры |
SPACE BAR |
Открыть/закрыть дверь |
A |
Идти налево |
D |
Идти вправо |
W |
Идти вперед |
S |
Идти назад |
→ |
Повернуть камеру направо |
← |
Повернуть камеру налево |
Объект | Значение |
---|---|
1 |
Стена |
0 |
Свободное пространство |
S |
Спрайт |
N /E /W /S |
Персонаж и его направление |
[Изображение дергается только на анимации (из за ограниченного количества кадров в секунду)]
Этот проект является групповым, репозиторий в котором велась работа над проектом: link.
Благодарю напарника за слаженную работу над проектом!