Написал Онлайн Шутер на C за Неделю
#Vectozavr #Gamedev #Programming
1 часть: youtu.be/Q9zkiOClyEo
Помочь денежкой: www.donationalerts.com/r/vectozavr
telegram: @vectozavr
Статья на моём сайте: ilinblog.ru/article.php?id_article=63
GitHub: github.com/vectozavr/pseudo3DEngine
Instagram: www.instagram.com/vectozavr
vk: vk.com/public179407034
OpenAL: openal.org
Содержание:
1:30 — Подключение SFML.
1:57 — Проектирование каркаса проекта.
2:46 — 2D карта, камера и управление.
3:15 — Ray cast и получение 3D изображения.
6:43 — Управление мышью.
7:20 — Текстурирование.
9:42 — Оружие.
11:22 — Коллизия камеры со стенками.
14:38 — Меню игры.
15:17 — Зеркала и стены разной высоты.
17:50 — Игровые звуки.
19:03 — Противник и обработка выстрелов.
20:05 — Multiplayer.
21:24 — Проектирование карты для сражений.
22:40 — Результаты.
23:33 — Как запустить игру?
24:01 — GitHub и планы на будущее.
Загадка для самых внимательных: найдите таймкод, где есть 25-й кадр (зеленый) и пришлите в директ инстаграма. С первым я свяжусь.
Мы начнем с установки необходимой библиотеки, рисования объектов и управления камерой с клавиатуры. После этого мы научимся строить 3D изображение, добавим освещение и управление мышью. Далее мы реализуем текстурирование и сделаем нашу игру светлой и красивой. В такую игру уже захочется поиграть.
Мы добавим объекты разной высоты, скины, оружия и врагов, а также зеркала, в которых будет видно отражение объектов. А потом посмотрим, что будет, если поставить два зеркала напротив друг друга. Ну и в конце концов, мы добавим онлайн в игру, чтобы можно было играть с другом.
В предыдущем ролике я показал, как можно с помощью алгоритма ray-cast и консольной графики сделать простую бродилку. В этот раз я захотел написать полноценную игру. Конечно, можно писать игру на Unity 3D или каком-нибудь другом движке, который предоставляет огромные возможности, но я захотел сделать всё сам и самостоятельно написать движок для игры.
В качестве основы я выбрал библиотеку SFML, которая позволяет рисовать линии, многоугольники и окружности. Также она дает возможность удобного использования клавиатуры, добавления звуков и загрузки изображений. В общем все, что нужно для того, чтобы писать игру и не заморачиваться над не существенными деталями на низком уровне.
Этот проект я не забрасываю и буду развивать его дальше. Вы можете предлагать всевозможные дополнения в игру, и я с радостью добавлю понравившиеся мне фитчи.
По мере возможности я стараюсь отвечать на каждый ваш вопрос, но зато я точно читаю абсолютно все ваши комментарии. Так что добро пожаловать, делитесь мнением или темой, которая вам показалось интересной или непонятной. Тут рады каждому новому Вектозаврику.