Одна из классических игр для друзей – «Правда или действие». Не всегда хватает фантазии, чтобы быстро придумать желание/вопрос для игроков, а скачанные приложения полны рекламы и платных функций. Так давайте создадим свою версию буквально за час. 

 

Писать игру мы будем на движке Ren’Py (язык программирования Python|Cython), на котором написано легендарное «Бесконечное лето» (в статье я рассказала о главном предназначении движка).

Вам необходимо скачать набор средств разработки, последнюю версию ищите на официальном сайте: https://www.renpy.org/latest.html/
На сайте также есть подробные уроки, которые помогут освоить движок: добавлять спецэффекты, работать с музыкой, анимировать персонажей и еще много чего.

После установки SDK откройте renpy.exe, интерфейс выглядит так:

 

 

Создаем новый проект, для которого выбираем название, разрешение экрана и цветовую гамму интерфейса (вы конечно сможете изменить ее в настройках при необходимости). После создания вы будете работать с 4 файлами .rpy:

Script – основной файл, куда можно добавлять фоны/спрайты/меню выбора/текст повествования

Gui – название говорит само за себя: файл настраивает графический интерфейс пользователя на уровне цветов и шрифтов

Options – настройки самой игры

Screens – файл работы с внутриигровыми экранами. Содержит информацию о расположении элементов интерфейса.

 

Чтобы работать с файлами требуется один из этих редакторов: jEdit (мой фаворит: самый простой и понятный), Atom или Editra. Если для вас главное - не картинка, а функциональность, то можно вообще ничего не менять в файлах настроек. Код программы максимально простой, рассмотрим его по частям.

 

Пройдемся по синтаксису:

# - комментарий
label – метка, которая нужна для того, чтобы после показа желания или вопроса вновь вернуться к меню выбора.

jump – обеспечивает возвращение к нужной нам метке

scene – позволяет выбрать фон. Достаточно указать цвет для получения однотонного фона или загрузить свое собственное изображение (тогда это изображение нужно будет загрузить в папку проекта Img, а в коде записать scene название_изображения.jpg)

menu: - открывает меню выбора. В нашем случае два пункта – «Правда» и «Действие». Ставим двоеточие после названия пункта и пишем, что произойдет при выборе того или иного варианта, а именно: переход на метку Правда, чтобы программа сгенерировала случайный вопрос, и переход на метку Действие для случайного желания.

$название_переменной – объявляем переменную, которая может хранить различный тип данных. У нас это будет строка.

renpy.random.choice([‘первый вариант’, ‘второй вариант’…]) – функция, которая возвращает случайное значение из всех перечисленных. На месте вариантов в блоке Правды вы записываете вопросы, в блоке Действия – желания.

str() – преобразование в строку для корректного вывода на экран.

centered «текст» – размещает текст (вопрос/желание)в центре окна.

Если вкратце объяснить работу программы, то:

  1. Пользователь открывает приложение, в стандартном меню (оно уже прописано в файлах настройки) нажимает кнопку «Начать»

  2. Открывается меню выбора, пользователь выбирает Правду или Действие и на экране появляется вопрос или желание (на скриншоте ниже)




     
  3. После прочтения появляется возможность вернуться опять в меню выбора. И так до тех пор, пока не надоест.

А теперь финальный этап – построение дистрибутивов. Я неспроста сделала акцент на кроссплатформенности в заголовке, так как Ren’Py поддерживает ОС Windows, Linux, Mac, Android и iOS. Для выбора платформы в меню Ren’Py нажмите «Построить дистрибутивы», а в открывшемся меню отметьте нужную ОС. После построения откроется папка уже готового приложения. Для мобильных версий потребуется установка дополнительных компонентов, но не стоит переживать: вам будет предоставлена пошаговая инструкция, в конце которой вы получите файл для Android или iOS.

Если есть вопросы по инструкции – пишите в директ @daria.outdoor, с удовольствием покажу свою версию приложения и помогу в случае любых трудностей.

 

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

Дарья Прядка

 

 

Популярні статті

Читати далі