Путь гейм-девелопера начинается с написания чего-нибудь простого, например, «змейки», но перед этим ему нужно найти инструмент, на котором он ее создаст. Предлагаем Python: во-первых, это один из самых популярных языков программирования по версии PYPL (индекса популярности языков программирования), а во-вторых, у него есть библиотека Pygame — набор инструментов специально для создания игр.

Что такое Pygame?

Pygame — это библиотека Python, состоящая из ряда инструментов для разработки видеоигр. Она абсолютно бесплатная, и у нее открытый исходный код, а это значит, любой разработчик может развернуть ее на собственном сервере и видоизменить на свое усмотрение. Другое ее достоинство — она кроссплатформенная, потому что базируется на платформе Simple DirectMedia Layer (SDL). На Pygame можно написать игру практически для любого устройства и любой системы.

Библиотека была впервые представлена в октябре 2000 года. Последняя на момент написания статьи версия была выпущена в сентябре 2023 года — проект растет, развивается и постоянно поддерживается.

Игры на Pygame

На Pygame была написана Flappy Bird — одна из самых популярных мобильных игр в мире. Причем, по словам разработчика «птичек» Донга Нгуена, на создание видеоигры у него ушла всего пара дней.

Flappy Bird стала культурным феноменом и настоящим трендом, а еще одной из самых «клонируемых» игр в мире. Это значит, что она породила множество проектов с похожим геймплеем, в том числе из-за простоты разработки. Фактически, любой школьник мог скачать дистрибутив Python, установить Pygame и написать за несколько дней собственную Flappy Bird, как сделал в свое время Донг Нгуен.

Но «птички» — не предел возможностей Pygame. На сайте инди-разработчиков iitch.io можно посмотреть примеры видеоигр, созданных с использованием библиотеки. Они разнятся как по жанрам, так и по геймплею.

Pygame для начинающих

Главное в Pygame — доступность для начинающих. Python как язык можно использовать для создания игр; более того, на нем частично или полностью были написаны Battlefield 2, The Sims 4, Vampire: The Masquerade — Bloodlines, World of Tanks. Но Pygame дает хорошее понимание, как работает система, с чего начать процесс разработки и о чем нужно подумать. Она позволяет разобраться в физике игр, чтобы впоследствии проще было создать настоящий шедевр.

Поэтому начинающие разработчики могут написать на Pygame что-нибудь простое, понятное и классическое.

«Змейка»

Практически любой курс программирования предлагает студентам написать «Змейку», потому что она простая и веселая. Курс Python от «Зерокодера» — не исключение. Любое новое знание проще воспринять через игру, поэтому в нашей учебной программе тоже есть разработка игры.

Еще в 2000-х годах мы играли в «Змейку» на старых телефонах Nokia, но и сейчас она доступна на маркетплейсах. Механизм остался прежним, изменилась только графика.

«Змейка» — пожалуй, та самая видеоигра, с которой стоит начать изучение игровой стороны Python. Сложно даже представить, для скольких величайших гейм-дизайнеров она стала первым проектом.

Судоку

Судоку — игра-головоломка с сеткой 9×9. В сетке девять квадратов, в которые нужно вписать цифры от 1 до 9. Игрок не может повторить число в строке, столбце или квадрате.

В Pygame можно написать и ее — специально для тех разработчиков, которые предпочитают экшн-играм головоломки. Более того, библиотека позволяет не только написать единичную игру, но и создать генератор судоку, который будет в рандомном порядке создавать сетки.

Ретро-гонки

Помните 16-битные гоночные игры? Похожую видеоигру можно сделать в Pygame. Игрок будет управлять двухмерным или трехмерным автомобилем, направлением его движения или скоростью.

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

Это отличная возможность для изучения физики объектов в видеоиграх. Более того, это хорошая отправная точка для тех, кто в будущем хочет работать над гоночными играми.

Готовы написать свою первую игру? Тогда вперёд! Начать изучение Python можно с бесплатного онлайн-практикума, на котором преподаватели объяснят базу и расскажут, что делать дальше.