Очень круто, но я немного не допёр по какому принципу ты определил пересечение со стенами)))
@StandaloneCoder
4 жыл бұрын
Все несложно. У нас стена, это квадрат на карте, у которого есть только координаты левого верхнего угла, допустим (100, 100) и размер стороны квадрата 100. И, например, у нашего луча сейчас координаты (113, 159). Так вот, чтобы определить в каком квадрате наш луч, необходимо целочисленно поделить координаты луча и затем умножить их на размер квадрата. ( (113 // 100) * 100, (159 // 100) * 100 ) = (100, 100). То есть, мы попали в квадрат, и проверку на этом завершаем.
@TGrod
4 жыл бұрын
@@StandaloneCoder спасибо! Теперь всё ясно. Я просто упустил тот момент, что мы как бы рисуем луч не сразу целиком, а постепенно, и на каждом шаге проверяем находится ли он в квадрате. Я просто думал, что мы сразу целиком рисуем луч) И ещё раз прошу продолжать делать видео. Не забрасывайте это дело))
@geeksamurai9852
4 жыл бұрын
@@StandaloneCoder Здравствуйте, спасибо за урок, отлично объясняете, но у меня проблема такая вот,у меня все получилось отлично только вот лучи на экране остаются и когда я двигаюсь они тоже показывают направление, я про лучи которые показывают обзор, когда вы сделали графику от 2д до 3д то у вас они исчезли а у меня нет:(
@guitaresstv6777
3 жыл бұрын
@@StandaloneCoder привет, а какую среду программирования ты используешь?
@StandaloneCoder
3 жыл бұрын
@@guitaresstv6777 PyCharm
@emily-jv9xx
4 жыл бұрын
Вот спасибо, ну хоть один нормальный человек!!!
@ronews4723
3 жыл бұрын
а што делать есле нехочет поворачивать я все проверил
@sadboy8538
3 жыл бұрын
@@ronews4723 if keys[pygame.K_LEFT]: self.angle -= 0.02 if keys[pygame.K_RIGHT]: self.angle += 0.02
@shangtsung9935
2 жыл бұрын
@@sadboy8538 я хоть и не вовремя, но у меня такая проблема возникла, лучи, что должны сталкиваться со стенами и поворачивать вместе с игроком не поворачивается, сам игрок поворот делает спокойно, а лучи нет. Я, может быть, что-то пропустил, но я несколько раз перепроверил код, не могу найти причину.
@sadboy8538
2 жыл бұрын
@@shangtsung9935 даже не знаю что нужно сделать :(
@shangtsung9935
2 жыл бұрын
@@sadboy8538 печально, но все равно спасибо.
@thzeroucken
4 жыл бұрын
Ну, теперь у меня есть стимул учить математику с синусами и косинусами. Ты лучший)
@ronews4723
3 жыл бұрын
а што делать есле нехочет поворачивать я все проверил
@Yan_Yagellon
3 жыл бұрын
@@ronews4723 учить русский язык
@ronews4723
3 жыл бұрын
@@Yan_Yagellon и зач он мне
@frostyk097
3 жыл бұрын
@@ronews4723 ахвхахх логично))
@tahirsalihov4458
3 жыл бұрын
Тригонометрия называется
@Jackson-yr9ih
3 жыл бұрын
Спасибо ОГРОМЕЙНЕШЕЕ за столь изложенный гайд! Не ожидал от себя, что разберусь полностью в такой проекции. Функция enumerate() конечно неплохая, но когда о ней ничего не знаешь, ловишь себя на мысли, что непонятно, что вообще она вытворяет в программе. Положа руку на сердце напишу, что следующий алгоритм наверное более понятный и дружелюбный для такой цели, как граббинг всех координат квадратов: world_map = [] y=0 for line in text_map: x=0 for sign in line: if sign == 'w': world_map +=[(x*tilesize, y*tilesize)] x += 1 y += 1
@vrabosh
4 жыл бұрын
афигеть, в 15мин пояснить как делать 3д лабирин с ходьбой, это круто.
@flane2188
3 жыл бұрын
Ага, был бы другой автор, растянул бы видео на час
@ronews4723
3 жыл бұрын
а што делать есле нехочет поворачивать я все проверил
@ohnocoder
2 жыл бұрын
@@ronews4723 Решил?
@kozlik992
2 жыл бұрын
16 минут 14 секунд)
@HibikiKanta1
2 жыл бұрын
@@ronews4723 решил?
@МихаилИсаков-о5б
4 жыл бұрын
Ля, видео новое, всё понятно объясняется, как же я рад что нашёл это видео
@aparrot4254
3 жыл бұрын
You know this is good content when you don't understand Russian but still get entertained. Keep up the good work!
@se3122
4 жыл бұрын
Бля чел, ты лучший Реально развивающая тема а не питон за час у Хауди хо
@JustRixed
2 жыл бұрын
Типичный Хауди Хо: Ого! Ты умеешь писать команду print()! Теперь напиши 4Д игру с шейдерами и HD персонажами на Python только с модулем pygame!
@laifodes2805
3 жыл бұрын
лучшее видео что я видел по играм, столько новой и полезной информации, а главное - кратко и понятно.
@brawaga
3 жыл бұрын
Не везло вам, видать, с рекоммендациями от ютуба.
@snowdaledwarf3929
Жыл бұрын
Спасибо огромное! Лучшее объяснение алгоритма рэйкастинга из тех, что мне удалось найти, в том числе и на английском языке!
@mr.den4ik968
3 жыл бұрын
Офигеть вы крутой программист-математик! Вот зря я науки не учил... Вообще крутой специалист! Удачи и хорошего вам будущего и побольше такие видео выкладывайте!!! Вам бы профессором в университете быть + науки преподавать разные, помимо программирования!
@Несмешнонесмеемся
3 жыл бұрын
огромное спасибо за ваш труд! единственная серия роликов в которой подробно и понято рассказано про ray casting, по вашим видео сделал шутер на C++ и библиотеке sfml
@iprepperGames
2 жыл бұрын
Несколько раз пересматривал видосик, очень помогло написать свою игру. Эта озвучка такая клёвая, жаль новые видео не с ней. Спасибо за контент.
@АлександрЛынник-з4ь
2 жыл бұрын
Вы лучший! было бы не плохо, если вы посвятите несколько видео уроков, нейронным сетям, с нуля естественно)
@chessprogramming591
3 жыл бұрын
Enjoyed reading through the code! Very didactic! Thanks man!
@mynameisArseny
2 жыл бұрын
Ваууууууууууууууууу, никогда не думал что 3d игру создавать очень просто, а то создавал раньше только 2d, думал другое сложно
@LifelessAl
3 жыл бұрын
Это же Hovertank 3D! Просто история жанра FPS перед глазами) Просто нереальное спасибо!
@PwnUrBadCock
4 жыл бұрын
Вот это уникальный контент. Лови подписку. Спасибо большое! Изи 10-100к подписчиков через полгода, если будешь такой контент заливать. Пайгейм модуль очень годный, однако по нему нет сложных туторов. Все туторы для новичков модуля. Если еще будешь делать серию, давай какой-нибудь РПГ, Тавер дефенс или что-нибудь в таком роде.
@КостяЕжов-я3б
Жыл бұрын
Я никогда раньше не думал, что математика может когда-то пригодиться в таком масштабе. Я просто охренел от твоих знаний. Лайк и подписка однозначно!
@LiVViN-t7z
10 ай бұрын
Бро ты легенда только благодаря тебе смог понять принцип работы "простых" Игр и делать их зная базу питона
@Владимир-з9ь6н
9 күн бұрын
молоца ❤ 😊
@user-wx7ji9jv3j
3 жыл бұрын
Лучший .Очень и очень интересно, а главное круто.
@gargyorpiest6047
4 жыл бұрын
Почему я никогда не знал об этом канале! Вау!
@lewdagone3153
4 жыл бұрын
Надеюсь выйдет 2ая часть урока!👍👍
@StandaloneCoder
4 жыл бұрын
Да, стал работать над второй частью
@kostya327mailru
2 жыл бұрын
Офигеть, просто супер, не ожидал, что такое возможно)
@okoloboga-37
Жыл бұрын
Я вот бедолага-аналитик, изучал python для построения нейронных сетей и анализов, но всегда хотелось игры делать. Но не их готовых конструкторов, как юнити и анреал, а что бы самому понимать и прописывать физику и законы мироздания. Везде читаю - нужен только Си. питон - тормоз, игры на нем не лепят. И чо. мне язык что ли переучивать? Причем в ущерб математическим возможностям питона. нееее, я начал верить, что найдется спаситель - и покажет мне всю мощь математики и лучшего для нее языка программирования. ЧУВАК СПАСИБО, ТЫ ТОТ САМЫЙ СПАСИТЕЛЬ!!
@ThA891
4 жыл бұрын
Пиздец! Да я бы в жизни сам не разобрался! И Тут даж бутылка бы не помогла... Теперь все понятно! Спасибо тебе огромное! Буду разбираться более конкретно что до как по твоему коду, а то с первого раза не все в голове уложилось. ))) Как сделаю игру обязательно скину тебе ;) P.S. Первый!))
@кточтотин
4 жыл бұрын
Не первый) он первее о моей узнал
@uralfgdhjvc-324
3 жыл бұрын
Я также смотрел ваш урок по деланью змейки. Тоже классно!
@elio27
3 жыл бұрын
Don't understand a word of russian but it's really cool !
@евгенартемьев-н8у
Жыл бұрын
Дядя ты гений. Так все быстро сделал. Браво.
@faseplay.
4 жыл бұрын
Делаю 3д игру на JavaScript + CanvasAPI по вашим урокам) Очень интересно, я понял как всё работает, уже до конца. Спасибо
@StandaloneCoder
4 жыл бұрын
Рад слышать!
@СергейКоновалов-ф4ы
Жыл бұрын
Добрый день и спасибо большое за видео, недавно начал изучать питон и сделал 1 игру в виде галаги. На основе данных уроков сделаю 2 проект. Большое спасибо за ваш труд.
@erizy4523
7 ай бұрын
Большое спасибо за видео. Честно ,удивился , когда узнал что можно делать 3д игры в Python с помощью математики Подписка и лайк с меня
@anikub2738
2 жыл бұрын
Я только начал смотреть но уже очень круто, возможно такими темпами на день рождения брата сделаю ему рейкастинг одной игры которую он любит ещё с ps1
@wizard3374
4 жыл бұрын
Топ, хоть и голосом робота но это ничуть не мешат
@LainnMapperYou
4 жыл бұрын
У него микрафона нету
@Vitaliy-ct2wv
4 жыл бұрын
голосом робота даже круче
@Lifad7
2 жыл бұрын
По поводу момента поворота линии в 5:35 Перемещение точки осуществляется путём нажатия W, A. S, D. И у многих затем появляются вопросы на подобии: "У меня линия постоянно смотрит вправо". Изменение поворота линии осуществляется путём нажатия кнопок со стрелочками .
@SteelNoodles29
Жыл бұрын
У меня линия постоянно смотрит вправо, при этом не реагирует на стрелочки или еще что то что могло их напоминать. что делать?
@fastwalker3551
Жыл бұрын
@@SteelNoodles29 тоже самое, я хз что делать
@maxdimosca1106
10 ай бұрын
Что делать если вообще не двигается? В 3D не работает, а в 2D спокойно?
@Coldaser
4 ай бұрын
Что делать если линия не ходит за игроком
@blackfox4035
4 жыл бұрын
Спасибо большое, ты заслуживаешь больше подписчиков!
@DenisTrebushnikov
3 жыл бұрын
как человеку, с бухты барахты поставленному на должность техартиста, удивительно было узнать, что под капотом.
@aresont9372
4 жыл бұрын
Кто лайк зажал? Раскошеливайтесь жмоты!
@ronews4723
3 жыл бұрын
а што делать есле нехочет поворачивать я все проверил
@doctor7628
3 жыл бұрын
да ты просто рукожоп, у меня лично все работает
@ArtamonHelloPython
3 жыл бұрын
@@ronews4723 да
@lovie_minor
3 жыл бұрын
@@doctor7628 токсик
@alekseyzaretskiy5757
4 жыл бұрын
И наложение текстур интересно, и оптимизационная часть, сам бы 100 лайков поставил, если бы мог) Оптимизация, часом, не использованием формул нахождения персечения двух отрезков?
@StandaloneCoder
4 жыл бұрын
нет, я предложу использование своей версии DDA алгоритма
@alekseyzaretskiy5757
4 жыл бұрын
@@StandaloneCoder Интересно
@mhdmodocluber9591
4 жыл бұрын
Ура, спасибо! Ты услышал меня
@БобСмит-ш5м
4 жыл бұрын
Ты лучший челлл, продолжай дальше
@ASW_StormOfficial
Жыл бұрын
не ну я подофигел кончено я не думал что в питоне хпхпхахаха это возможно))) респект. рендеринг конечно я понимаю что это основы основ но СУПЕРСКИ сделан ои подано
@bebrozavr228
Жыл бұрын
запомни, в любом языке программирования возможно всё, кроме того, что нарушает законы физики
@valdankartoshkin9010
2 жыл бұрын
Пора делать свой Wolfenstein 3d
@bjj1423
Жыл бұрын
Учу питон неделю)) но походу зайду сюда позже))))
@cheeseman_93
Жыл бұрын
Интересно и прикольно, конечно много вещей тут мне пока не понятны но многое от сюда тоже можно взять
hi, i just want to say that I REALLY appreciate the english subtitles!
@tvitit1228
3 жыл бұрын
это очень хороший урок!!! лайк, подписка, колокольчик этому человеку :-)
@ЕгорЗверев-й8к
3 жыл бұрын
Это магия какая-то!)
@ВладИщук-ь6л
9 ай бұрын
Чувствую себя тупым посмотрев это видео)
@yanwhite5407
4 жыл бұрын
Ты очень крутой, спасибо тебе.
@techos3253
4 жыл бұрын
Все спасибо пошел делать guns of bullshit
@Hanovski14
2 жыл бұрын
Автор : все мы прекрасно знаем * какая-то формула из тригонометрии* Я тот который не понимает триганометрию : :/
@СвятославХренов
2 жыл бұрын
David Beats + программирование Чел ты гений
@uralfgdhjvc-324
3 жыл бұрын
Спасибо! Очень классное видио!
@aresont9372
4 жыл бұрын
Поздравляю с сотней подписчиков!
@StandaloneCoder
4 жыл бұрын
Спасибо!
@inksans-gl8mt
4 жыл бұрын
Брат ты крут
@daniilponomarenko311
3 жыл бұрын
Очень круто спасибо большое)))
@Muzaffarkhon
2 жыл бұрын
Спасибо тебе большое. Помог при вызове других файлов.
@VitaliyZhdanov
10 ай бұрын
Бля, этот голос просто топчик😂😂
@denishaleckiy8303
2 жыл бұрын
Если бы такую математику преподавали в вузе, я бы ее учил
@ASW_StormOfficial
Жыл бұрын
Мужик кайф. но делай просто угол направления = direction а вперед вбок и назад - это direction+90 direction-90 direction -180 имея угол - расчитай вектор горизонтальной скорости и вертикальной скорости - x += cos(direction) y += sin(direction) вроде так. и так ты и пулю кастовать можешь. не только шаг.. или ты об этом и сказал я хз) * что я имею ввиду -ОДНА формула для всех движений игрока :) зависящая от view_direction
@Maine__Coon__1
2 жыл бұрын
Я 0 в питоне, но уже хочу игру такую, хоть повторить...
@T2x2Narezkii
3 жыл бұрын
Просто топ, я всё понял сразу же)))
@gandrew8102
2 жыл бұрын
Можно было бы 2д карту уменьшить и оставить в левом нижнем углу как в гта)) А также вывести fps на экран, но я чтото не понял пока как
@Byt3pixe1
4 жыл бұрын
годная инцтрукция. спасибо сегодня буду пробовать
@kh6521
3 жыл бұрын
Супер!!! Спасибо, дружище!!!
@aresont9372
4 жыл бұрын
Круто!
@АнтонПивненко-б4б
4 жыл бұрын
Спасибо! Луди думают что 3д это блендер, 3д макс и т.д. Нет! Это просто работа нашего МОЗГА... Очень наглядно и по русски. Спасибо!
@ДмитрийН-э8р
4 жыл бұрын
ТОП ТОП ТОП!!!!! Очень круто
@justpret981
Жыл бұрын
Отличный туториал, сам по нему делал игру, но я тут понял, что рейкастинг немного тупая технология, я хочу сказать что мы знает координаты игрока и его угол поворота и мы знаем всю карту, более того, карта состоит из квадратов, значит мы можем провести вектор от точки игрока до вершины и получить сразу ее координаты, так делать для каждого элемента карты, что в поле зрения и что виден. Затем получив лишь нижнюю точку вершины уже на экране можно получить верхнюю просто отразив её относительно горизонта, затем получить второе ребро точно также, затем залить это полигоном.
@justpret981
Жыл бұрын
Я реализовал это, но ещё карта - это набор вершин. Это было чуточку труднее рейкастинга, но оно того стоит! Суть такова: Перемещаем систему координат к камере, поворачиваем систему координат на угол поворота камеры. находим проекции векторов от вершин к камере с экраном. На основе расстояния вычитываем размер. там где была проекция - строим отрезок заданного размера. добавляем вершины в стек и рисуем полигон. Вуаля! У меня на карте с +-300 вершинами 400 фпс. Это получается какой-то полигональный рейкастинг, но без рейкастинга.
@pol3ik525
3 жыл бұрын
Спасибо огромное помог выручил лайк!!!!
@kid3714
4 жыл бұрын
Спасибо,продолжай !!
@iliiakozhan5163
4 жыл бұрын
Оч круто!!! Расскажи про натягивание текстур на такие стены
@artempaskevichyan1275
3 жыл бұрын
Спасибо огромное, сильно помог, очень интересно
@scaffus
3 жыл бұрын
I don't understand any word but this man is a genius
@umbrellaeducation5993
3 жыл бұрын
Yeah but as far as understood
@frostyk097
3 жыл бұрын
Завтра попробую есле время будет, а так все прикольно
@антонвасиленко-п6ж
4 жыл бұрын
Ты молодец продолжай. молодец
@nandreyk
4 жыл бұрын
на моменте отрисовки лучей начинает сильно лагать, не могу понять с чем это связано, ноутбук далеко не кирпич. А уроки в целом отличные, узнал очень много нового p. s. посмотрел следующий ролик про оптимизацию и все понял, спасибо)
@isn81
2 жыл бұрын
@SEMKI TV у меня сильно лагает, как решить?
@ghj_bmx
4 жыл бұрын
Спасибо папаша за это видео 3 питона хорошого обяснения
@thefikus1275
3 жыл бұрын
Многие моменты не понял. Но узнал много полезного.
@martibeats2119
2 жыл бұрын
Спасибо за видео!
@DevlogWriter
4 жыл бұрын
Классно! Спасибо! ))
@bvg129
3 жыл бұрын
В Pycahrm есть шаблон prop, который автоматически вставляет свойство. И геттеры, и сеттеры, и делетеры тоже. На 4:14 пригодился бы
@mickey5995
3 жыл бұрын
Респект
@alexru4288
3 жыл бұрын
подписался классно
@strimerpocketants9359
2 жыл бұрын
Это наверное учитель математик решил сделать мативацию учить его урок)))
@kewtomrao
3 жыл бұрын
Thanks for the eng subtitles
@City__Walker
2 жыл бұрын
кто не заметил изменение в 16 строке ох тот попал в историю :)))
@autocar4887
3 жыл бұрын
Ты просто гений!
@pythonIsTroll
2 жыл бұрын
Спасибо огромнейшее
@int_knight7413
3 жыл бұрын
EXCELLENT!!!
@nakidai
2 жыл бұрын
0:10 икрой? ну да, можно удивить
@VAVANSTR
3 жыл бұрын
В следующий раз если делаете серию видосов, размещайте плиз на главной картинке номер серии (части), а то когда репостишь ваши видосы например в вк, то там приходится помучиться, чтобы понять где какая час обучающего ролика.
@lalathealter6513
3 жыл бұрын
за такое грех лайк не поставить
@Milashnaya
4 жыл бұрын
👍👍👍
@blackgame2656
3 жыл бұрын
У меня луч зелёный не так вертится, подскажи что делать. Вроде код чисто такой же как и у тебя
Пікірлер: 660