Как сделать 3D Игру на Python с Нуля [ Часть #3 Текстуры ]

Поделиться
HTML-код
  • Опубликовано: 2 окт 2024
  • В этом уроке узнаете о том, как наложить текстуры в псевдо (ray casting) 3d игре, созданной, используя Python и Pygame.
    Код:
    github.com/Sta...
    #standalonecoder

Комментарии • 258

  • @store38ru
    @store38ru 4 года назад +52

    Ты удивительный!!! Не могу остановится смотреть твои видео по разработке этой игры! Давай еще минимум 10 хотя бы видео по этой игре, пожалуйста (чтобы был конкурент GTA3))))!) У тебя реально такие крутые видео что ради еще нескольких таких выпусков я готов тебе 500 рублей задонатить 😊

    • @mopkoBbka
      @mopkoBbka 3 года назад +1

      У меня чувак ходит через стены. Что я пропустил?

    • @default5143
      @default5143 3 года назад +3

      @@mopkoBbka Это в следующих уроках

    • @vladyslavstadnyk2762
      @vladyslavstadnyk2762 3 года назад

      @@mopkoBbka я это еще в первом уроке исправил. Хотелось хоть что-то сделать самому :D
      Хз как он его там дальше делал, не дошел еще
      Тупо проверяя, не является ли мой текущий х и у, к которым прибавился шаг по направлению луча (speed*abgle) в пределах блока со стеной, то есть среди координат в списке координат карты уровня. И только если не равны, то тогда уже шагаем вперед.
      Типа такого
      if keys[pygame.K_w]:
      next_x = self.x + self.speed * cos_a
      next_y = self.y + self.speed * sin_a
      new_x = (next_x) // settings.TILE_SIZE * settings.TILE_SIZE
      new_y = (next_y) // settings.TILE_SIZE * settings.TILE_SIZE
      if [new_x, new_y] not in level1_map:
      self.y = next_y
      self.x = next_x
      if keys[pygame.K_s]:
      prev_x = self.x - self.speed * cos_a
      prev_y = self.y - self.speed * sin_a
      new_x = (prev_x) // settings.TILE_SIZE * settings.TILE_SIZE
      new_y = (prev_y) // settings.TILE_SIZE * settings.TILE_SIZE
      if [new_x, new_y] not in level1_map:

    • @mopkoBbka
      @mopkoBbka 3 года назад +3

      @@vladyslavstadnyk2762 3 месяца прошло. Я уже c# выучил

    • @maynix7685
      @maynix7685 3 года назад

      @@mopkoBbka аххахахах

  • @mhdmodocluber9591
    @mhdmodocluber9591 4 года назад +12

    Куда донатить? Хочу тебе задонатить! Ссылку на DonationAlerts в студию!

  • @DimPerch
    @DimPerch 4 года назад +8

    Чел, ты нереально крут👍👍👍👍

  • @minechannelyt2190
    @minechannelyt2190 4 года назад +4

    Ты реально крутой ютубер👍, а и ещё я только начинаю тебя смотреть и мне нравится! Лайк и подписка😀

  • @aresont9372
    @aresont9372 4 года назад +2

    Как хорошо что рекомендации Ютуб работают хорошо.

  • @fyfbif7744
    @fyfbif7744 4 года назад +48

    Ты просто ахуенный!!!!! Пожалуйста, не забрасывай делать эти уроки, братан!
    Вообщем, нам осталось обязательно сделать:
    1. Меню игры
    2. Врагов
    3. Оружие
    4. Желательно увеличить размер Карты
    5. Декоративные спрайты(лампочки, колонны, цветы, и т п)
    6. Коллизия со стенами
    7. И нужно попробовать сделать переход на следующую карту или уровень
    И ещё можно попробовать сделать:
    1. Зеркала
    2. Стены разной высоты(это можно сделать в рэйкасте, но я хз как. Vectozavr как то сделал)
    3. Мультиплеер(если pygame позволяет)
    4. Текстура пола
    И всё!
    Пародия на Wolfenstein 3D готова :)

    • @mhdmodocluber9591
      @mhdmodocluber9591 4 года назад

      И ещё надо добавить аптечки и пик апы оружия.

    • @mhdmodocluber9591
      @mhdmodocluber9591 4 года назад

      И двери

    • @blackfox4035
      @blackfox4035 4 года назад +1

      Мультиплеер можно сделать, но трындец как сложно

    • @lewdagone3153
      @lewdagone3153 4 года назад +1

      Полностью согласен, хотелось бы повторить!

    • @mhdmodocluber9591
      @mhdmodocluber9591 4 года назад

      Black Fox Ну если хорошо изучить документацию, то ничего сложного. Плюс ко всему у меня есть навык работы с мультиплеером) На UE4 на C++ мультиплеер делал.

  • @the.zolars
    @the.zolars 4 года назад +6

    чьерт, чот problem возникать с импортированием пнг картинки стены, ПАМАГИТЕ!!!!! ПЛИИИИИИИИИЗ!!!!!!!!!

  • @viacheslavsemenov7289
    @viacheslavsemenov7289 3 года назад +3

    когда я запускаю игру, получаю ошибку: ValueError: subsurface rectangle outside surface area

    • @8_bat_8
      @8_bat_8 5 месяцев назад

      такая же ошибка, подскажите как исправить.

  • @РичардДелида
    @РичардДелида 4 года назад +1

    Поздравляю с 300 подписок.

  • @Nove_Under889
    @Nove_Under889 11 месяцев назад +1

    ПРОСТО БОМБА, но скажите кто знает где брать текстуры как у него?

  • @lewdagone3153
    @lewdagone3153 4 года назад +7

    Только вышло,
    уже лайк!

  • @smoke9238
    @smoke9238 4 года назад +18

    Давай только с разработкой не заканчивай, попробуй сделать клон дума(там ещё куча чего сделать можно), будет очень интересно

  • @Vitaliy-ct2wv
    @Vitaliy-ct2wv 4 года назад +5

    очень круто! не забрасывай!

  • @frhadhmdov8287
    @frhadhmdov8287 2 года назад +3

    У кого было FileNotFoundError: No such file or directory. У меня виндовс 10 и у меня сработало сперва нужно как он сказал создать папку и поставить туда фотку а потом скопировать место нахождение фото и написать. Вот у меня вот так получилось.
    self.texture = pygame.image.load('D:\PycharmProjects\pythonProject1\img/1.png').convert()
    Автор пж закрепи потому что у многих такая проблема.

    • @8_bat_8
      @8_bat_8 5 месяцев назад

      все слеши в другую сторону разверни /img/1.png

  • @jackey7737
    @jackey7737 2 года назад +1

    3:25 выдаёт такую ошибку: ValueError: subsurface rectangle outside surface area
    не знаю что делать

    • @serj5931
      @serj5931 Год назад +1

      у меня такое же при запуске

  • @Maksitnumber8
    @Maksitnumber8 Год назад +1

    3:30 почему у меня вместо sc стоит cs, sc показывает ошибку, а ещё вопрос, как ray_casting увидит переменную sc если в него не импортирован main, хотя переменная sc находится в main

    • @fyj4142
      @fyj4142 Год назад

      во-во, то шо мне и надо. Не решил еще? (кстати автор забросил канал так шо можешь не спрашивать ничего у него)

  • @mortdashgd4965
    @mortdashgd4965 Год назад +1

    помогите плз выдаёт ошибку UnboundLocalError: local variable 'texture_v' referenced before assignment ХОТЯ я даже копировал код с гитхаба всё под копирку но ничего не раюотает

    • @serj5931
      @serj5931 Год назад

      у меня тоже самое :(

  • @КаналЗаблокирован-е4л

    Чувак, умоляю!!! Сделай поворот персонаж не через кнопки, а через мышь. А то у меня почему то если мышь не двигать, всё так медленно... Как только шевелю мышь, фпс резко возрастает, и игра летает. Что бы нормально играть надо постоянно двигать мышь, а если бы повороты были через мышь, то игра бы летала)

    • @mhdmodocluber9591
      @mhdmodocluber9591 4 года назад

      Походу у тебя метод управления игрока стоит в цикле for event in pygame.event.get()
      Вытащи его в основной цикл while и всё будет норм

  • @rfd7564
    @rfd7564 4 года назад +1

    очень классно.только жалко что мы не своей головой думаем.Но идея классная.

  • @wizard3374
    @wizard3374 4 года назад +1

    Очень круто го 4 часть

  • @vansi0907
    @vansi0907 Год назад +1

    А какое разширение текстуры должно быть

    • @xerq
      @xerq Год назад +1

      1200 x 1200

  • @carloscarranza8459
    @carloscarranza8459 2 года назад +1

    У вас есть электронная почта, по которой вы можете мне помочь? это мой университетский диплом
    пожалуйста помоги

    • @StandaloneCoder
      @StandaloneCoder  2 года назад

      почта указана в описании канала

  • @lordorbit
    @lordorbit 4 года назад +3

    Очень крутое видео, идеальное объяснение, вот я сам пока 2 часть не вышла, почитал про рэй кастинг, тоже отпимизировал, но вышло в 2-3 раза больше строк чем у тебя. Я еще сделал зеркало, насчёт него тоже было бы интересно увидеть видео, может я опять как-нибудь намудрил) Спасибо большое, очень жду продолжения!

  • @Solomon1228
    @Solomon1228 4 года назад +2

    Привет, очень нравится что ты делаешь!!!!! У меня возникла проблема когда верчу камеру иногда на определенном угле возникает ошибка цитирую : local variable 'texture_v' referenced before assignment
    Гуглил говорит переменная не определена. Что с этим можно сделать?

  • @mhdmodocluber9591
    @mhdmodocluber9591 4 года назад +1

    Ура, 300 подписчиков)

  • @ASW_StormOfficial
    @ASW_StormOfficial Год назад

    Да лаааадно ты Серьезно?????? Текстуры в чистом коде после 3д чистым кодом ?)))) ООООООГГГГГООООНННЬЬЬЬ

  • @антонвасиленко-п6ж
    @антонвасиленко-п6ж 4 года назад

    Все твои видео супер!

  • @UnNkLoV0CVzVNTn6LY5J
    @UnNkLoV0CVzVNTn6LY5J Год назад

    Следующий шаг:
    Сделать мультиплеер с socket :)

  • @vladislav8860
    @vladislav8860 2 года назад

    Столкнулся с проблемой. Фото некорректно отображаются. Резанно что-ли. Что делать?

  • @ASW_StormOfficial
    @ASW_StormOfficial Год назад

    ПИЦЕС!)))) ПИСЕЦ))))
    МУЖИИИИКК ОТКУДА ТЫЫЫ ВЗЯЯЯЛСЯ))))))

  • @alrogast
    @alrogast 2 года назад +1

    Отличнейшие уроки, благодарю! Только один вопрос, не можешь подсказать как сделать текстурируемый пол и потолок? По факту принцип такой же как и у стены, но как отрисосывать горизонтальные поверхности/плоскости, не совсем понимаю.

  • @sosi7550
    @sosi7550 4 года назад +2

    Я нашел 2 бага, из-за первого падает игра. "если войти в нпс то игра начинает сильно проседать и игра падает". Из-за второго пол выглядит очень странно "если создать и войти в просторную комнату то на полу появляется чёрное пятно " В ТОП ЧТОБ @UCa4XUSrCpdpZSmQ-gm5Hbng УВИДЕЛ!!!

    • @mhdmodocluber9591
      @mhdmodocluber9591 4 года назад

      Кто такой UCa4XUSrCpdpZSmQ-gm5Hbng?

    • @sosi7550
      @sosi7550 4 года назад

      эт походу ютуб баганул я говорил про автора этого видео. ¯\_(ツ)_/¯

  • @Hanovski14
    @Hanovski14 2 года назад

    Черт мне как троешнику по матеше, будет трудно но полезно))))

  • @timurcult8310
    @timurcult8310 4 года назад

    лайк не глядя

  • @MINECRAFT-cd5cy
    @MINECRAFT-cd5cy 3 года назад +2

    Зделе все ошибка на создание 2 текстур об local variable 'texture_v' referenced before assisment

  • @Sporling
    @Sporling 3 года назад +1

    у меня почему-то не работает proj_height = min(int(PROJ_COEFF / depth), 2 * HEIGHT) с чем может быть связана проблема у стены фпс всегда падает до 17-20

    • @StandaloneCoder
      @StandaloneCoder  3 года назад

      смотрите дальше, там будет решение

    • @Sporling
      @Sporling 3 года назад

      @@StandaloneCoder там проблема была в другом файле но кое как её решил

  • @yzor_play274
    @yzor_play274 Год назад +1

    что делать если 10 FPS?

    • @Plarchik37
      @Plarchik37 5 месяцев назад

      Выброси компьютер в мусорку...

  • @romanromanovich1392
    @romanromanovich1392 2 года назад

    Делай пожалуйста медленнее я не успеваю

  • @Дигидроген
    @Дигидроген 3 года назад

    Все круто, но слушать этот голос долго очень сложно

  • @FeynFox
    @FeynFox 2 года назад

    Я знаю что видео уже год, но небо лучше сделать скайбоксом, пойду дальше смотреть

  • @РобинзонКрузо-ч4к
    @РобинзонКрузо-ч4к 4 года назад +1

    Поздравляю с 400! Выкладывай урок по спрайтам!!! А, и ещё коллизию надо сделать

  • @n.zhasulan9785
    @n.zhasulan9785 2 года назад

    UnboundLocalError: local variable 'texture_h' referenced before assignment как исправить этот ошибку??

    • @mortdashgd4965
      @mortdashgd4965 Год назад

      У меня почти так-же
      UnboundLocalError: local variable 'texture_v' referenced before assignment

  • @ronews4723
    @ronews4723 3 года назад

    subsurface rectangle outside surface area што делать

  • @mihonsawa
    @mihonsawa 2 года назад

    а ты попробуешь сделать игру baldi's basics на python с ray tracing'ом?

  • @karendof2469
    @karendof2469 2 года назад +1

    Подскажите пожалуйста я 2 месяца учу питон (с практикой),но не могу писать свой код, там базовые вещи могу конечно,но хочу улучшить результат что посоветуете?

    • @StandaloneCoder
      @StandaloneCoder  2 года назад +1

      потратьте время на решение задачек с проекта Эйлера или codewars, сформируется мышление и потом легче будет кодить

    • @karendof2469
      @karendof2469 2 года назад

      @@StandaloneCoder Спасибо большое.

    • @Danyaanl
      @Danyaanl 2 года назад

      Ну что, помогло это? Я бы тоже хотел улучшить логичечкое мышление, чтобы самому научиться писать что-то подобное

    • @karendof2469
      @karendof2469 2 года назад

      @@Danyaanl Да это круто помогает я решил много простых задач,4-5 средних, теперь по тихонько перехожу на сложные.

    • @Danyaanl
      @Danyaanl 2 года назад +1

      @@karendof2469 хорошо, тоже тогда попробую, спасибо за ответ

  • @mhdmodocluber9591
    @mhdmodocluber9591 4 года назад +1

    Ты самый мой лучший Python прогер

  • @sonicstalkergames9279
    @sonicstalkergames9279 4 года назад +1

    Добавь прыжок и ускорение вместо выхода из игры на esc сделай меню , и добавь главное меню и меню выбора уровней в №3 части, и добавь в игру оружие и мультиплэйер в №4 части

    • @blackfox4035
      @blackfox4035 4 года назад

      Он столько не успеет сделать за одну серию

  • @aresont9372
    @aresont9372 4 года назад +1

    Этому ролику неделя, но нового видео нет. Это похоже на конец нашей человеческой расы...

    • @StandaloneCoder
      @StandaloneCoder  4 года назад +1

      Все будет, но чуть позже)

  • @НЛОСКАПВЭСТ
    @НЛОСКАПВЭСТ Год назад

    А какое разрешение нужно на небо ставить подскажите пожалуйста?????

  • @МиланаЛесовая
    @МиланаЛесовая 2 года назад +1

    Проблема: когда заходишь за пределы экрана выдается ошибка local variable texture_v referenced before assigment

    • @Николай-ц1г5х
      @Николай-ц1г5х 2 года назад

      У меня так же, и думаю так же у всех. Скорее всего, это поправит коллизия на следующем уроке

  • @ИванИванов-ь3с4щ
    @ИванИванов-ь3с4щ 4 года назад +2

    Привет, а чем такое псевдо 3д отличается от настоящего 3д? Тем что настоящее на основе библиотек типа open GL и directx?

    • @StandaloneCoder
      @StandaloneCoder  4 года назад +4

      у нас не используются трехмерные координаты (x, y, z), мы остаемся в 2d (x, y) и создаем иллюзию трехмерности. Из-за этого есть ряд ограничений: нет лестниц, вместо 3d моделей - спрайты и др.

  • @disco9330
    @disco9330 2 года назад +1

    У меня offset уходит в минус из за этого текстуры не накладываются. Все вроде правильно но хз что делать

  • @Belui_Volk
    @Belui_Volk 3 года назад

    Стена гнёться при подходе к ней и ошибка когда выхожу за карту

  • @vanya_mironov
    @vanya_mironov 4 года назад

    аааааааааааааааа сложно

  • @flydoggyoffical
    @flydoggyoffical Год назад +3

    Где взять текстуры как на видео?

    • @Kanal_43210
      @Kanal_43210 6 месяцев назад +1

      Нарисуй или пройди по ссылке под описание

  • @ИванЛямец
    @ИванЛямец Год назад

    Очень классно

  • @СергейКитин
    @СергейКитин 4 года назад

    Про - дол - жай !!!!

  • @softwet4341
    @softwet4341 2 года назад

    у меня получилось сделать рейкастинг на си шарп, но после добавления текстур лагает сильно

  • @si0era
    @si0era 4 года назад +1

    Круто ждал этого

  • @WUGQ364
    @WUGQ364 2 года назад

    класс

  • @alexanderpadalka5708
    @alexanderpadalka5708 3 года назад

    🗽

  • @carloscarranza8459
    @carloscarranza8459 2 года назад +1

    Привет, друг, я бы хотел, чтобы ты мне помог.
    Как я могу назначить игроку новую позицию?

  • @driftspick5903
    @driftspick5903 4 года назад

    У меня всё равно выдаёт ошибку TypeError: background() takes 1 positional argument but 3 were given

  • @tuavtorru3041
    @tuavtorru3041 4 года назад +1

    Все твои видео супер!

  • @ЛёшаАркитов
    @ЛёшаАркитов 4 года назад +1

    Братан, я так понял новый урок на следущей неделе?🤩 Надо скорее сделать коллизию, спрайты и оружие, не терпится доделать мою психбольницу) Уже все текстуры даже нарисовал) Поддерживаю того чувака mihlandota, готов задонатить ради следующего урока)

    • @4mada39
      @4mada39 3 года назад

      Ну как там с психбольницей?

    • @bocik2854
      @bocik2854 3 года назад +1

      @@4mada39 он сам походу в ней оказался)))

    • @4mada39
      @4mada39 3 года назад

      @@bocik2854 жалко пацана. Наверное от своих амбиций пострадал.

  • @retrogame6571
    @retrogame6571 3 года назад

    А скажите пожалуйста почему чем я ближе к стене тем текстура хуже?

  • @skrech01
    @skrech01 4 года назад +1

    пожалуйста ответьте мне кто нибудь
    что делать если выскакивает ошибка:
    Traceback (most recent call last):
    File "main.py", line 24, in
    drawing.world(player.pos, player.angle)
    File "C:\Users\Таисия\Desktop\игра на python\drawing.py", line 18, in world
    ray_casting(self.sc, player_pos, player_angle, self.texture)
    File "C:\Users\Таисия\Desktop\игра на python
    ay_casting.py", line 44, in ray_casting
    wall_column = texture.subsurface(offset * TEXTURE_SCALE, 0, TEXTURE_SCALE, TEXTURE_HEIGHT)
    ValueError: subsurface rectangle outside surface area

    • @StandaloneCoder
      @StandaloneCoder  4 года назад +1

      это означает, что прямоугольная область подповерхности выходит за границы текстуры, если не понятно, то просто возьмите разрешения текстур как в уроке

    • @skrech01
      @skrech01 4 года назад

      Спасибо, но я уже сделал

    • @skrech01
      @skrech01 4 года назад

      И это топ

    • @skrech01
      @skrech01 4 года назад +1

      Твои видео очень крутые

  • @Алексей-ъ3л2х
    @Алексей-ъ3л2х 4 года назад +1

    @Standalone Coder, крутые, вдохновляющие и мотивирующие видео, спасибо! А можно ли для raycasting-а как-то прикрутить numba? У меня не получилось и крашится каждый раз с ошибками о неп, вроде "Untyped global name 'mapping': cannot determine Numba type of " и похожими. Дело в том, что у меня FPS больше 25-ти не поднимается, а в одном из видео вы говорили про Numba.

    • @StandaloneCoder
      @StandaloneCoder  4 года назад +1

      Декораторы numba не так просто прикрутить, нужно изучить правила и нюансы построения функций, изложенные в их документации. Возможно я выложу видео на эту тему.

    • @Алексей-ъ3л2х
      @Алексей-ъ3л2х 4 года назад +1

      @@StandaloneCoder было бы невероятно здорово! И еще вы говорили, про ускорение от GPU, а не только на CPU, как сейчас. Для этого надо использовать OpenGL и ему подобное. Слышал, что в Numba вроде есть какие-то флаги, активация которых позволяет подключать GPU для вычислений, это так? И есть ли какая-то существенная разница между такой возможность у Numba и OpenGL, что лучше использовать и как правильно это делать? Можете осветить такой вопрос?

    • @StandaloneCoder
      @StandaloneCoder  4 года назад

      Для работы с графикой конечно надо использовать OpenGL, а вот просто с огромными вычислениями, то можно задействовать для этого GPU при помощи Numba

    • @Алексей-ъ3л2х
      @Алексей-ъ3л2х 4 года назад

      raycasting в примере из этого видео, если я правильно понял, использует только математические вычисления? Увеличится ли FPS, если применить Numba для этой функции? У меня сыпятся ошибки при использования декоратора... Подскажите, пожалуйста, как правильно использовать в этом случае?

  • @igro_mania8622
    @igro_mania8622 Год назад

    Спасибо огромное, благодаря тебе написал первую игру

  • @ДавидС-ы3ч
    @ДавидС-ы3ч 4 года назад

    Что можно сделать в следующем уроке:
    Текстурку пола!
    Голова игрока должна смотреть вверх и вниз так же;
    Управление головой не клавишами, а мышкой;
    Что можно сделать в будущем:
    Прыжок;
    Ломать и ставить блоки (стены наверно должны быть поменьше их мы и будем ломать и ставить);
    Квадратных мобов;
    Посередине курсор в виде + (типа куда смотрим);
    Вид от разных лиц.

    • @blockedchannel7032
      @blockedchannel7032 4 года назад

      Что можно сделать, человек выше уже написал. Что бы делать стены разной высоты нужно думоподобный движок делать...

    • @blockedchannel7032
      @blockedchannel7032 4 года назад

      Каких ещё квадратных Мобов? Майнкрафт на рэйкастинге не сделаешь

    • @ДавидС-ы3ч
      @ДавидС-ы3ч 4 года назад

      @@blockedchannel7032 А как же его сделать?)

  • @prtolem8921
    @prtolem8921 4 года назад +2

    Какой у тебя уровень программиста ? Ну то есть junior, middle или senior?

    • @StandaloneCoder
      @StandaloneCoder  4 года назад +4

      программирование это мое увлечение, не работа

  • @dmitry6988
    @dmitry6988 Год назад

    спасибо за видео, всегда хотел сделать 3д игру:)

  • @Candybjorn
    @Candybjorn 4 года назад

    Почему display.flip, а не update?
    Разве update скажется на производительности, если ему не указать поверхность для обновления?
    Тяжело понять твои уроки, из за недостатка знаний в математике и самом питоне(а может ещё быстрый темп видео сказывается, не успеваешь понять одно, уже другое). Тем не менее, спрошу. Разве увеличение фпс не должно влиять на общую скорость игры? Где то я этот момент упустил...
    Мне очень не хватает базы и математики, возможно смогу понять твои алгоритмы и весь матан с кучей пауз и долгим разбором(вероятнее всего, большинство просто копирует код, мало кто понимает ЧТО этот код делает)
    Очень классные видео, все, что написано выше ни разу не косяки, просто я тупой)
    Спасибо за видос :)

    • @StandaloneCoder
      @StandaloneCoder  4 года назад

      Разницы в производительности между .flip() и .update() нет, так в этом случае без разницы что использовать. Да, ФПС влияет на скорость игры, но чем больше запас по ФПС, тем больше у нас возможностей для внедрения разного рода интерактива, врагов, оружия и т. п. Желаю успехов в изучении!

  • @gamedev-9135
    @gamedev-9135 2 года назад

    О ГОСПОДИ, ТЫ ЛУЧШИЙ!!!!!!!!!!!

  • @owlic
    @owlic 3 года назад

    Почему на строке world_map[(i * TILE, j * TILE)] = 1 у меня ошибка " TypeError: 'set' object does not support item assignment"?

    • @suha2606
      @suha2606 3 года назад +1

      сделай world_map = {} и убери строку перед mini_map.add((i * MAP_TITLE, j * MAP_TITLE))

  • @moritz2046
    @moritz2046 3 года назад

    ur tutorials are great my friend

  • @atobekgafurov8064
    @atobekgafurov8064 2 года назад

    у меня wall_column = textures[texture].subsurface(offset * TEXTURE_SCALE, 0, TEXTURE_SCALE, TEXTURE_HEIGHT) пачемуто дает ошибку можете помочь?

  • @firefox2818
    @firefox2818 4 года назад +1

    Привет, скажи, пожалуйста, где ты python изучал?

    • @StandaloneCoder
      @StandaloneCoder  4 года назад

      изучал дома по книгам, многое гуглил

    • @firefox2818
      @firefox2818 4 года назад

      @@StandaloneCoder аа, спасибо

  • @mhdmodocluber9591
    @mhdmodocluber9591 4 года назад

    100 комент

  • @ЧибисовВиталий
    @ЧибисовВиталий 4 года назад

    Было бы интересно сделать зеркало в 4 части

  • @TGrod
    @TGrod 4 года назад

    Чёт небо медленное, а так всё супер!)))

  • @Romanychev_Iliy_G7
    @Romanychev_Iliy_G7 4 года назад +1

    Расскажи пж по подробней, что за что отвечает та или другая функция и как это заимосвязанно, поэксперементируй пж!

    • @StandaloneCoder
      @StandaloneCoder  4 года назад

      немного не понял, про какие именно функции рассказать?

    • @Romanychev_Iliy_G7
      @Romanychev_Iliy_G7 4 года назад +1

      @@StandaloneCoder ну например что будет если что то добавить и запустить прогу

    • @Romanychev_Iliy_G7
      @Romanychev_Iliy_G7 4 года назад +1

      @@StandaloneCoder (если кто-то задастся вопросом.)

    • @fyfbif7744
      @fyfbif7744 4 года назад +1

      Карл, он и так всё подробно и ясно объяснил! Куда ещё больше? Если так интересно, то гугли что да как.

    • @Romanychev_Iliy_G7
      @Romanychev_Iliy_G7 4 года назад

      @@fyfbif7744 можно случайно что-то пропустить //и ничо не получится и забить на программирование.

  • @mhdmodocluber9591
    @mhdmodocluber9591 4 года назад

    Ждём урока про спрайты

  • @БлинБлинский-н3г
    @БлинБлинский-н3г 2 года назад

    А возможно ли самому делать пиксельные текстуры, если да то где?

  • @Romanychev_Iliy_G7
    @Romanychev_Iliy_G7 4 года назад +1

    Перекомпилируй потом в asm с помошью библиотеки, тогда будет летать в 10 раз лудше!

  • @quadroninja2708
    @quadroninja2708 2 года назад

    Очень круто!

  • @PIEIgorEfremenko
    @PIEIgorEfremenko 2 года назад

    Это шедеврально!

  • @firefox2818
    @firefox2818 4 года назад

    Возникла такая проблема - на этапе добавления лучей стало сильно лагать. Ты с этим сталкивался? Если да, то скажи, как ее решить, пожалуйста

    • @StandaloneCoder
      @StandaloneCoder  4 года назад

      Если вопрос по первому уроку, то делай дальше, лаги уйдут когда начнем обнаруживать препятствия и отсекать лучи.

    • @firefox2818
      @firefox2818 4 года назад

      @@StandaloneCoder да, по первому, спасибо!

  • @bionicman285
    @bionicman285 4 года назад

    У меня неожиданная проблема с тем, чтобы найти бесшовную текстуру неба. Можно подсказку?

    • @StandaloneCoder
      @StandaloneCoder  4 года назад +1

      загугли "seamless sky texture"

    • @bionicman285
      @bionicman285 4 года назад

      @@StandaloneCoder спасибо!

  • @ТетянаШепель-щ7я
    @ТетянаШепель-щ7я 3 года назад

    круто!

  • @ДавидС-ы3ч
    @ДавидС-ы3ч 4 года назад

    Если увеличить ширину или высоту экрана, то с небом будет происходить что-то странное, я попробовал увеличить саму картинку неба следующим образом: ширина такая же, как и у экрана, а высота = пол высоты экрана. И вроде получилось, но небо иногда почему-то резко меняется (при движении игрока конечно же). Помоги мне, пожалуйста, я не знаю как решить эту проблему..

    • @StandaloneCoder
      @StandaloneCoder  4 года назад

      напиши мне на почту, и также отправь всю папку проекта

    • @ДавидС-ы3ч
      @ДавидС-ы3ч 4 года назад

      @@StandaloneCoder написал

  • @РобинзонКрузо-ч4к
    @РобинзонКрузо-ч4к 4 года назад

    Помоги, у меня пишет, типо нет каталога с текстурой. Папку назвал как у тебя - img, текстура называется p.png
    Та строка выглядит так:
    self.texture = pygame.image.load('img/p.png').convert()
    И мне выдаёт ошибку, типо: «FileNotFoundError: No such file or directory»
    Что делать? Буду благодарен!
    Если что я тоже использую pycharm

    • @fyfbif7744
      @fyfbif7744 4 года назад

      Если у тебя мак, то тебе надо создать папку img в папке своего пользователя, и туда кидать текстуры. И всё будет норм

    • @РобинзонКрузо-ч4к
      @РобинзонКрузо-ч4к 4 года назад

      Fyfbif Спасибо!

    • @faridahmadov5991
      @faridahmadov5991 3 года назад

      @@fyfbif7744 слушай а у меня виндовс и дает та же самую ошибку

  • @X666X
    @X666X 4 года назад

    Когда будет двустволка, тогда будет doom

  • @kirixoto
    @kirixoto 3 года назад

    Здравствуйте у вас хороший контент, но у меня возник вопрос какого размера (в px) должен быть текстура?

  • @firefox2818
    @firefox2818 4 года назад

    Ещё вопрос - какуда ты нажимаешь, что строка становится серой? К примеру, надпись "import pygame". Возможно, я плохо объяснил(

    • @Vadim-id1kv
      @Vadim-id1kv 4 года назад

      Это же обычное комментирование. Добавь # в начало строки.

    • @nakidai
      @nakidai 2 года назад

      @@Vadim-id1kv неа, это значит что данная хренотень не юзалась в коде.

    • @Vadim-id1kv
      @Vadim-id1kv 2 года назад

      @@nakidai Удобно. Не факт что запомню, потому что не работаю в питоне, но узнать было интересно)

  • @Anonim-im6ln
    @Anonim-im6ln 3 года назад

    Топ!)

  • @кточтотин
    @кточтотин 4 года назад

    Мне или кажется или кс 1.6 делали также? Просто очень похоже

    • @StandaloneCoder
      @StandaloneCoder  4 года назад

      не, кс будет на порядок продвинутой)

    • @blackfox4035
      @blackfox4035 4 года назад

      @@StandaloneCoder Doom почти так же делали, только не на питоне

  • @vladyslavbutenko1644
    @vladyslavbutenko1644 4 года назад

    У тебя на 3:25 переменная называются одинаково,а так спасибо за уроки

    • @StandaloneCoder
      @StandaloneCoder  4 года назад

      Это же специально сделано, чтоб не плодить переменных. Сначала создаём подповерхность, а потом ее же масштабируем

    • @vladyslavbutenko1644
      @vladyslavbutenko1644 4 года назад

      @@StandaloneCoder Понял,извиняюсь

  • @miles7610
    @miles7610 4 года назад

    Супер!!!!!!!!!!

  • @Заямба
    @Заямба 4 года назад

    Поздравляю тебя с 300 подписчиками на канале !!!