Создаю клон Hollow Knight на Python и PyGame
Вставка
- Опубліковано 30 вер 2024
- В этом видео я поделюсь опытом создания игры Hollow Knight на Python и спрошу себя, стоит ли использовать такой подход, или лучше прибегнуть к стандартным игровым движкам.
Я провел массу времени, написал кучу кода, и результаты были удивительны. Но возник вопрос: возможно ли это было сделать более эффективно? Может быть, использование стандартных игровых движков было бы проще и эффективнее?
Подключитесь к видео, чтобы увидеть мой опыт и услышать обсуждение, стоит ли заниматься созданием игр на Python или лучше обратиться к более подходящим инструментам разработки.
Ждем силк сонг
Может, этот разработчик быстрее выпустит. Задолбали тянуть😅
классное видео желаю больше популярности тебе и удачи
хм, я бы разнёс все по разным файлам и директориям. Интерфейсы, спрайты в одно, уровни в другое, каждый уровень был бы в отдельном файле...
А ссылки в описании я так и не увидел (((
Автор, перед тем как писать клоны игр или хоть что то вообще, научись сначала писать красивый код или хотя бы немного оптимизированный.
1) Уровень игры.
В каждой нормальной игре уровень генерируется по файлу сделанному заранее и расположенному ОТДЕЛЬНО от кода игры. Например просто текстовый файл либо json с описанием координат и размеров платформ
+ ничего сложного, экономит кучу места и вместо того, чтобы плакать что у тебя куча строк, посмотрите какой я бедный, можно кайфовать с чистым кодом и автономностью процесса - то есть возможность изменить ЛЮБОЙ уровень вообще без вмешательств в код, например если у тебя есть какой то сервер или на компе не установлен софт для программирования - ты не заходишь в код, а просто открываешь в том же блокноте и все меняешь как надо.
2) каким образом можно вкинуть 50 строк (50!!!!!) на тупо картинку на фоне, я вообще хз - это же тупо создать объект спрайта и отрисовать его - конец.
3) дополнительно про уровни: вместо того, чтобы создавать для каждой платформы объект - можно создавать спрайты (как минимум больше функционала и скорее всего платформы юзают текстуру и не просто синие прямоугольники) и добавлять их в группы спрайтов
+ это уменьшает количество строк и упрощает код, а также опять же дает возможность просто парсировать json/информацию об уровне автоматически одним циклом (парсировать - пройти по списку и выполнить операции для каждого элемента)
4) Повороты персонажа - создавать 2 РАЗНЫХ картинки для право и лево - это просто ужас. В pygame есть заранее готовая функция для картинок pygame.image.transform.mirror или что то такое - тупо отражение картинки, а если у тебя анимация (для этого надо просто сменять кадры через интервалы) на 10 кадров, ты тоже будешь копировать кадры и делать отраженную версию отдельно?? Так ты тупо увеличиваешь размер игры + размер памяти которую она использует
5) создавать уровни функциями и запускать их тупо по очереди - ЭТО ЧТО ВООБЩЕ, гораздо проще, короче и быстрее - написать список уровней и если игрок перешел на новый уровень прибавлять 1 к индексу уровня сейчас.
В общем, писать игры на pygame вполне нормально, 8 часов на игру - вполне нормально, хотя может и не на такую как здесь, но жаловаться на 8 часов когда тебе пришлось знакомиться с языком и библиотекой, писать на интерпретаторе в браузере и маяться дурью вроде этой, тупо увеличивая количество строк и списывать это на язык - это просто маразм.
1400 строк - это просто отсутствие скилла, я конечно понимаю, что ты пишешь в юнити и он большую часть процесса делает закулисами и автоматизирует, но еклмн, причем тут питон, сам то научись, а?
У меня есть недоигра, с аналогичным управлением, тоже с ударом, с ПЕРЕХОДОМ по уровням в любую сторону (и назад можно вернуться) и угадай сколько в коде строк?
600 блин. Не 1400, 600! так что держи в курсе про удобства питона...
и кстати, для всех тех кто думает что на питоне игры нельзя писать, DaFluffyPotato на ютубе - делает игры на pygame, выглядят круто, он даже 3д движок написал
www.youtube.com/@DaFluffyPotato/videos
@@steveblack720 да крутой чел) а про то что кода много это не всегда плохо главное чтобы код читался хорошо 😊
@@Sky_Lib кожа много- это тупо, а громоздить уровни в код, причем все в один файл - это вообще надо сильно не умеет кодить, как он в юнити программирует, если у него такое тут
И много строк - не плохо, но если эти строки уходят в никуда, как можно потратить 50 строк на фон? Это 3 строчки, возникает вопрос уже в том, как он делает алгоритмы и базовые вещи, если я чтобы сделать шаг вперёд делаю 2 назад и 3 вперёд - это в 5 раз больше действий(строчек), в 5 раз менее эффективно
@@steveblack720 но потом людишки пишут про то что Пайтон очень медленный хотя сами городят много не нужного кода
Привіт, де можна знайти твій код?
я тоже на логеке учусь
Забавно. Ну, да, полноценную игру тоже сделать сложнее. По-сути надо заново написать движок(или хотя бы его часть)
Холоу найт писался на визуальном юнити
Я, когда увидел всё это: ua-cam.com/video/HcfHBgUTn7I/v-deo.html
Я простую игру на tkinter пишу 3 дня игра простая кнопочки ты встречаешь случайного монстра тебе пишет какой он силы скок хп сила атаки и супер атака ты бьёшь его он тебя ты можешь поставить блок ну и там пару оссобеностей, а тут чел за 8часов пишет 1к строк
Так проект автора - это лишь фундамент под игру, демка, если угодно. Проблема в том, что фундамент гнилой, продолжение разработки было бы пыткой для него. Я не обвиняю автора в неумении писать код, он просто не хотел лишний раз заморачиваться, но я считаю, что показ такой некачественной архитектуры кода может свести новичков на неправильный путь.
Ну респект тебе за упорность !!!
А у тебя есть репаки на гитхабе? Было бы классно для обучения.
х а ха х а удачи со скоростью питона
Кто-то явно в танке сидит
скорость питона хоть и меньше чем у других, но в игре нужна оптимизация и она правит любой игрой, медленный код можно написать и на C++, вот тебе видео про 40000 травинок на питоне на pygame, вполне нормально работает ua-cam.com/video/3hGcW77M-84/v-deo.html
Он не для игр
Классное видео. Спасибо автору поднял настроение, даже дал мотивацию написать собственную игру, сразу подписался. Только вот не смог найти ссылку на игру(
4:17 а не смущает тебя тот факт, что полый на юнити сделан?
Автор больше про то, что он сам бы сделал собственную копию игры на юнити
@@yauhenatar да это просто придирки, + я не знал вообще то что хк изначально создавался на другом движке
Ахаха, в моей области в школах ввели обязательный урок по изучению python, и выполняем мы дадания на платформе Алгоритмика, не думал что такое можно сделать!
Ого как круто! У нас 2 урока информатики в неделю и мы на них в компьютерные игры залипаем😅
На пайтоне можно делать че угодно
@@gery5282 не спорю, главное иметь много времени
Спасибо!
Вау вау, эта мега круто! Так держать❤❤
Новички в программировании, совет вам, не страдайте ерундой и пользуйтесь нормальными IDE и ЯП. Помните, что для каждой задачи свой инструмент.
Понял, принял. Пасиб 😁👍