game development
October 8, 2019

Мамин игродел. Введение

Здравствуйте, дорогие читатели!

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

Личные попытки автора написать игровой движок без компилятора и библиотек

Под гнётом этих мыслей большая часть джуниоров так и не достигнет поставленнной в начале цели – написать свою собственную игру. А те, которые достигнут, скорее всего, не захотят повторить пройденного ещё очень долго…

Все эти пугающие мысли – отчасти правда. Действительно, чтобы игра работала вам потребуется и обращаться с железом, и использовать сложный код, но существует один хороший способ как делать это, при этом не мучаясь. Этот способ – библиотеки.

Действительно, зачем самому мучаться, когда можно воспользоваться результатами мучения других людей? Ведь вот уже почти весь код написали, и оптимизировали его, и от багов почистили, и с компьютером скомутировали. Тем не менее, этот код писал не ты, а кто-то другой. И как всегда бывает, чужой код(в данном случае библиотечный) без сторонней помощи крайне тяжело понять.

Добавьте описание

Хотя и существуют документации к библиотекам, хотя и существуют туториалы, но большинство из них – унылая непонятная куча информации.

В общем, в библиотеках для разработки игр сложно разобраться, а очень хочется. Чтобы помочь вам в этом мы открываем серию статей, посвящённых игровым библиотекам и разработке игр на Python для начинающих: «Мамин Игродел».

Перед нами стоит конкретная задача: написать простую 2D RPG игру, продемонстрировав при этом максимум возможностей таких важных библиотек как PyGame, Pyglet, Arcade, Cocos2D. По сути мы напишем четыре одинаковые игры, используя при этом разные библиотеки, попутно рассказывая вам про особенности каждой из них и об особенностях разработки игр в целом. Вам же останется только выбрать среди этих библиотек любимую и использовать её в своих дальнейших проектах. Погнали!

Как обычно первым делом нужно установить необходимые библиотеки. Для этого нам понадобится написать в командную строку такие великолепные команды как:

1) python -m pip install pygame

Для PyGame


2) python -m pip install pyglet

(Для Pyglet)

3) python -m pip install cocos2d

(Для Cocos2D)

4) python -m pip install arcade

python -m pip install dataclasses

(Для Arcade)

Теперь мы готовы начать. В этой статье наша цель создать наиболее простое приложение: приложение, просто выводящее большую надпись “Hello, World!”. Посмотрим, как же этот код выглядит с использованием разных библиотек:

PyGame:

Pyglet:

Arcade:


Cocos2D:


И уже на этапе создания такого простого приложения становятся заметны особенности некоторых библиотек. Так, например, уже замечается многофункциональность и масштабность библиотеки Pygame, интересный способ рендера картинки в Cocos2D(Послойный рендер), простота в освоении и высокая скорость написания у библиотек Arcade и Pyglet.

В каком-то смысле эти суждения верны, но всё же торопиться с выводами не стоит. Полноценно понять и освоить эти библиотеки нам ещё только предстоит. А пока что разбирайте данный код, если остались вопросы и ставьте лайки. Скоро выйдет следующая статья, в которой мы уже займёмся делом: добавим игрока, окружающие объекты и физику.
Спасибо за прочтение!