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

Поделиться
HTML-код
  • Опубликовано: 2 окт 2024
  • Добавление интерактива, как кульминация всех серий по псевдо 3d игре. Оружие, меню, NPC, двери, звуки...
    Код:
    github.com/Sta...
    #standalonecoder

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

  • @thzeroucken
    @thzeroucken 4 года назад +34

    "Думпи" получился великолепным. Это самые интересные видео по созданию игры на pygame из всех которые я видел. Надеюсь, ты продолжишь снимать. Желаю удачи!

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

    Чувак. Это очень круто, но я уже в конец запутался в реализации игры😅😅😅 Надо будет всю серию видосов заново посмотреть) Желаю тебе успехов в программировании!!)

    • @ЕгорЗверев-й8к
      @ЕгорЗверев-й8к 3 года назад

      Во, такая же тема! Но очень круто! Мотивировало к знакомству с pygame

    • @dvb.
      @dvb. 3 года назад

      А что такое pygame?

    • @ЕгорЗверев-й8к
      @ЕгорЗверев-й8к 3 года назад

      @@dvb. вы плейлист с конца начали смотреть?)

    • @dvb.
      @dvb. 3 года назад

      @@ЕгорЗверев-й8к Ага, не с начала) Уже нашел, спасибо)

  • @oscarclark5937
    @oscarclark5937 3 года назад +5

    absolutely brilliant project, well done, I'm going to enjoy building on this, I want to make it into a horror game with collectibles. I've followed along as if it were a course to try and understand the concepts since I didn't even know what trigonometry was at the start so I had to take a course in that :)

  • @ThA891
    @ThA891 4 года назад +24

    Лучший! Но убийство помидорки я тебе никогда не прощу!

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

    На протяжении всех видео волнует вопрос и с каждым роликом все больше и больше - кем, вот КЕМ нужно быть, чтобы вот так вот играючи за, пускай, месяцок в качестве хобби накатать 3D игру на 2D движке? Физиком?? Математиком от Бога?? БОГОМ??? Ну серьезно? Поведайте, явите лик! Я ТОЖЕ ТАК ХОЧУ!!!

    • @dron12261
      @dron12261 4 года назад +6

      все просто, джоном кармаком

    • @kittenfrompicture
      @kittenfrompicture 3 года назад +13

      @@dron12261 Джон Кармак на смертном одре сказал:"Чтобы написать идтех1, я дождался 2075-го и использовал машину времени, чтобы по гайдам Standalone Coder сделать 3д движок"

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

      @@kittenfrompicture огооо

    • @Galaktikaa
      @Galaktikaa 2 года назад +2

      Вообще таки это 2.5D Игра. И чтобы её реализовать нужно быть отличный программистом с прямыми руками. Ну а теперь вообще каждый человек такое может создать с помощью современных движков и конструкторов.

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

      @@Galaktikaa Там ничего сложного нет. Любой 9 классник, который не прогуливал геометрию в школе запросто может такое сделать. Банальная тригонометрия

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

    Класс! Круто!

  • @FarawI837
    @FarawI837 4 месяца назад +2

    Класс! Круто! Только мне не известно, как зайти в игру... :(

  • @lordjamesf6644
    @lordjamesf6644 3 года назад +7

    блин, чел тебе не надоели эти люди которые не могут пару строчек написать чтобы пули работали или хп?

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

    Ваши видео прекрасны. Пожалуйста дайте мне совет с вершины ваших знаний.
    Мне нужно в этот проект вписать несколько важных аспектов.
    1) Полоску жизни для главного героя.
    2) Получение урона он врагов ( Нигде нет об этом информации)
    3) Счётчик убитых врагов.

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

    Круто, реально круто! 👏
    Мне всегда было интересно как лучше реализовать переход между уровнями. В качестве идеи для следующих видео :)

  • @JustS_js
    @JustS_js 3 года назад +6

    Великолепная серия роликов, большое спасибо за проделанную работу! Многое узнал о рейкастинге, а оптимизация - вообще вишенка на торте :)

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

      Лучше бы Майншилдом занимался)

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

      @@ya_pridurok поплачь

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

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

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

    Молодец, отлично постарался

  • @osp-osa39
    @osp-osa39 3 года назад +20

    огромное спасибо за уроки. Я по твоим урокам создал свой движок и добавил туда ещё своих штук(заставку при запуске игры как у valve, многоэтажные здания и др.). Огромное спасибо

    • @SP_StudioGAMES
      @SP_StudioGAMES Год назад +2

      я тоже пишу. получаеться шутер не хуже дума но проблемы с редактором

    • @osp-osa39
      @osp-osa39 Год назад +1

      @@SP_StudioGAMES я уже давно перестал писать эту псевдо 3д штуку, но в последних проектах когда делаю арены/карты я сразу придумываю парсер и пишу их в txt файле. Таким образом код не нагромождается, можно менять карты и не перекомпилировать, и так просто удобнее.

    • @vimp1
      @vimp1 11 месяцев назад

      зачем парсер если можно писать в виде .py файла с описанием необходимых переменных?
      @@osp-osa39

  • @mytube2183
    @mytube2183 3 года назад +10

    Спасибо за курс, благодаря тебе я смог обучиться raycasting графике и делать свои игры в этом стиле. Но не мог бы ты добавить в свой курс стрельбу наших врагов, а то они какие-то беспомощные, я думаю, это все оценят, заранее спасибо.

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

    Игра на юнити: норм, но... чета не хватает(
    Игра на собственоом движке на с++: близко, но...
    Игра на своем движке на питоне: R E A L S H I T

  • @eyeofthenight
    @eyeofthenight 3 года назад +15

    Кто заметил смайлик на карте ставьте лайк

  • @СТРИМОНАТОР
    @СТРИМОНАТОР 4 года назад +13

    а кто нибудь заметил смайлик на мини карте не ?

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

      я заметил

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

      @@php1036 я думаю все заметили

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

      @@shadow_blader192 тоже так думаю :)

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

      @@kirixoto +

  • @Panacon1k
    @Panacon1k 4 месяца назад +1

    Он жалуется на :небезопасное приведение из int 64 в int32

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

    бро, это офигенно, я в 7 классе и тригонометрии у нас пока нет но ты прям дал мотивацию ее учить. только вот как например сделать чтобы добавлять всякие 3d объекты на сцену? в думе же двери были и всякое такое

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

    Чё делать с ошибкой которая вылезает, я не могу её исправить а вы СпРаЙтЫ-сПрАйТы, мне не нужны спрайты для моей игры!
    Ошибка:
    UnboundLocalError: local variable 'texture_h' referenced before assignment
    Строка:
    depth, offset, texture = (depth_v, yv, texture_v) if depth_v < depth_h else (depth_h, xh, texture_h)
    Спасибо за всё то что ты сделал до 4 части, (и за коллизию стен спасибо)

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

    Если это было последнее видео по созданию игр от тебя то я пошёл умирать 😓

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

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

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

      это далеко не последнее видео про игры!

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

      @@StandaloneCoder 😍❤❤

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

      @Standalone Coder Слушай, есть одна проблема. Ты добавил возможность убивать врагов, но забыл добавить врагам возможность убивать 😅

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

      @@aresont9372 думаю он это не сделал поскольку это сложно, нужно каждому злому нпс(если есть добрые конечно) добавить угол куда они смотрят и там пускать патрон(луч который будет снимать здоровье) и делать это(пускать патрон) придётся через промижуток времени а то враг постмотрел на тебя и ты умер.
      так вот это я о чём? компу придётся делать очень много вычислений, програмисту долго долбиться над игрой. да и вообще не помешает третья оптимизация :)

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

    ПРОСТО БОМБИЧЕСКИ!!! Казалось бы небольшая игрулька, но сколько всего кода написано просто жесть!!! Спасибо за работу!!! Кодер а сколько ты учился, чтобы осознать как писать код для 3D со всякими математическими функциями и тд?

  • @Den-ied
    @Den-ied 11 месяцев назад +1

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

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

    а если я хочу сделать несколько уровней этой игры или её сделать бесконечной то что деелать ?

  • @catalingrigoriev
    @catalingrigoriev 4 года назад +9

    Доваи ГТА на Python :#

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

    Ребята кто может сделать скрипт который будет ставить лайк всему проекту . тоесть под каждое видео из серии

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

    Кст, я добавил возможность бегать по нажатию shift + w

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

      вааау, фигасе ты хацкер да мои 5 механик и рядом тут не стояли

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

      @@lordjamesf6644 А какие у тебя ?

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

    Жалко что автор не закончил проект. Буду надеяться на продолжение т.к ничего не смогу сделать без точного простого объяснения.

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

    Привет а где можно взять код на от этого проекта в той сылке каторой ты закрепил под видио нет кожа 😢

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

    Слушай, давай что нибудь про процедурную генерацию.

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

      ДАААА

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

      Генератор карт самих локаций был бы весьма кстати, чтобы можно было играть и каждый новый уровень локаций был бы игроку новый + неизвестен по своей конфигурации. Ну и конечно же нужно реализовать меню с настройками звука + реализовать функцию выставления само число проходимых уровней локаций для большего интереса. А так же реализовать функцию генерации самого числа монстров на каждой проходимого уровня локации самой карты. И очень не хватает в меню прописать функцию адреса папки к своей музыки - чтобы можно было играть под свою любимый музон. Ну и конечно же нужно будет прописать функцию игровой механики самой финальной заставки. Она позволит показать ту последовательность картинок или же видео файл, который игрок сам укажет. Ну и конечно же в этой игре не хватает список счётчика набранных очков. Он бы очень пригодился для приближения этого проекта к полноценной игре.

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

      @@Galaktikaa Можно закулисье сделать : )

  • @КадырАманов-р2г
    @КадырАманов-р2г 3 года назад +4

    Подряд просмотрел все видео из серии
    Лайк не глядя!

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

    THANK YOU SO MUCH FOR THIS PRZYJACIELU!!!!
    now i know what ill be doing in the weekend

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

    Интересный факт. Музыка E1M1. Это переработанная песня металлики "No remorse".

  • @Захар-ь8ц2п
    @Захар-ь8ц2п 6 месяцев назад +2

    Здравствуйте, не могли бы вы сказать пожалуйста, я работаю на реплите в pygame и по вашим видео создал игру, а в игре почему-то 8 - 13 фпс, может это связано с тем, что я работаю на сайте, а не в приложении.

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

    а как твоя прога называется???

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

    Привет , а продолжение будет если что вот несколь идей . Добавить хп и урон от монстров и огня . Добавить возможность прыжка , этим самым разнообразие геймплей и сделать уровень не просто плоским но и добить какие не будь подъемы или что-то такое ☺

  • @arshavinfootball981
    @arshavinfootball981 Месяц назад

    У меня одного в конце выдаёт ошибку CRC error??? Если кто нибудь знает как решить ПОМОГИТЕ!!!

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

    недооценённый канал, или просто пока только набираешь аудиторию

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

    Пожалуйста, не заканчивай. В игру все еще можно много добавить. Как минимум хочется сделать, чтобы враги могли наносить урон игроку, я почитал комментарии и понял, что сложно реализовать прыжок, но ты просто гений, я думаю ты сможешь. Так же хочется увидеть код, чтобы можно было делать постройки выше чем стены или чтобы игрок мог подниматься на коробки например, умоляю, продолжи, ты нам нужен

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

      И при нажатии Левый Шифт он должен бежать, но это походу будет в следующих сериях.

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

      @@Galaktikaa Я сделал эту механику, могу скинуть код

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

    Доброго времени суток, а как исправить ошибку libpng warning: grAb: CRC error?

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

    У меня почему то ничего не получилось
    пытаюсь запутстить оно просто берет и закрывается

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

    Единственный в своем роде! Лучший!

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

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

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

    Движок понравился. Теперь пишу на его основе клон Wolfenstein 3D

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

    Однозначно, лайк

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

    Урааа я дождався. Ты молодец

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

    А игру можно скачать? :)
    Оч крутая рил это дум 3

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

    Как сделать механику прыжка в этой игре?

  • @Польскаякоровахпхпх
    @Польскаякоровахпхпх 2 года назад +1

    Не могли бы Вы сделать урок по созданию характеристик игрока (как в настоящем Думе)

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

      ruclips.net/video/ECqUrT7IdqQ/видео.html

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

    из за того что меня заставили поставить лайк - мне пришлось испортить всю перфекционистичность - а хотя нет - 95 + 1 = 96

  • @HackerCheatBm
    @HackerCheatBm 10 месяцев назад

    Кто знает как изменить размер карты, или размер стены, ну ширина и высота.

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

    Все (удивляются как красиво он делает игру)
    Я (удивляюсь тому что в коде 200 строк

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

    Кстати есть движок для питона для создания игр

  • @ХристинаПестова-н7г
    @ХристинаПестова-н7г 2 года назад +2

    Ты наверное душу продал чтобы так програмировать

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

    Создай пожалуйста чат в телеграме что бы все могли обсуждать и помогать друг другу в программировании

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

    Прикольно

  • @Польскаякоровахпхпх

    или хотя бы hp для игрока, чтобы он мог проиграть

  • @b-o-t-l-y
    @b-o-t-l-y 3 года назад +1

    Бро, спасибо! Теперь я знаю, как я буду изучать пайтон! Лайк и подписка

  • @user-nb5mg7zk8f
    @user-nb5mg7zk8f 2 года назад

    А где он берет спрайты, я не могу найти в инете?

  • @АртёмСобакин-м3ч

    Слабо сделать переделать ее на андроид

  • @bfmapper6850
    @bfmapper6850 9 месяцев назад

    Второй quake

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

    спасибо за плейлист!
    единственное, хотел бы указать на два бага
    1) если указать скорость 8, то в углах можно пройти сквозь стену
    2) если поставить расширение больше, например 1920х1080, или увеличить количество лучей, стены справа не отрисовывает, если уменьшить, то норм, но качество графики падает, как исправить?°^°

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

      1) прохождение сквозь стены можно фиксануть путем увеличивания требуемой абсолютной разности между дельта X и дельта Y
      2) поиграйся с FOV и плюс старайся ставить количество лучей на обработку кратное твоей ширине(чтоб бы делилось и то и то на одно число), проще говоря чтоб если, например, при ширине в 1600 пикселей и количеством лучей 400 у тебя на 4 пикселя уходит 1 луч(1600/400 = 4), суть в том чтоб не допустить появления в этом делении дробного числа.
      надеюсь понятно объяснил)

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

      @@benvito13 спасибо за ответ, попробую)

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

    Я бы хотел узнать кое-что. Можно ли таким образом сделать мультеплеер и если да то как? Спасибо за и без этого хороший курс!

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

      я кста знаю как

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

      @@yzor_play274 И как. Буду признателен за помощь.

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

    Боже, Standalone Coder, ты такой классный. Хочу от тебя детей

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

    Двери лохают

  • @nexonnera.k.a.8796
    @nexonnera.k.a.8796 4 года назад +2

    жаль, что движок по возможностям мало превосходит движок wolf3d, а производительнось хуже даже , чем в doom3 . да ,я зная ,что они написаны на абсолютно разных языках программирования ,но всё же!

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

      Надо принимать во внимание, что игра построена только на одном ядре процессора, на далеко не быстром языке и без задействования видеокарты

    • @user-xf9jq5hj6f
      @user-xf9jq5hj6f 3 года назад

      @@StandaloneCoder а реально что то закинуть в с++ модули и задействовать и видеокарту и ядра?

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

      @@user-xf9jq5hj6f мне кажется, легче просто под с++ переписать (у вектозавра есть похожий видос с шутером, но на плюсах)

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

    как 5 пальцев обосать

  • @ДаниилУрсаки
    @ДаниилУрсаки 3 года назад

    У меня вылетает ошибка :( не могу понять почему. Если ктонибудь может, помогите пожалуйста
    if self.animation and self.distance_to_sprite < self.animation_dist:
    TypeError: '

  • @АленТурумбетов
    @АленТурумбетов 3 года назад +1

    код заработал спасибо большое!!!)))

  • @kevinflynn4867
    @kevinflynn4867 6 месяцев назад

    круто, молодец)

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

    Так мы же не можем умирать :/

  • @АленТурумбетов
    @АленТурумбетов 3 года назад

    а что за shots self.shot_projection = min(shots)[1] // 2 компилятор выдает ошибку TypeError: player_weapon() missing 1 required positional argument: 'shots'

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

    Let's Go!

  • @acrm-sjork
    @acrm-sjork 2 года назад

    А меня вот волнует вопрос: ты действительно в закадровом тексте пишешь «маштобировать» или это диктор так каверкает?

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

    :D

  • @неизвестныйчеловек-т3т

    Ам, извините а можно исходник пожалуйста? Если что спасибо

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

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

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

    Это крУууууто!!!!

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

    170 лайков и 0 дизлайков... Завидуем молча!

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

    5 урок просрали

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

    у меня в гидхабе полностью побитый седьмой парт

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

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

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

    Пж добавь мультиплеер и смерть главного персонажа пж

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

    Крутое видео.Можете дать пожалуйста на архив из этого видео.Я по ссылке в описании не могу скачать

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

      перейдите по ссылке в описании, там на странице будет зеленая кнопка "Code", нажмите её и выберите "Download ZIP"

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

      @@StandaloneCoder спасибо за ответ . Не подскажите что делать если выкидывает ошибку : rect() не принимает аргументы из клавиатуры . Если что это в 7 части , в файле drawing , в строчке 130. Как я понимаю в этих строчках идёт настройка старого меню

    • @lamik-yt7mw
      @lamik-yt7mw 3 года назад

      @@hashik15 Ты смог найти решение ?

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

      Здравствуйте, а как можно реализовать поворот камеры не только в лево и право но и вверх и вниз? Ещё интересно можно ли реализовать прыжок но мне хотя бы первое сделать. Заранее спасибо за ответ.

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

    Круто

  • @piskanegra8605
    @piskanegra8605 11 месяцев назад

    Öööööö

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

    🗽

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

    Урааааааа!!!!!!! 🔥

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

    Как всегда радуешь

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

    У меня ничего не запускается . в чём дело??

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

    Отличный проект! Но мне кажется ты рано его забросил. Не реализована важная, на мой взгляд, механика. Урон по самому персонажу от монстров и отображение ХП. А так же количество патронов. С этим игра была бы гораздо полноценней! Ну что за стрелялка в которой тебя не могут убить ?: )

  • @Egorchik-di2ln
    @Egorchik-di2ln 2 года назад

    Круто! Но когда ты создавал двери, то можно было использовать цикл for. Попробуй, а так всё ОК. Желаю удачи!

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

    Для меню можно использовать библиотеку pygame_gui

  • @acrm-sjork
    @acrm-sjork 2 года назад

    Интересное решение с созданием 3d-модели двери, поворотом ее и скриншотами.
    Можно сделать и без 3d-редактора и всего одним изображением: по сути, поворот плоского объекта - это горизонтальное сплющивание его проекции на экран. Уменьшая горизонтальный масштаб на косинус угла между нормалью спрайта и направлением взгляда можно добиться нужного эффекта

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

    Чтобы было збс попробуй сделать дверь как 3D объект

  • @АленТурумбетов
    @АленТурумбетов 3 года назад

    в коде не указан shots есть self.shot_length, self.shot_speed

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

      shots - это входной параметр метода player_weapon(self, shots) в файле drawing.py
      В файле main.py в строке №29: drawing.player_weapon([wall_shot, sprites.sprite_shot])
      в качестве shots выступает атрибут - sprites.sprite_shot

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

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

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

      благодарю, баг пофиксин, расстояние до врага забыл взять по модулю

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

      @@StandaloneCoder да, всё работает, но фпс после фикса дропнулся до 50, возможно конечно из-за моих новых механик, но не знаю

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

      @@StandaloneCoder я думаю чтобы сохранить производительность после приближения к трупам врагов можно допустим через 10 секунд после смерти убирать труп, в общем пойду доделывать код

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

      @@le_petite_cow_soldier как мне кажется, там переизбыток врагов, думаю надо уменьшить их кол-во процентов на 10-20 и фпс восстановится

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

      ​@@StandaloneCoder дело в том что карта там моя и врагов с каким-никаким ИИ там всего 10, большую часть занимает декор, аптечки, патроны

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

    Молодец !

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

    И еще. Можно узнать, где Вы скачивали спрайты, просто кроме wad файлов я ничего не нашел.

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

      Я просто гуглил - doom hd sprite pack

  • @АленТурумбетов
    @АленТурумбетов 3 года назад

    для работы wall_shot нужна numba а numba не работает пробовал pip install numba вроде бы устанавливает с ошибками и выдает ошибку ModuleNotFoundError: No module named 'numba' что делать, как установить numba?

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

      используйте Python 3.8 или ждите следующий релиз Numba с поддержкой 3.9