Создаю клон Hollow Knight на Python и PyGame

Поділитися
Вставка
  • Опубліковано 30 вер 2024
  • В этом видео я поделюсь опытом создания игры Hollow Knight на Python и спрошу себя, стоит ли использовать такой подход, или лучше прибегнуть к стандартным игровым движкам.
    Я провел массу времени, написал кучу кода, и результаты были удивительны. Но возник вопрос: возможно ли это было сделать более эффективно? Может быть, использование стандартных игровых движков было бы проще и эффективнее?
    Подключитесь к видео, чтобы увидеть мой опыт и услышать обсуждение, стоит ли заниматься созданием игр на Python или лучше обратиться к более подходящим инструментам разработки.

КОМЕНТАРІ • 44

  • @NikName-vm9xt
    @NikName-vm9xt 8 місяців тому +25

    Ждем силк сонг

    • @ИльяСмарт-х9ф
      @ИльяСмарт-х9ф Місяць тому

      Может, этот разработчик быстрее выпустит. Задолбали тянуть😅

  • @Xuro_09
    @Xuro_09 8 місяців тому +7

    классное видео желаю больше популярности тебе и удачи

  • @bearbear4869
    @bearbear4869 15 днів тому

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

  • @MyElmag
    @MyElmag 7 місяців тому +3

    А ссылки в описании я так и не увидел (((

  • @steveblack720
    @steveblack720 8 місяців тому +4

    Автор, перед тем как писать клоны игр или хоть что то вообще, научись сначала писать красивый код или хотя бы немного оптимизированный.
    1) Уровень игры.
    В каждой нормальной игре уровень генерируется по файлу сделанному заранее и расположенному ОТДЕЛЬНО от кода игры. Например просто текстовый файл либо json с описанием координат и размеров платформ
    + ничего сложного, экономит кучу места и вместо того, чтобы плакать что у тебя куча строк, посмотрите какой я бедный, можно кайфовать с чистым кодом и автономностью процесса - то есть возможность изменить ЛЮБОЙ уровень вообще без вмешательств в код, например если у тебя есть какой то сервер или на компе не установлен софт для программирования - ты не заходишь в код, а просто открываешь в том же блокноте и все меняешь как надо.
    2) каким образом можно вкинуть 50 строк (50!!!!!) на тупо картинку на фоне, я вообще хз - это же тупо создать объект спрайта и отрисовать его - конец.
    3) дополнительно про уровни: вместо того, чтобы создавать для каждой платформы объект - можно создавать спрайты (как минимум больше функционала и скорее всего платформы юзают текстуру и не просто синие прямоугольники) и добавлять их в группы спрайтов
    + это уменьшает количество строк и упрощает код, а также опять же дает возможность просто парсировать json/информацию об уровне автоматически одним циклом (парсировать - пройти по списку и выполнить операции для каждого элемента)
    4) Повороты персонажа - создавать 2 РАЗНЫХ картинки для право и лево - это просто ужас. В pygame есть заранее готовая функция для картинок pygame.image.transform.mirror или что то такое - тупо отражение картинки, а если у тебя анимация (для этого надо просто сменять кадры через интервалы) на 10 кадров, ты тоже будешь копировать кадры и делать отраженную версию отдельно?? Так ты тупо увеличиваешь размер игры + размер памяти которую она использует
    5) создавать уровни функциями и запускать их тупо по очереди - ЭТО ЧТО ВООБЩЕ, гораздо проще, короче и быстрее - написать список уровней и если игрок перешел на новый уровень прибавлять 1 к индексу уровня сейчас.
    В общем, писать игры на pygame вполне нормально, 8 часов на игру - вполне нормально, хотя может и не на такую как здесь, но жаловаться на 8 часов когда тебе пришлось знакомиться с языком и библиотекой, писать на интерпретаторе в браузере и маяться дурью вроде этой, тупо увеличивая количество строк и списывать это на язык - это просто маразм.
    1400 строк - это просто отсутствие скилла, я конечно понимаю, что ты пишешь в юнити и он большую часть процесса делает закулисами и автоматизирует, но еклмн, причем тут питон, сам то научись, а?
    У меня есть недоигра, с аналогичным управлением, тоже с ударом, с ПЕРЕХОДОМ по уровням в любую сторону (и назад можно вернуться) и угадай сколько в коде строк?
    600 блин. Не 1400, 600! так что держи в курсе про удобства питона...

    • @steveblack720
      @steveblack720 8 місяців тому +1

      и кстати, для всех тех кто думает что на питоне игры нельзя писать, DaFluffyPotato на ютубе - делает игры на pygame, выглядят круто, он даже 3д движок написал
      www.youtube.com/@DaFluffyPotato/videos

    • @Sky_Lib
      @Sky_Lib 8 місяців тому

      ​@@steveblack720 да крутой чел) а про то что кода много это не всегда плохо главное чтобы код читался хорошо 😊

    • @steveblack720
      @steveblack720 8 місяців тому +1

      @@Sky_Lib кожа много- это тупо, а громоздить уровни в код, причем все в один файл - это вообще надо сильно не умеет кодить, как он в юнити программирует, если у него такое тут

    • @steveblack720
      @steveblack720 8 місяців тому

      И много строк - не плохо, но если эти строки уходят в никуда, как можно потратить 50 строк на фон? Это 3 строчки, возникает вопрос уже в том, как он делает алгоритмы и базовые вещи, если я чтобы сделать шаг вперёд делаю 2 назад и 3 вперёд - это в 5 раз больше действий(строчек), в 5 раз менее эффективно

    • @Sky_Lib
      @Sky_Lib 8 місяців тому

      @@steveblack720 но потом людишки пишут про то что Пайтон очень медленный хотя сами городят много не нужного кода

  • @creeperok3931
    @creeperok3931 5 місяців тому +2

    Привіт, де можна знайти твій код?

  • @VovaSoloduhin
    @VovaSoloduhin 20 днів тому

    я тоже на логеке учусь

  • @yuraplay858
    @yuraplay858 8 місяців тому +2

    Забавно. Ну, да, полноценную игру тоже сделать сложнее. По-сути надо заново написать движок(или хотя бы его часть)

    • @ignmihailplay760
      @ignmihailplay760 8 місяців тому +1

      Холоу найт писался на визуальном юнити

  • @homadoktor1393
    @homadoktor1393 8 місяців тому +1

    Я, когда увидел всё это: ua-cam.com/video/HcfHBgUTn7I/v-deo.html

  • @user-qq9rz3hl5q
    @user-qq9rz3hl5q 7 місяців тому +1

    Я простую игру на tkinter пишу 3 дня игра простая кнопочки ты встречаешь случайного монстра тебе пишет какой он силы скок хп сила атаки и супер атака ты бьёшь его он тебя ты можешь поставить блок ну и там пару оссобеностей, а тут чел за 8часов пишет 1к строк

    • @rawil6751
      @rawil6751 2 місяці тому

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

  • @einsolgon3563
    @einsolgon3563 8 місяців тому +2

    Ну респект тебе за упорность !!!

  • @GhjVfu-n8p
    @GhjVfu-n8p 4 місяці тому

    А у тебя есть репаки на гитхабе? Было бы классно для обучения.

  • @Terra_Blade
    @Terra_Blade 8 місяців тому +2

    х а ха х а удачи со скоростью питона

    • @Ti666iT
      @Ti666iT 8 місяців тому +4

      Кто-то явно в танке сидит

    • @steveblack720
      @steveblack720 8 місяців тому

      скорость питона хоть и меньше чем у других, но в игре нужна оптимизация и она правит любой игрой, медленный код можно написать и на C++, вот тебе видео про 40000 травинок на питоне на pygame, вполне нормально работает ua-cam.com/video/3hGcW77M-84/v-deo.html

    • @jamesprice6925
      @jamesprice6925 8 місяців тому +1

      Он не для игр

  • @raymon6805
    @raymon6805 8 місяців тому

    Классное видео. Спасибо автору поднял настроение, даже дал мотивацию написать собственную игру, сразу подписался. Только вот не смог найти ссылку на игру(

  • @lesha957
    @lesha957 8 місяців тому +1

    4:17 а не смущает тебя тот факт, что полый на юнити сделан?

    • @yauhenatar
      @yauhenatar 8 місяців тому +1

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

    • @lesha957
      @lesha957 8 місяців тому

      @@yauhenatar да это просто придирки, + я не знал вообще то что хк изначально создавался на другом движке

  • @PixelCult-GD
    @PixelCult-GD 8 місяців тому +1

    Ахаха, в моей области в школах ввели обязательный урок по изучению python, и выполняем мы дадания на платформе Алгоритмика, не думал что такое можно сделать!

    • @Sunshine-e9p
      @Sunshine-e9p Місяць тому

      Ого как круто! У нас 2 урока информатики в неделю и мы на них в компьютерные игры залипаем😅

    • @gery5282
      @gery5282 28 днів тому

      На пайтоне можно делать че угодно

    • @PixelCult-GD
      @PixelCult-GD 28 днів тому

      @@gery5282 не спорю, главное иметь много времени

  • @vitaliydolgov9011
    @vitaliydolgov9011 4 місяці тому

    Спасибо!

  • @drappa_teo
    @drappa_teo 8 місяців тому

    Вау вау, эта мега круто! Так держать❤❤

  • @ОбОд-у4ъ
    @ОбОд-у4ъ 8 місяців тому

    Новички в программировании, совет вам, не страдайте ерундой и пользуйтесь нормальными IDE и ЯП. Помните, что для каждой задачи свой инструмент.

  • @charlie8f1
    @charlie8f1 3 місяці тому

    Понял, принял. Пасиб 😁👍