Делаю знаменитую игру Minecraft на языке Python!
С 3D графикой, и основными механиками.
Таймкоды
00:00 Введение и цель
- Автор утверждает, что можно создать Minecraft на Python, написав менее 100 строк кода.
- Он решает проверить это, используя 3D-графику, блэкджек и пиксельные элементы.
00:27 Выбор графической библиотеки
- Автор рассматривает различные графические библиотеки для Python, такие как PyGame, Panda3D, Cocos и Ursina.
- Он выбирает Ursina, который, по его мнению, превосходит Unity.
01:41 Создание вращающегося куба
- Автор создает вращающийся куб в Ursina, используя объект Entity.
- Он добавляет освещение через шейдеры, чтобы сделать куб более заметным.
02:46 Добавление текстур
- Автор ищет и загружает текстуры из Minecraft.
- Он использует документацию Ursina для загрузки текстур и создания земляного блока.
04:15 Создание игрока
- Автор создает игрока, используя класс FirstPersonController.
- Он отмечает, что тестирование прошло без значительных багов.
04:39 Автоматизация тестирования
- Автор упоминает курс по автоматизации тестирования на Python от Яндекс.Практикум.
- Он подчеркивает важность автоматизации для повышения навыков тестировщиков.
06:09 Завершение и демонстрация
- Автор добавляет механику размещения и удаления блоков.
- Он демонстрирует, как игра выглядит с базовыми элементами, такими как земляные блоки и небо.
- Автор также показывает, как можно использовать видеотекстуры в Ursina.
07:32 Заключение
- Автор оставляет код для дальнейшего изучения и просит зрителей оставить комментарии.
- Он призывает подписываться на канал и обещает продолжение создания Minecraft на Python.
Таймкоды сделаны при помощи Нейросети YandexGPT – Ссылка https://300.ya.ru/v_6N1uu05C
В этом видео
Начало
0:00
Я много раз слышал что свой Minecraft
0:02
можно сделать написав меньше 100 строчек
0:05
кода Да что уж там встречаются и рофло
0:08
вые варианты в одну строчку и всё это на
0:10
Python языке программирования который
0:13
вообще не создавался для игр поэтому
0:15
сегодня я решил проверить насколько это
0:18
реально и сделать свой Minecraft на
0:20
пайтоне с 3D графикой блэкджеком кубами
0:24
и
0:26
пиксельным неплохо я хочу сказать типан
0:30
Почему нет оригинал ведь написан на Java
0:32
языке который также не предназначен для
0:34
игр и вообще будем честны Java
0:37
установлена на миллиарде устройств
0:39
только потому что её себе поставили
0:41
миллиард школьников чтобы поиграть в
0:43
Minecraft скорее всего это какой-то
Выбираем движок
0:46
заговор и первое что нам надо – это
0:49
конечно же выбрать графическую
0:51
библиотеку или же движок как хотите в
0:54
пайтоне таких довольно много это пай
0:57
Game Panda 3D Коко
1:00
урна и есть даже супер популярный н пай
1:04
на котором клепают наверное 90% всех
1:07
интерактивных аниме и хинта игр которые
1:09
потом ещё и в Стиме умудряются продавать
1:12
Но сегодня не об этом да И нам всё равно
1:14
нужна 3D графика А значит я остановил
1:17
свой выбор на движке урси или же урси и
1:21
на официальном сайте Тут пишут что в
1:23
чём-то он даже превосходит движок Юнити
1:26
Что ж охотно верим спойлер нет но это мы
1:29
ещё проверим и для начала Давайте
Ставим Ursina и пишем код
1:31
поставим его в Python как и любую другую
1:34
библиотеку а потом откроем редактор кода
1:36
и попробуем что-то тут сделать так с
1:40
чего начнём и уже по классике я пожалуй
1:44
создам самый обычный вращающийся куб
1:47
Если вы помните точно так же я делал
1:49
когда тыкал библиотеку fre JS так вот в
1:52
урна это делается ещё проще Я просто
1:56
создал в коде объект entity и указал ему
1:58
такие аргументы как тип модели это КБ
2:02
цвет размер и конечно же коллайдер Хотя
2:05
он нам пока не нужен Так как кубику тупо
2:07
Не с чем сталкиваться Но типа пусть
2:10
будет запустим этот код и посмотрим что
2:13
получится видим вращающийся куб Ну как
2:16
видим куб вращается всего один раз да и
2:19
из-за отсутствия освещения это как-то не
Освещение
2:22
особо заметно Поэтому я решил добавить
2:24
вторую самую важную вещь которая есть по
2:27
сути в любой игре и это освещение и
2:30
немного Погугли я нашёл что тут в Ур
2:33
сини это делается через шейдеры Ну и
2:36
Чутка дописав код у меня получилась Вот
2:39
такая картина свет и тени теперь
2:42
присутствуют и это уже какая-никакая но
2:45
база осталось только накинуть на него
2:48
текстур травы из Майнкрафта и игра
Текстурки
2:50
готова Ладно ладно шучу не всё так
2:52
просто да и я вообще понятия не имею как
2:55
ворсина накидывать текстурой так что с
2:57
этого давайте И начнём идм идём в Google
3:00
и качаем архив с текстур ками блоков из
3:02
Майнкрафта и Да я знаю что так делать
3:05
вообще нельзя потому что мы живём в мире
3:08
в котором буквально 10 на10 пикселей
3:10
защищены авторским правом но Камон я
3:13
делаю Minecraft на питоне чем ещё Вы
3:16
можете меня напугать Так что я с ноги
3:19
влетел в документацию ор Сина
3:22
прожарится и вписал сюда слово текстуре
3:26
ага Вот тебя-то я и искал и вот тут Я
3:30
немножко
3:36
профигруп что но мы к этому ещё вернёмся
3:40
чтобы обязательно это проверить а пока
3:42
что текстур Оказывается можно загрузить
3:45
вообще как угодно Ну или просто передав
3:47
имя текстуры как строку Я так и сделал и
3:50
вот что у меня вышло я не знаю насколько
3:53
это похож на Minecraft знатоки
3:55
Отзовитесь нужно ваше мнение в комментах
3:58
Я лично играл в Minecraft очень-очень
4:00
давно и уже подзабыл но что-то мне
4:02
подсказывает что оно должно выглядеть
4:04
как-то по-другому так что я потыкать
4:08
текстурки и объекта Тити и наконец
4:11
получил более-менее адекватный земляной
4:13
Блок из Майнкрафта что ж Давайте теперь
4:16
всё это дело разместим и создадим игрока
4:19
который сможет По этим блокам ходить по
4:21
идее это не должно быть трудно и в
4:23
ворсина должен быть какой-то класс по
4:26
типу плеер контроллера Кто бы мог
4:28
подумать он так так и называется First
Про тестировщиков
4:31
Person Controller и кстати что интересно
4:34
В ходе тестирования Я почти не заметил
4:36
никаких багов и это очень круто а вот в
4:40
реальной жизни проверкой игр и
4:42
приложений занимаются тестировщики если
4:44
несколько лет назад это происходило
4:47
руками долго и с малыми объёмами то
4:49
сейчас тренд везде идёт в сторону
4:51
автоматизации и сферу тестирования это
4:53
также не обошло стороной сегодня Если
4:56
тестировщик хочет сделать апдейт своих
4:58
скилов на работе и быть
4:59
конкурентноспособности
5:03
на Python от яндекспрактикум
5:07
познакомиться с программой и навыками
5:09
курса можно на бесплатной водной части
5:12
на курсе будут учить оптимизировать и
5:14
автоматизировать свою работу освобождая
5:16
время от ручного труда а само обучение
5:19
будет проходить на языке Python повышать
5:21
грейд в работе комфортно у Яндекс
5:23
практикума потому что у них
5:25
высокотехнологичная среда 75% обучения –
5:29
это стая практика которая отрабатывается
5:31
в онлайн тренажёрах и рабочих проектах
5:34
Если же вам что-то будет непонятно на
5:35
помощь придёт нейросеть Яндекс gpt она
5:38
объяснит сложные темы простым языком И
5:41
даже сделает краткие конспекты уроков а
5:43
по окончанию учёбы вы пополните своё
5:45
текущее портфолио тестировщика десятью
5:48
новыми проектами ну а в карьерном центре
5:50
вам даже помогут найти свою работу
5:52
учитывая актуальный опыт и навыки и ещё
5:55
раз напомню начать можно прямо сейчас на
5:58
бесплатной вводной части ссылочка будет
6:00
в описании под роликом либо сканируйте
6:02
QR код который сейчас видите на своём
6:05
экране и помните начать учиться никогда
6:08
не поздно так вот я разместил в коде
Первый тест игры
6:12
сеточку кубов 8 наво и прописал
6:15
добавление нового блока при нажатии на
6:17
левую кнопку мыши и удаление выбранного
6:20
блока при нажатии на правую кнопку мыши
6:23
Вы не поверите но всё это уместилось вот
6:25
в таком маленьком коде а позиция для
6:28
нового блока получает через нормали
6:30
объекта Маус Да ну вот так просто короче
6:34
теперь запускаем и вот это уже больше
6:37
похоже на игру Как видите я ещё добавил
6:40
парочку мелочей вроде цвета неба и
6:43
что-то типа руки персонажа которую я
6:45
даже по приколу анимировать И хотя мы
6:48
можем разместить пока что только
6:50
земляные блоки а мира вокруг у нас как
6:52
такового Пока что опять-таки нет это уже
6:55
какая-то базовая механика Майнкрафта а
6:58
именно размещение и удаление блоков и
7:01
при этом игра выдаёт стабильный 100 +
7:03
FPS А работать с движком Осина оказалось
7:07
очень и очень удобно поверьте человеку
7:10
который тыкал самые разные движки
7:12
библиотеки И кстати как я и обещал Я ещё
Видео текстуры лол xD
7:16
попробовал те самые видео текстуры
7:18
результат смотрите сами Как вам такой
7:21
Minecraft блин это прямо реально круто
7:23
выглядит и если честно я такого особо
7:26
нигде больше не видел и вот этой фичей
7:28
Ур Сина меня прямо удивило Ну да ладно
7:32
если что весь код я оставлю в описании
7:34
под роликом можете сами его потыкать и
7:37
что-то даже добавить А у меня на этом
7:40
всё ставьте лайки Если хотите увидеть
7:42
вторую часть которая возможно будет если
7:45
я продолжу создавать свой Minecraft на
7:47
питоне потому что будем честны с движком
7:50
орсино – это вполне реальная задача
7:53
конечно же подписывайтесь на канал чтобы
7:55
не пропустить новые выпуски А если ещё и
7:57
колокольчик Включите то вы вообще
8:00
большой молодец и обязательно пишите в
8:02
комментариях как вам задумка и
8:04
реализация удачи и всегда помните 3D
8:08
графика на самом деле очень
8:09
Увлекательная штука