G
enby!

Разработчик C++ изучает Python

Я разработчик на C++, но пытался изучить Python, создав игру с графической библиотекой Pygame для новогоднего джема сообщества Pygame. За два дня я смог собрать простую игру (что-то среднее между Flappy Bird и Cookie Clicker?), и за это время многому научился! Познакомьтесь с Flappuccino здесь: https://polymars.itch.io/flappuccino
→ Исходный код: https://github.com/PolyMarsDev/Flappu...
Лучший стол с регулируемой высотой до 300 долларов (скидка 15 долларов): https://bit.ly/3sKPkHe
→ Twitter:   / polymarsyt   → Twitch:   / polymars   → Присоединяйтесь к Discord в PolySpace:   / discord   --Главы-- 0:00 Вступление 0:41 Настройка Python 1:20 Стриминг? 1:29 Идея игры 2:25 Реализация базового игрового процесса 3:15 Добавление спрайтов 4:06 Система коллекционных предметов 5:18 Базовый интерфейс 6:01 Система улучшений 7:42 Необычный фон 8:09 Финальные штрихи 8:47 Заключение --Музыка-- "Nocturnal" - PolarChips (   • Nocturnal (8 Bit Jazz)  ) "Swing" - PolarChips (   • Swing (8 Bit Jazz)  ) "Glider" - INTL CMD (  / intlcmd  ) "Breeze" - PolarChips (   • Breeze  ) "EDM Detection Mode" - Кевин Маклеод (http://incompetech.com)
"Sneaky Snitch" - Кевин Маклеод (http://incompetech.com)
"Operatic 3" - Vibe Mountain (   • 🎵 Operatic 3 - Vibe Mountain 🎧 No Copyrigh...  ) --Если вам понравилось это видео, вот похожие, которые вам могут понравиться!-- PolyMars - Изучаем SDL2 за 48 часов - GMTK Game Jam 2020    • Learning SDL2 in 48 Hours - GMTK Game Jam ...   PolyMars - Создаём игру с использованием API ботов Discord    • Making a Game With Discord's Bot API   PolyMars++ - Обучаем программированию абсолютного новичка    • Teaching an Absolute Beginner to Code   CodyCantEatThis - Я создал Super Mario Bros, но это 3D    • I Made Super Mario Bros but it's 3D   Дэни — Он сказал, что я не смогу создать 3D-игру… Поэтому я её создал!    • He said I Couldn't Make a 3D Game... So I ...   Дэни — 6 месяцев обучения разработке игр в Unity (прогресс и результат)    • 6 Months of Learning Game Development in U...   Сэм Хоган — Я создал игру с намеренными ошибками    • I Made a Game with Intentional Bugs   Сэм Хоган — Я создал самую сложную игру в мире    • I Made the Hardest Game Ever   Mythic Legion — Переделываю свою первую игру! | Девлог №1    • Remaking My First Game! | Devlog #1   Рэндалл — Программирование нового физического движка для моей игры    • Programming a new physics engine for my game   --Описательное описание-- Я подумал, что было бы интересно попробовать изучить Python, поставив себе задачу создать видеоигру менее чем за 48 часов (2 дня) с использованием графической библиотеки Pygame. Да, я знаю, что Python, возможно, не лучший язык для создания игр в реальном времени, но его определённо достаточно для моих простых 2D-игр, например, той, которую я создал на SDL2 за 48 часов для GMTK Game Jam 2020. Для этого девлога я нашёл недельный игровой джем: новогодний джем сообщества PyGame, но решил сократить его до 2 дней и выделить себе всего 48 часов на создание игры. Первым делом мне нужно было всё настроить, что, в итоге, оказалось довольно просто. Я запустил установщик Python для Windows, добавил расширение Python в VS Code и установил Pygame через pip. Теперь можно приступить к созданию самой игры! Я решил попробовать создать игру, похожую на Flappy Bird, но вертикальную — нужно было собирать кофейные зерна для улучшения характеристик, таких как сила взмахов и скорость, чтобы взлететь как можно выше. Я нашёл пример в Pygame, который показал мне, как нарисовать квадрат на экране. Следующим шагом стала гравитация, что очень просто для такой игры. В каждом кадре я добавляю фиксированное значение к переменной скорости по оси Y, затем добавляю скорость по оси Y к переменной позиции по оси Y и рисую квадрат в этой позиции по оси Y. Затем я разобрался, как работает ввод с клавиатуры в Pygame, и сделал так, чтобы при нажатии клавиши переменная скорости устанавливалась на отрицательное фиксированное значение, позволяя синему квадрату взмахивать крыльями. Я также присвоил игроку скорость по оси x, которая переворачивает его, если его координата по оси x меньше нуля или больше ширины экрана. Теперь основная механика игры готова — вы можете махать крыльями и отскакивать от стен. Я создал графику для игрока и коллекционных кофейных зёрен, а также «камеру», которая следует за игроком — по сути, я просто смещаю всё на экране относительно координаты y игрока. Для функциональности кофейных зёрен я создал класс Collectible с Vector2 для хранения их положения и написал функцию для столкновений прямоугольников. Я рисую список зёрен над игроком, и если какое-либо зёрно сталкивается с игроком, я сбрасываю его положение в случайный диапазон над игроком. На этом основная игра закончена. Я завершил проект, добавив пользовательский интерфейс и другие визуальные элементы, например, красочный фон, и создав магазин (использующий валюту в виде зёрен) с тремя улучшениями: одно увеличивает силу взмахов, другое — скорость, и третье — увеличивает количество коллекционных кофейных зёрен. На этом испытание закончилось! Это было изучение Python за 48 час...

Смотрите также