Я Написал Свой ИГРОВОЙ Движок С Нуля!
ฝัง
- เผยแพร่เมื่อ 20 ก.ค. 2024
- Захотел изучить то, как работает рейкастинг, а в итоге написал целый игровой движок. Для написания движка я использовал язык Python и библиотеку Pygame. Все материалы из этого видео доступны ниже!
Таймкоды:
00:00 - Как пришла идея написать движок
00:45 - Ищем материалы и ботаем
02:23 - Как работает Raycasting
03:19 - Первые версии движка
03:40 - Первые баги :)
04:06 - Улучшаем движок
05:33 - Что дальше?
Все, что я использовал для создания движка:
• Creating a DOOM (Wolfe...
• Raycasting Algorithms ...
• Ray casting fully expl...
• How Games Have Worked ...
#gamedev #pygame #python - วิทยาศาสตร์และเทคโนโลยี
Переходи к нам в тг канал, у нас прикольно) А еще мы запустили наш дискорд сервер!
t.me/maslyonokkk
Да начнется срач между людьми которые не разу не писали на Python но по мемам думают что он такой себе !!!
Я пишу код на Python и он хорош, да попробуйте воспользоваться Cython, все кто против
Питон хороший язык, я сам использую его как основной, его скорость разработки и удобство для меня на высоте, однако все же скорость разработки выходит боком для скорости выполнения, поэтому хоть и на питоне можно сделать кучу всего, но в продакшене движок на питоне будет не слишком эффективен
никто не думает, что он такой себе
не редко С++ проект пишут сначала на питоне, а после переписывают на С++, так как второй быстрее в выполнении , а 1 в написании
Ну такая себе предъява, прямо как питон)
Это видео выглядит, как перезалитое с какого-то популярного канала. Интересно, динамично, большой респект)
Не перезалив, только начинаю снимать)
vectozavr kanal posmotri
Так и есть. Основа заложенная Кармаком которую сей мистер скопипастил. Все уже давно придумано и все давно уже есть в открытом доступе
@@maslenokyo не слушай их, красавчик круто сделал)
@@WildLizzardи что, он же делает сам, давай вообще перестанем выпускать любые видосы по любым темам так как все уже давно было где-то
Очень крутая подача, с 1 минуты думал, что попал на 1 млн подписчиков канал, а видео старенькое, просто только сейчас попалось мне в рекомендации. Когда пролистал в комментарии удивился, что всего 571 подписчик.
Вкусная подача, продолжай, удачки! с:
Отличное видео!
Хотелось бы ссылочку на гит и небольшие отрывки самого важного кода с пояснениями, к примеру для отрисовки, коллизии и тд.
Продолжай в том же духе!
Жду продолжения с объяснением математике❤
Хорошая подача, продолжай, и удачи с дижком
Красава! Продолай в том-же духе!
Кто из питонистов в припадке юношеского энтузиазма не баловался с рейкастингом. По сути, особенность такой графики заключена в одной функции рендеринга. Движок от демки отличает наличие простого редактора, поэтому ждём редактор. Я когда-то давно делал рейкаст игрушку, напридумывал алгоритмы, но без редактора работа с самописным "движком" была очень душной.
Хорошие видосы! Удачи в развитии канала)
Мне кажется, что движок от демки не отличает наличие интерфейса. Движок может быть и без интерфейса, а может быть просто удобным фреймворком, но не движком : D
Тут скорее от всего функционала зависит, а не только от наличия интерфейса.
(но я впринципе много игровых движков не знаю, поэтому в пример мне привести нечего)
@@mrwek кто сказал что редактор должен иметь интерфейс 😏
@@wolfdobrov кстати да, интересный ход мыслей : D
Прикольно вещаешь, мне зашло!
Отличная работа!
Очень хороший ролик, продолжай в том же духе!
Классное видео. Продолжвй в том же духе
полезно и интересно, спасибо)
Если я правильно понимаю, то ты использовал сеточную систему отрисовки объектов.
Т.е. ты задаёшь рисунок на полу, а высота блоков достраивается автоматически и скорее всего одинаково для всех объектов одного типа.
В глубокой теории это может жить, но как по мне куда интереснее будет изучить рендер на основе вершин. Плюс это тебе даст возможность рендерить объекты напрямую из блендера или другого приложения для моделирования
какой еще "глубокой теории"? 😂
видели игрушку такую, дум называется? там прекрасно реализовали разную высоту стен, разную высоту пола, сложную геометрию. другое дело, что автор не программист и, скорее всего, остановится на том, что у него сейчас есть
@@doodocina утверждать ничего нельзя, я надеюсь что проект будет жить и всё это хотя-бы перерастёт в клон дума или вульфенштейна на пайтоне
@@python-god Мне кажется не сделали еще тот компьютер, на котором пойдет клон дума на пайтоне ).
@@alexperemey6046 клон дума на пайтоне можно запустить где угодно в 30-60 фпс гарант. Посмотри об этом ролики на ютубе
@@alexperemey6046так уже есть видос на Ютубе где один человек полностью воссоздал дум на при помощи PyGame
недавно услышал интересную идею по поводу улучшения рейкастера. можно попробовать добавить небольшой постпроцессинг впихнув в рендер текстур карты нормалей. в теории можно будет даже без шейдеров обойтись.
ещё советую почитать про рендер полов в рейкастинге, если ты этого ещё не сделал разумеется. ну и да, выглядит очень круто для канала с таким маленьким количеством подписчиков, надеюсь что увижу взлёт твоего канала среди ру геймдев сектора хд
Так чем более сложные и специфические вещи, тем меньше подписчиков на канале. Популярные ресурсы с серьезным контентом по программированию - это 20-40К подписчиков максимум...
классный ролик, жду продолжение
Спасибо очень классное видео!
Рот болит,а в попе больно
Питонистом быть прикольно
быстро, понятно, круто!
чувак, ты очень крут, продолжай
Отличное качество для самого первого видео на канале! Отличный монтаж, сочное превью, сценарий динамичный, а время видео - просто золотое сечение! Уверен, в будущем твой канал сможет стать 100 тысячником, если не милионником! Не сбавляй темп, ведь твой контент просто топчик! ❤
Спасибо, дружище)
@@maslenokyo да, качество топ, такие каналы обычно быстро набирают, главное темп выпуска не сбавляй
Хотим продолжения!
прикольно :)))
мегахорош, лайк)
хмм довольно интересная подача. Если бы я не знал все термины, всё равно бы понял
Вижу, канал новый, аудитории ещё не набралось, но могу пожелать удачи, у тебя есть большие потенциал, и если не будешь сдаваться, то канал станет успешным.
Продолжай!
Я твой 134 подписчик! Надеюсь когда-то канал взлетит и я стану олдом)
Я тебя запомню ;)
У тебя большое будущее, отвечаю)
Спасибо, увидим)
Крутой ролик❤
Круто! Если будешь добавлять всё больше нового в свой "псевдо-3D движок", то он может стать неплохой альтернативой ursina, panda3d или может быть даже Godot! Однозначно подписка + лайк! Видос очень зашёл, жду продолжения. Сделай какой-нибудь удобный редактор карты, где можно будет просто редактировать твой двумерный массив карты, а также управлять текстурами на блоках
Да чего уж там, давай сразу альтернативой Unreal Engine)
Альтернативой Годот не станет, поскольку Годот - это не 3D движок.
@@alexperemey6046 годот это 3д движок.... посмотрите в интернете
@@Anton-jl2uh замах интересный, но анрил всё-же будет побыстрее
Очень интересно
0:13 ух бро…. Там ТАКОООЕ сделать можно…. Недавно вот полноценный 3д завезли
Как называется тема в vs code?
И да, лучше изучи bsp алгоритм и сделай что нибудь по типу квейка 1 или дума, куда интереснее будет)
ВалюА!))))))))))
Я когда то занимался таким было трудно но интересно, но я хотел бы увидеть позде возможность быстро собирать игры❤
Жду продолжение
Где ссылка на гитхаб?
По поводу продолжения - продолжай. Выбери как куллить стены - порталам или bsp.
О! Вероятно это видео Smilesick было! )
Давай ещё!
DOOM 1993 года самый первый шутер на примерно таком движке
Круто
Блин, крутой видос, жду продолжение
Когда я баловался с рейкастом, я вышел на пределы карты, и в итоге карта генерировалась процедурно, т.к. из оперативы бралось куча мусора (вышел т.к. рукожопно написал ограничение)
конечно делай
гуд видео
1:21 скажи мне что это не то аниме, о котором я думаю.
Хорошая работа! Жду продолжения!
Где ссылочка на гитхаб?)
что за шрифт у тебя?
Интересно будет переписать твой движок на более низко уровневом языке, таком как C, C++ или вообще Rust
Пхпххпхп, дел то, пишется за час, только смысл?
Интересно, в каких играх вообще анимации от нейронки 🤔
продолжай
Так, чтоб не копипастил, скажу что мат анимации делаются в либе manim на пайтон)
#Мы хотим продолжение!!
Я написал игровой движок на юнити
В нём есть комната где спавнятся враги и ты с пистолетом по ним стреляешь и набираешь очки
Это лучший игровой движок:3
Ты написал движок на движке?
@@letovintaiga не, это угар просто
Брат, что за шрифт в превью?
Мощный
молодец
Экстрим код?
Подписался из за айсака на аве
я сначала думал что это канал с несколькими сотнями тысяч сабов. Слишком годно для старта!
Спасибо!
Я правильно понимаю что на верху окошка - фпс? А то у тебя он до 45 падает в последних футажах и мне интересно по оптимизации всего этого дела ты уже что-нибудь придумал? )
Это же Питон.
Да, это фпс, без записи показывает стабильные 60-55, но про оптимизон подумать конечно стоит
если бы это был бы гайд тебе бы цены не было,а так видео годное
У Standalone Coder есть плэйлист с гайдом
Ебаный рот, смотря подобные видосы, я понимаю, насколько я эмбрион в программировании и даже не знаю, хватит ли мне вообще сил сделать хотя бы что-то примерно похожее (сейчас 20-й день изучения C#).
Не важно, с какой скоростью двигаешься, братишка, главное не останавливайся
Ахаха, жиза, тоже шарп изучаю и по совместительству первый мой язык, чувство что я одноклеточный меня не покидает
Проду!
Ты крутой
Мегахарош, приглашаю к нам в комьюнити
Что за комьюнити?
Как-то сделал игровой движок на годоте, было прикольно
Что? Годод ето уже готовый 3д движок зачем на нем делать движок?
@@user-cc9nm3si8k в этом и была шутка
Ты сбертранер
Бро рил назвал Scratch детским движком 💀💀💀💀💀💀
Вдохновился Азозингом?
Брух… Голый рэйкаст, который писать от силы день - далеко не весь игровой движок 🤷🏻♂️
Как бы все зависит от игры. Игровой движок - это не что-то из области магии и единорогов - это просто базовый алгоритм, который описывает всю механику твоей игры.
Я не геймдев, и не питонист, но зачем-то это посмотрел :) Было интересно, удачи!
5:25 - что ты несешь, это пистолет из wolf3d!
Монтаж хороший, но я вобще не понял, зачем это видео. Ты сам сказал, что видосов на эту тему полно
крутое свежее дыхание и взгляд на старый видос вектозавтра, респект
А почему на питоне пишешь? А не на c++, так же легче и быстрее
опять диванные сеньйоры советы дают)
@@Olavr_UA Графика вулкан, cuda, opengl, это на базе c++ делается и трубопровод загрузки вершин и текстур в движке нужно писать на плюсах т.к. это нагрузка на ЦП не малая. Большенство нормальных движков на с++ по этой причине а на питоне даже не знаю есть ли вообще и зачем в ЦП нагруженном приложении ещё и на интерпритируемом ЯП писать движок и дополнительно его нагружать?
Гигачад! Очень интересно находить такие маленькие, но интересные каналы
Единственный минус - это питон! Нужно кодить на плюсах, или на чем угодно кроме питона)
node js круче питона
@@rutrin666 английский язык лучше
Не понял придирку. Человек выбрал питон, и если у тебя есть к нему не приязнь, и ты такой любитель плюсов, то не смотри. Очередной стереотип(хотя я думаю ты сам плюсы не знаешь, хотя не кто их не знает фулл).
Зачем плюсы, если есть numba?
@@galefight бля языку лет 30 а он досихпор медленный
Сделать игру на быстрых компилируемых языках: C/C++, Rust: нет
Сделать игру на очень медленном python: да!
Сделать нормальный 3д: 😍😍👍👍
Сделать 3д на рейкастинге: ☠💀💀
А что такого? Нормальное 3д с нуля очень сложно.
что значит "нормальный 3д"?
@@Super_sonic228 Не сложно. Рядовая задача для программиста. Конечно под конкретную задачу, а не универсальный набор инструментов как в Анриле, но тем не менее.
Сделай простой Юнити воттак. Типа с настройками, редактором уровней и тд.
Никогда не думал, как работали игровые движки, благодаря тебе офигел от масштаба знаний разработчиков😱
Как оказалось, это не просто сделать болванку в Unreal на Blueprintе 😏
Видос - бомба 💣
Получилось очень интересно, очень удивился, когда увидил количество подписчиков на канале, мегареспект
Я без движка на джаве под андроид делаю что-то подобное на данный момент. Продолжай делать я подписался.
Крутое видео, один минус - python. Многие не понимают этой придирки, поэтому я поясню. Python, даже если отбросить всю мою нетерпимость к нему, для разработки игр совершенно не подходит. Его философия заключается не в скорости выполнения, а скорее в качестве кода. Всë тот же C окажется в этом плане лучше, хоть код на нем будет чуть сложнее. За C++ вообще ничего говорить не буду, те кто хочет боль тот пишет C++, все просто. Придирка эта не про текущий момент, а про переспективу, и ограничения, которые даëт python. И да, python - язык нубов. (Это сказал человек, который знает больше 8 языков программирования, и среди которых python' а нет. )
уважаемый комментатор - вы мало того что клинический идиoт, так еще и врун, который приписывает себе несуществующие достижения думая что это как то усилит значимость твоего мнения (иначе объяснить твой высер не представляется возможным)
какая разница на чем писать, если ЯП это не более чем инструмент для выражения алгоритма?
человек выразил свой алгоритм на том языке который оказался для него максимально удобен, и выбор питона здесь как достаточно простого языка с расширяемой архитектурой очень хороший выбор
если ты написал на восьми языках программирования hello world это не значит что ты знаешь язык
Движок на Питоне? Сомнительная идея...
А слабо с нуля и единицы??