Я создал Онлайн Шутер с нуля! И сам написал читы 😂
Vložit
- čas přidán 15. 05. 2024
- Начни обучаться математике сейчас!
👉 vectozavr.ru
discord канал: / discord
Скачать собранный релиз: github.com/vectozavr/shooter/...
Репозиторий Шутера: github.com/vectozavr/shooter
Репозиторий Движока: github.com/vectozavr/3dzavr
gitHub: github.com/vectozavr
inst: / vectozavr
Я в vk: vkvec
telegram: t.me/vectozavr
Группа vk: vectozavr
Содержание: сегодня я расскажу вам о том, как c нуля я создал свой трёхмерный игровой движок и написал на нем онлайн шутер, с какими проблемами я столкнулся, сколько времени это заняло и что получилось в итоге. Приятного просмотра!
Таймкоды:
00:00 - Введение
02:01 - Цели проекта
02:37 - Архитектура движка
03:34 - Основы 3D графики
04:38 - Обновление игрового мира
06:03 - Цвета и освещение
06:42 - Импорт .obj файлов
07:11 - Камера и клиппинг
09:58 - Анимации
10:18 - Обработка и обнаружение столкновений
12:01 - Сетевое взаимодействие
12:48 - Карта для игры
13:09 - Игрок и управление
16:01 - pow-pow!
18:37 - Звуки
19:13 - Может всё-таки OpenGL?
20:09 - Multiplayer
21:31 - Весёлые баги
20:38 - Делаем нормальную модельку игрока
23:08 - Тесты игры
28:51 - Дальнейшие планы - Věda a technologie
Всех жду обучаться математике ❤ - vectozavr.ru
C:\Games\shooter_windows\shooter.exe
Версия этого файла несовместима с используемой версией Windows. С помощью сведений о системе опредилите необходимую версию программы (32- или 64-разрядную) и обратитесь к издателю программного обеспечения.
Здравствуйте , скажите пожалуйста ,можете ли вы Переписать эту игру на языке Processing (просто исходники на плюсах у меня почему-то не запускаются, с Processing такой проблемы быть не может , ибо язык и среда разработки кросс-платформенные и из дополнительного по требует только java)? этот язык не сильно отличается от c++ хоть и основан на java. Также Processing уже "Из коробки "позволяет работать с 2d и с 3d примитивами.
Вот урок по языку - czcams.com/video/2fs1tuUUJRM/video.html
в это моменте я подумал что это копия майнкравт 4:39
игра классная жаль что у не смог в нее поиграть (у меня 32 бит) надеюсь будет х32 версия
Очень круто но можеш сделать на телефоне🤔
Сам создал игру, сам наругал читеров, сам создал читы... гениально)
Угу
Самостоятельный вырос
Прям как аксельболт
Наконец-то! Мы все долго ждали это видео🔥
твои видео мы тоже долго ждём (в хорошем смысле)
когда видос?
Да?
В гитхабе видел движок но не знал как им пользоваться
Когда новый видос у Макара?
"Я обнаружил, что данная реализация позволяет карабкаться по стенам" - для моих игр половина механик примерно так и появляется 🤣 две доли нежелания в очередной раз все переделывать + одна доля "довоображовывания" - это гремучая смесь, ведущая к удивительным результатам!
-"в этой игре можно прыгать в воздухе"
-"да пox*й, у нас как никак тема для геймджема "это не баг, это фишка""
у меня видимо всегда этот джем идёт
А как можно поиграть с людьми из других городов ?
@@sellvaldr1210ну конечно главное сидеть на одном сервере
@@bifocalvac6453 да я тогда просто видео не досмотрел я не знал как играть по сети а щас знаю
@@sellvaldr1210 Пробросить порт, на котором игра работает и запустить сервак на нём. Дальше сообщить друзьям внешний IP, чтобы они по нему подключались, а самому по локальному IP подключаться. Всё просто
Ждём RTX версию.
С реалистичной физикой, как у hla.)
@@user-yh7ry7uu9o )))))))
@@user-yh7ry7uu9o eeee
ждём
В виртуальной реальности
Импортозаместил Unreal, молодец!
качество не подкачало, как и любой импорт рашки) дерьмецо
@@Peter-fx5ez ладно
@@mood4073 "картинка с Жаком Фреско"
@@Peter-fx5ez какой может быть импорт из рашки, тут впринципе ничего не производят
@@rjuman почему? Есть например движок "UNIGINE " Русского производства и могу сказать от юньки с онриалам он совсем не отличается :0
29:53 - Сам не похвалишь, никто не похвалит))
А вообще прикольно, мне кажется весь этот минимализм имеет свой шарм и текстурирование и усложнение форм не обязательно пойдёт на пользу)
Ну а как иначе 🥰
Согласен, тут надо поэкспериментировать и проверить 👀
тришка?...
@@vectozavr Но RTX и реалистичная физика из HL2 (с возможностью разгонятся до трёх сверхсветовых) всё-же нужна).
@@user-yh7ry7uu9o мне кажется нужно освещение
Да сколько ж тут гигантов узких кругов?!
Требую довести игру до стима, ну и для слабых ноутбуков конечно-же)
И требую режим песочницы)
Куда писать наработки на сюжет?)
"Не баг, а фича")) Пожалуйста будьте с этим осторожнее в дальнейшем.
ахренеть высокие прыжки с замедлением времени - тоже не баг а фича.
Зашёл посмотреть историю из детства, а тут какой-то 3д движок
Хахахахах
Господи , я смотрю это видео , и не могу поверить что я все это понимаю. В детстве я и подумать не мог что я буду таким умным.
Дада) я о том же. Приятно понимать, что видишь сея картину и уже представляешь как пишешь все это. И да, меня тоже звать Кирилл
13:45 Музыка идеально подходит под ходьбу
Иван просто молодец! Смотрела на одном дыхании. Профессионально, интересно и увлекательно. Главное, что твой труд мотивирует к действию и наглядно показывает, что нужно верить в свои силы и всего можно добиться. Продолжай нас радовать, ждём с нетерпением следующее видео. Спасибо отдельное за школу, это такой шанс для ребят попробовать свои силы и научиться учиться по новому👍🏻🙌
Можно ещё сделать хоррор -- просто убрать текстуры и дать игроку возможность отрисовывать точки на объектах. Как твои точки от пуль.
Получится что-то наподобие Scanner Sombre.
Тёмный лабиринт, ручной сканер, точки во мраке. И что-то движется в темноте, но ты можешь увидеть только тень его силуэта на стене.
@индюшка )🇷🇺 ++++++++++++++++++++++
@индюшка )🇷🇺 да да да
@@indushka123GMOD!
Впечатляет. Было очень интересно наблюдать за процессом разработки и теста игры на движке с нуля. Ждëм дальнейшего развития игры!
Вот про OpenGl Metal и Vulkan ты не правильно подумал. Эти API не позволяют Тебе работать с 3д графикой! это API которые позволяют тебе обращаться к видеокарте и процессору для отрисовывания самых базовых примитивов на экран а также всяких полезных штук типа загрузки шэйдеров и массивов вершин(для отрисовки мэшей) в видеокарту. Там нет систем 3д там просто 2д экран -1 до +1 и буфер глубины. Это самое низкоуровневое что можешь ты позволить для кроссплатформенной графики. Особенно Vulkan. SFML же это просто фрэймворк для кроссплатформенного открытия окна и обработки событий(с этим ни чуть не хуже справляется GLFW). И внем присутствуют функции для отрисовки примитивов. НО ЭТО ПРОСТО ОБЕРТКА НАД OpenGL! Это намного высокоуровневей чем OpenGL(я молчу про Vulkan который позволяет тебе напрямую с видюхой разговаривать).
Матрицы же ты пишешь и всю остальную мишуру сам! И да, как раз из-за этого ты получишь в несколько раз лучшую производительность! Особенно на Vulkan который из-за своей низкоуровневости в отличии от OpenGL выдает потрясающие результаты(как DirectX но кроссплатформенно). Залайкайте чтобы увидел))))
Решением в стиле "с самого нуля" будет выучить язык ассемблера для видеокарт и написать свою собственную библиотеку.
@@CaXaPHblN_HerP А такой вообще есть в открытом виде в интернете?
@@CaXaPHblN_HerP так он же пишет кроссплатформенный движок, а openGL был создан для кроссплатформенной графики чтобы не писать разные вызовы под разные видеокарты потому что у разных видеокарт разные API
Важное уточнение - как DirectX12, более ранние директы они примерно как OpenGL разных версий
@@kusakich9633 Vulkan кроссплатформенный
Жаль, что вы и Onigiri стали редко выпускать видео. С другой стороны, вы делаете свои проекты и растёте над собой - тут остаётся только выразить свое почтение.
Э кисээээээ
Мне очень нравятся люди, которые горят своей идеей и реализуют ее :)
Вот увидеть пример на vulkan было бы просто идеально. Как то бегло просмотрел демки на vulkan и они оказались на первый взгляд не простыми. И благодарю за очень годные видосы! Ты даёшь массу полезной информации.
Даже мне как человеку который математику не знает, становится понятно)
Тут голову ломаешь, как батничек написать, чтобы в реестре винды искать файлы и удалять их по значению, а Vectzavr просто взял и написал 3Д движок...
Это по курсу
@You Tube в 2000 это было бы весьма круто, но сейчас это не продуктивно
@@nitro_game_development в 2000 такая реализация лагала бы жёстче, чем последняя Батла на gtx750
@You Tube лол, а что это если не движок?) Самый что ни на есть. Причем не только 3д, а еще и физический - автор написал свою реализацию твердых тел. И потом на этом движке написал шутер с фановыми механиками, еще и с мультиплеером, протестировал, и даже сыграл с подписчиками. Что это если не практическое применение?)
@You Tube типо то, что у движка нет редактора?
Продолжай! Очень интересно смотреть за данной темой!
11:40 если самую яркую грань представить как самую близкую к нам то получается какой-то тесарактовый куб.
Недостатки двухмерного зрения...
Ещё можно сделать античит, который при подключении игрока на сервер будет проверять, соответствуют ли значения здоровья, патронов, отдачи и т.д. значениям на сервере
Можно просто отправить серву другие значения, нужно просто проводить некоторые операции на сервере. А с читами играть весело еще.
Так лол зачем это? Все равно сервер отправляет игроку данные о здоровье и т.д, сервер но не принимает данные, так что смысла нету
@@user-oz9jq5ss4s Не получится. Клиент может отправить не тот кеш.
@@user-oz9jq5ss4s Да с читами тоже весело играть.
друГ, у тебя лучший контент в подобной стезе на ютубе. подача на высоте, как и сама суть, а еще игра вышла неплохая, уверен, ты или подпищики еще смогут ее доработать и сделать настоящую бомбу. респект, спасибо за контент
Молодец! Продолжай в том же духе)
Я ждал и верил, что продолжение выйдет
Блин просто спасибо. Хотел самостоятельно такое сделать ради интереса но увидел твой видос. Ты уталил мой интерес и сэкономил мне 3 месяца. Все понятно и очень интересно. Продолжай
Круто! Смотрел на одном дыхании!
Очень познавательно!
Меня будоражит тот факт, что игра происходит только на 1 из 6 граней куба
С какой ты планеты?)Я конечно не чего не понял,но наблюдал с удивлением)И представляю какой путь знаний ты преодолел,уважение тебе и успехов!Красавчик!
Мы снова изобрели колесо!
А вообще увлекательно конечно и познавательно, спасибо (;
Автор большой молодец. Это всё так сложно и требует очень большого терпения и ума. Спасибо за видео.
07:44 Ахаха))) Это я себя так ощущаю, когда смотрю данное видео)
100%
Нереально крутой ролик! Спасибо.
Рад, что вам понравилось 🥰
Курс, кстати, очень круто сделан!
Рекомендую!
Местами только быстровато))
Ура! Я ждал это видео с самого начала!!! С самой первой твоей истории в инстаграме!!!!!
Мне очень нравится тема 3D графики с нуля. Сам написал простую графику с трассировкой лучей (но у меня старый ноут, поэтому не могу использовать в реальном времени - real time).
Жду ещё видосы про 3D! ♥️
@You Tube оо, только недавно тебя вспоминал. Боже.. Ты реально каждый месяц заходишь ко всем популярным IT ютуберам и пишешь дичь? На Соера ты наехал по пустяку, и там же тебя заминьонили опытные разработчики, доказав твою некомпетентность, ещё у кого-то я тебя видел в комментах.
@You Tube чел, ты меня уже не удивишь, я видел очень обиженных людей, которые даже спустя 2 года, могут о себе напомнить, так что, ты тефтелька) Ну, окей, удовлетворяй своё эго дальше, расписывая токсичные и душные комменты людям, которые что-то добились, а ты нет)
@You Tube нет, просто я тоже не идеальный человек, но вот когда я вижу таких как ты, реально обиженных людей, которые из года в год творят дичь, скрывая собственные плохие качества: зависть, токсичность, ложный элитаризм (этим почти все страдают) - я прям себя ощущаю человеком, оказывается, есть сущности, которые реально обиженные, реально ничего не добились, и которых, сейчас я скажу не оскорбив тебя, можно назвать человеком морально опущенным. Ты человек морально опущенный, и это не оскорбление, скажу ещё раз, ты чмо.
И раз в природе есть клещи, которые явно мешают людям, но они участвуют в экосистеме, то пускай будут. Так и подобные тебе, ну наверно тоже нужны, и если нужны, чтобы дать понять: Как не нужно себя вести в обществе и что нужно решать личные проблемы, а не убегать от них. Поэтому, спасибо тебе.
Кстати, именно 26 июля будет специальная скидка на курс по изучению разработки Lua, он будет стоить всего: 4999 рублей за 6 месяцев обучение. Ждём вас!
Эти вставочки с обезьяной, просто космос
Браво, восхищаюсь, когда смотрю и слушаю подобное
это как некоторые у себя во дворе поршни для мотоцикла отливают из алюминия самодельные , некоторые наручные часы создают самодельные , частного производства - это умение впечатляет, но фабричное коллективное производство на другом уровне качества и совершенства.
Это философские мысли 😊😊😊😊
Импортозамещение всяким юнити и анриалам...
Очень классный проект, надеюсь будешь его развивать👌
Дядя, ты сумасшедший, если решился сделать все это с нуля 🔥 респект и уважуха!
Огромный молодец!!! Я столько ждал этого видео и вдруг бац!
Спасибо. Круто сделано
Требую полноценную реализацию этого арена-шутера, оч круто вышло
Ооо Дааа, скоро переплюнет данный проект по крутости Квейк-Арену + Постал все части вместе с Пейн Киллером и прочими убойными шутанами. И конечно же другие разрабы кто шарит в этом очень не хило помогут довести всё это дело до ума.
22:30
Ахахах, всем любителям вставания на проп и потом его взятия с прыжком доброе утро
(кто не понял - вроде в халве был такой баг, что можно было встать на любой объект который можно взять, потом прыгнуть, взять этот проп, заново прыгнуть, взять и так летать, так как персонаж прыгал от объекта, потом к себе его притягивал и заново можно было прыгнуть)
И да, хотелось бы чтобы у дробовика было не просто выстрел+перезарядка, а выстрел, передёгивание затвора, выстрел, передёгивание затвора, выстрел и полноценная перезарядка
К несчастью в новой версии это пофиксили. Надеюсь спидранеры простят VALVe за это.)
Привет! Огромное спасибо за видео! Я, довольно часто люблю делать 3д фигуры на бумаге. И как же ты мне помог, когда сказал что куб- это 2д треугольники , подверженный освещению. Огромное спасибо!
Очень крутой проект, джу новые видео, мне интересно что будет дальше.
Лайк если конкретно закачался от музыки из сабвей серфа
МузЯка классная, но ЛАЙК поставил за движок.
вот это реально круто :) для того чтоб не читерили -- сервер должен содержать репликацию и все важные рассчеты должны проводиться на нем, и с него они должны слаться всем игрокам
🇺🇦💩
Когда мне говорят что в программировании не нужна математика - я хочу в лицо плюнуть такому человеку
Прикольный квейкер, жду продолжения
Кстати, чтобы избавится от бритв и бессмертия можно на сервере сделать проверки на допустимость значений
Можно сделать Интерполяцию движения игроков, чтоб двигались плавно, а не телепортировались
Вычислять их положение и отрисовывать каждые 5-20 миллисекунд...
:-)
Ого, впечатление от видосика сильное )
Рад Тебя слышать)
Сходу лайк, наконецто норм видео
Шутер хороший. Предлагаю:
1. Добавить анти-чит (или хотя бы если сервер обнаруживает у человека отсутствие отдачи, она появляется, если у человека больше патронов чем обычно, ставится обычное колво и т.д.)
2. Добавить наказание за читы (бан с сервера на время/навсегда)
3. Добавить экономику и возможность именно покупки оружий а не подбираний
4. Сделать снайперский прицел снайперской винтовке
5. Добавить новые оружия (новые винтовки/автоматы, пулеметы, новые дробовики, пистолеты)
6. Добавить новых карт
7. Добавлять новый режим игры, допустим режим закладки бомбы
8. Добавить новые модельки (с бОльшим количеством полигонов) и вместе с этим настройки графики (низко - низкополигональные модели, средне - среднеполигональные модели, высоко - высокополигональные модели)
9. Добавить гранаты
10. Добавить защиты по типу шлемов и бронижилетов
Наказание за читы должно быть веселым, проявляющимся необычно
@@SuperMordva пъяная камера? Экран с "Китай ком. партия не доволен этим штраф один Кошко жена
@@SuperMordva кстати да
А ещё можно открыть цс
@@haimalexandernikolchook8280 , Компартия Китая? Вы случайно не из чата alexgyver 'A?
Бесконечность не предел. Безумная задумка и гениальная реализация, непосильная обычному человеку
Да ну юпитер и ты тут не ожидал
у тебя очень полезный и класный видос по мултиплееру
@@xplus9218 мяу привет дорогой друг
Титаническая работа! Моё уважение.
спасибо за такое прекрасное видео, благодаря ему у меня есть мотивация делать игру дальше!
Алилуя! Дождались! целых 3 года!
Импортозамещённый квейк?
Как же это круто!
Я посмотрел ролик уже давно, забыл комент оставить для продвижения. Ролик как всегда бомба. Эх жаль, что так мало по сравнению с предыдущими видео просмотров(
Балдёжный видос, замотивировал меня написать свой собственный движок, я сегодня ночь не спал, и так не смог придумать, для чего он мне нужен)
* Толи ,чтобы оптимизировать работу с системами рендеринга, чтобы на полигонах можно было в высоком качестве рисовать разрушения без тормозов
* Или вообще податься в воксели, чтобы с помощью них творить магию как в Teardown.
Крч такие мысли от видоса, надо будет как-нибудь к тебе прийти удалить пробелы в математике, особенно в геометрии хы)
Успехов!
Я сам каждый раз, когда вспоминаю об этом проекте радуюсь :)
Появляется какое-то детское счастье
@@vectozavr Это да, по сути в этом и заключается главный вайб программирования в связке с занятием любимым делом.
Писать читы на собственную игру это гениально.) Мне очень нравится подобные видео, надеюсь ты сделаешь продолжение)
P.S Читы это весело но хотелось бы анти чит, и мне очень интересно как он работает
Всё предельно просто. Клиент игры отвечает за отрисовку, анимации, ввод юзера, отправку на сервер запросов на передвижение/выстрел/прыжок. Сервер за вычисления, проверку принятых данных, отправку текущей игровой ситуации.
А в видео все вычисления на клиенте и 0 проверок на сервере.
@@wizaral Ну это я примерно понимаю, но интереснее посмотреть как его будут писать и тестировать)
Пентест собственной же игры
Имба видео,захотел сделать шутер на этом движке)
Вот в последней части видео где дробаш стреляет с бешеным спреем я придумал кое что. В общем с таким же спреем можно сделать гранату, окрасить от нее частицы в желтый или оранжевый цвет, добавить возможность ее подбирать, кидать, чтобы она отскакивала и т.п. ну додумай сам и удачи тебе👊
Какой-то tf2 получился XD
Работа впечатляющая! Большое спасибо за ролик
+, не хватает рокетджампов и стикетджампов)
@@simp_Bronya есть рокетджампы, дробовик топ
@@nakidai рокет нет
@@simp_Bronya А дрободан есть
@@nakidai есть
отлично, ты сделал рокет джамп, ждем классы как в тим фортрес
насчет тф щутка
Ну чо сказать, топ топовый, очень круто!
Ждём полную игру!
2:27 получается на OpenGL написал. OpenGL поидеи выполняет работу только с видеокартой(тупо рисует точки и накладывает текстуры). А для 3д мы сами делаем преобразовываем спомощью glm.
Для этого достаточно погуглить, что использует SFML, потому что НЕ использовать графическое апи для графических приложений невозможно
25:52 Уроки математики у средней школы во время второй мировой, видео в цвете
Вдозновляюще. Год назад писал свой опенгл на пайтоне, чтобы понять математику. Очень помогла старая серия статей по этой теме на хабре.
когда не хочешь что-то фиксить: это не баг а фича
В диспетчере лучше показывать сколько миллисекунд занимает операция в кадре (может это только для меня удобнее, так как в других движкам именно количество миллисекунд показывает)
i eto gorazdo tochnee
@Astronomia🇷🇺 мне тогда просто было лень ставить русскую раскладку в xorg
Хотел про Unreal написать, но опоздал. :(
Но появилась альтернативная идея - мы все знаем какую черную полосу переживает Cryengine. Свяжись с ними, помоги. Им Щас ох как нужны новаторы. Может даже название движка изменят на Laughengine. 😁
1. CryEngine уже давно сдох и был полностью слит с исходниками
2. На OpenGL далеко не уедешь и в современных реалиях движки нужно писать на современных API
капец, крутотень!
Что можно добавить:
1.Гранаты
2.Макс. кол-во игроков.
3.Свои скины.
4.Начальный экран.
5.Текстуры.
6.Огнемёт.
7.Дымовую гранату.
8.Флешку.
9.Коктейль молотова.
10.Кастомизацию игрока и оружия.
11.Свои карты.
12.Встроенные режимы.
13.Свои режимы.
14.Лестницы, кнопки, двери и джетпак.
15.Порталы.
16.Портальную пушку.
17.Текстовый чат.
18.Голосовой чат.
19.Эмодзи.
20.Залить движок и игру в стим.
21.Сделать графическую оболочку движка.
22.Добавить UI.
23.Добавить античит.
24.Добавить шарообразные объекты.
Заметь пж.
Возьми и добавь сам, код открытый, что мешает?
@@denzel8028 Я тип знаю только bat файлы и js, я просто предложил
@@qoras ок
18:08 - Золотые калоши из ChikenGun.Кстати можно добавить двойные золотые калоши
замедло и мультиплеер? Как это?
Когда уже 4д движок с Онигири?
Вы превосходный программист, в будущем я хочу стать таким же, как и вы, и даже лучше.
Очень хорошее видео, мне понравилось
топовая игра!
Жаль, что такие видео не в топе
это ахринеть как круто!
Ааа, спасибо что напомнил название этой игры, давным давно её ищу, играл тоже в детстве. Помню прошёл за всех кроме зайца, ведь не мог поймать жабу из пруда
Сможешь ли сделать андроид порт? Мне реально интересно.
Эта идея некаму не нужна:(
Это конечно идея может быть плохой но почему бы не создать простой создатель карт
Например можно использовать обычные фигуры для создания пола стен объектов лифтов
Пользователи смогут ставить свои карты на сервера(если у них будет возможность создавать свои сервера)
Согласен, Vectozavr's Hammer editor не помешает.)
очень интересно и даже что-то понял
Ого, видео!)
Вы гений! Разобраться в электронике, логических элементах, вычислительных устройствах, компьютере, языках программирования, движках...
*Так ещё чуть-чуть и мы увидим целую космическую ракету, собранную с нуля!*
:)
Просто когда надоело программировать и хотелось поиграть:)
Про замещение тебе уже написали, так что не бросай это дело)))
Чел, ты мега крут! Купил твой курс
Сначала сказал что вообще без библиотек , а затем все же использовал библиотеку в то время когда она ненужна ) достаточно было winapi CreateWindow("edit") (в винде) или свой аналог в той ОС где работаешь
@You Tube детектор мамкиных программистов детектед, возьми с полки пирожочек мальчик
@You Tube тебя детектил, так через 7 месяцев ты появился сынок.
20:45 прямо тогда, когда я услышал что на сервере не происходят вычисления, я сразу понял что будут читы! Проверка коллизии пули и игрока, гравитация, все это происходит на компьютере и результат посылается на сервер Ммм)
Круто сделал!
У меня вопрос. Можно ли изменить в игре CS 1.6 вознаграждения? Всегда хотел поставить другие значения в этой игре, но не знал где найти. Не подскажешь куда копать?