Скачать ренпай на русском


Ren'Py 6.99.12 "We get the job done."

was released on December 20, 2016. It was updated to 6.99.12.4 on February 28, 2017. The main downloads of Ren'Py 6.99.12 are:

You only need to download one of these three files. Each contains the full Ren'Py software development kit, with everything needed to develop Ren'Py games for Windows XP and up, Mac OS X 10.6 and up, and Linux x86/x86_64. The development environment contains the files needed to produce games for all three platforms, the Ren'Py tutorial, and "The Question", an example game.

Ren'Py is free to download and use for commercial and non-commercial purposes. It may be modified and distributed under the terms of its license.

Additional Downloads. When necessary, the Ren'Py SDK will automatically download additional packages, such as text editors and Android/iOS support. These packages are available for direct download at the bottom of this page.

Release History and Updates

6.99.12.4.2187: February 28, 2017 This release fixes a number of bugs, including one that would cause the renpy.input function to crash. It improves the console (accessed with shift+O), and updates translations. 6.99.12.3.2123: February 12, 2017 This release fixes a number of bugs. It also adds and renames gui variables so that every text property can be controlled by a gui variable, and adds support for the new Ren'Py Interactive Director. 6.99.12.2.2029: December 31, 2016 This fixes a bug that could prevent viewport children from becoming focused, and a bug that prevented the RAPT and Renios DLC from being downloaded properly. It also adds functionality to support the interactive director. 6.99.12.1.2012: December 23, 2016 This fixes a major issue that could cause MultiPersistent data to not work on systems using non-ASCII character sets. It also fixes other bugs, and updates the Indonesian translation.

Announcement

I'd like to announce Ren'Py 6.99.12, the latest in a series of releases that will culminate in Ren'Py 7, and one of the biggest Ren'Py releases to date.

This release focuses on improving support for new versions of macOS, by changing the macOS-specific package to support code signing and work correctly when path randomization is enabled. When run on macOS, Ren'Py can automatically sign the application, and create a signed disk image. The launcher can launch older Ren'Py applications on macOS Sierra, to improve compatibility with older games.

Because of this change, the -all distribution has been retired, replaced with -mac and a new -pc distribution that supports Windows and Linux.

The other main focus of this release is improving support for translation of the new GUI. Translating Ren'Py now translates both the launcher and the interface of new games created in the launcher language. It is also possible to change the font used by the launcher and new projects. There is a page about translating Ren'Py in the documentation, to guide the process.

In addition to these major focuses, this release includes a number of new features and bug fixes.

Ren'Py 6.99.12 is brought to you by:

  • Bryan Tsang
  • Daniel Luque
  • Gas
  • Joshua Fehler
  • Morgan Willcock
  • Merumelu
  • Nyaatrap
  • Pratomo Asta Nugraha
  • Project Gardares
  • Renoa
  • Ria-kon
  • Spiky Caterpillar
  • Vollschauer
  • Xela
  • Xavi-Mat

and myself, Tom "PyTom" Rothamel.

Downloads of Ren'Py 6.99.12 can be found at:

https://www.renpy.org/release/6.99.12

A full list of changes to Ren'Py can be found at:

https://www.renpy.org/doc/html/changelog.html

A list of changes that may require you to update your game can be found at:

https://www.renpy.org/doc/html/incompatible.html

Please also check out the credits and list of sponsors.

Editor Downloads

When first asked to edit a file, the Ren'Py launcher will prompt you to download and install an editor. As this may fail if your Internet connection is unreliable, the editors can be downloaded separately. To install, extract the contents of the editor archive to the Ren'Py directory.

Editra (Windows): renpy-6.99.12.4-editra-windows.zip Editra (Mac): renpy-6.99.12.4-editra-mac.zip Editra (Linux): renpy-6.99.12.4-editra-linux.tar.bz2 jEdit: renpy-6.99.12.4-jedit.zip

Android and iOS Support

When building Android or iOS packages, Ren'Py will prompt you to download RAPT (Ren'Py Android Packaging Tool) or Renios (Ren'Py iOS Support). As these downloads may fail if your Internet connection is unreliable, these packages can be downloaded separately. To install, extract the contents of the archive to the Ren'Py directory. (Place the "rapt" or "renios" directory into the "renpy-6.99.12.4" directory.)

Android Support (RAPT): renpy-6.99.12.4-rapt.zip iOS Support (Renios): renpy-6.99.12.4-renios.zip

Additional Downloads

Raspberry Pi Support: renpy-6.99.12.4-raspi.tar.bz2 Contains files required to allow Ren'Py to run on the Raspberry Pi. This should be untarred in the Ren'Py sdk directory. Ren'Py Source Code: renpy-6.99.12.4-source.tar.bz2 Contains the source code of the Ren'Py distribution without any binary components. Pygame_SDL2 Source Code: pygame_sdl2-2.1.0-for-renpy-6.99.12.4.tar.gz Contains the source code for the version of pygame_sdl2 required to run this version of Ren'Py. This may be newer than any released version of pygame_sdl2. Other Dependencies: https://www.renpy.org/doc/html/license.html Ren'Py contains free software licensed under a number of licenses, including the GNU Lesser General Public License. A full list of software and links to git repositories from which the software can be downloaded is linked above. Checksums: checksums.txt Checksums for the various files making up the Ren'Py distribution.

We also maintain a complete list of releases.

www.renpy.org

С чего начать и где брать ресурсы? - Ren'Py - Коллективный блог - Anivisual.net

Всем привет.

Очень часто, начинающие создатели новелл задают мне вопросы вроде: «А где скачать то-то?», «А как найти это-то?». Отвечать одно и то же, мне уже в лом, посему я решил написать статью, в которой будут собранны все необходимые ссылки. Естественно, подборка основывается лишь на личных предпочтениях, посему не стесняйтесь гуглить что-нибудь другое. Ren'py.

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

Любителям русского языка я посоветую… выучить английский. Серьёзно, без этого вы далеко не уедете. Но, как бы там ни было, вот вам ещё и ссылка на очень старые русские версии Ren'Py. Используйте её только в самых запущенных случаях. www.renpy.org/wiki/renpy/rus

Замечу, что в новых версиях Ren'Py тоже есть перевод на русский язык, но его там меньше чем в старых, а если конкретней, то там не переведена обучающая новелла.

Как вариант вы можете обучиться основным приёмам на старой версии, но работать всё-равно предпочтительнее в новой, ибо там меньше багов, и она более совместима с современными системами.

Документация.

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

Английская документация на официальном сайте: www.renpy.org/doc/html

Уже устаревшая, но русская статья, которая призвана ввести новичков в курс дела: Руководство для начинающих

Картинки.

Вообще я считаю, что картинки лучше рисовать самостоятельно, какими бы кривыми они не были. Но, в любом случае, коль уж я собрался сделать подборку ссылок, нужно оставить и несколько сайтов с картинками.

Первым будет freedigitalphotos.net Сайт с большой подборкой диджитал арта и фотографии. Вполне подойдёт для поиска фонов. Согласно лицензии на сайте(в момент написания статьи, естественно), чтобы использовать картинки необходимо указать сайт freedigitalphotos.net и автора картинок в титрах.(или чём-то подобном… думаю, README.txt тоже подойдёт)

Вторым будет старый добрый девиан арт. Все работы в этой группе под лицензией Creative commons, то есть вы можете использовать их в своих работах. Но замечу, если вам важна легальность ваших картинок, то стоит ознакомиться с различными CC лицензиями, прежде чем их использовать.

Спрайты персонажей найти гораздо сложнее, но вот кое-что из того что нам предлагает английское сообщество Ren'Py:

Спрайты

Задники

Разное (Кнопки, переходы и т.п.)

Конечно же, вы можете просто навырезать всё из других новелл или наворовать картинок ещё где-нибудь, но данный вариант не очень-то законен и в этой статье мы его не рассматриваем. В заключении этого раздела, я дам вам ссылку на простой, свободный и бесплатный редактор изображений Gimp, который вы можете вполне успешно использовать для рисования. Не фотошоп конечно, но тоже вполне достойный вариант, если вы умеете рисовать.

Музыка.

Для музыки я посоветую soundcloud.com. Вбейте в поиск что-нибудь вроде «Creative commons» или «BGM Creative commons», чаще всего это выдаст вам музыку с CC лицензиями. Если лицензия CC, то скачать можно прямо оттуда, но если автор не хочет, чтобы его музыка где-то использовалась, он скорее всего заблокируют скачку. Просто не удивляйтесь если мелодию, которая вам понравилась, будет нельзя скачать. Это просто значит, что автор не разрешает вам её использовать.

Так же, думаю, стоит оставить ссылки на некоторые свободные программы для работы со звуком:

1) Audacity – отличная программа если звук нужно слегка подрезать или как-то иначе немного изменить. Весьма хороший вариант для работы со звуковыми спецэффектами. Так же, можно использовать как программу для записи своих звуков и, например, голосов. Доступна для всех основных систем.

2) LMMS – это DAW. Если вам это вам ни о чём не говорит, то, скорее всего, вам оно и не нужно. По факту свободный аналог FL Studio, используется для написания музыки. По сравнению с FL имеет весьма ограниченный функционал, но если руки прямые, то можно сделать весьма качественные вещи. Доступна для Linux и Windows.

3) Podium Free – Это тоже DAW, но уже более серьёзная. Но ограничения поставленные на бесплатную версию вряд ли позволят вам сделать что-то стоящее на ней. Лично я использую для сведения и мастеринга того что было сделано в LMMS. Так же можно использовать для работы со звуковыми эффектами на более продвинутом уровне чем в Audacity.

4) Reaper – Опять же DAW. Судя по отзывам,(Сам не использовал) представляет из себя уже вполне продвинутый инструмент. Для некоммерческого использования вполне подойдёт, для коммерческого придётся купить.

Звуки

Для звуков я обычно использую старый добрый freesound.org. Это огромная база различных звуков. Есть как хорошие, так и не очень. Но будьте готовы к тому, что вам придётся искать нужный звук на английском языке. (В случае чего, google translate в помощь)

Куда выложить.

Ну, если встаёт вопрос: «Куда выложить игру?» - то, наверное, собственного сайта у вас нет. А это значит, что самый простой способ получить какую-никакую публику - это социальные сети.

Если ваша новелла на русском языке, советую создать группу в vk.com, а затем, разрекламить её в различных многонаселённых группах посвящённых аниме, играм или, как ни странно, визуальным новеллам.

Если ваша игра на английском языке, можете поделиться ею, например, на лемма софт форум. Единственное, что посоветую - проверьте игру на её Английскость. Не позорьтесь.

Гугль. Вот она - самая полезная ссылка. Ищите новые сайты, ищите новые ресурсы, ищите людей, которые их делают. Если все начнут использовать одни и те же спрайты, фоны или музыку, как это было в англоговорящих комьюнити… это будет весьма и весьма печально. Посему не ленитесь и ищите сами.

Где взять игры, чтобы поиграть?

Ну, и напоследок, не забывайте проходить и чужие новеллы, а не только создавать. Английские ли, русские, или же японские, не суть. Чужие ошибки и успехи помогут вам найти нужный путь. Посему завершающей ссылкой в этой статейке будет ссылка на базу визуальных новелл, в которой вы сможете найти может и не все новеллы когда-либо изданные, но, как минимум многие, многие из них. (Плюс там очень удобная система поиска и сортировок) Ссылки на скачивание придётся искать самим, но тут уж ничего не поделать. Большая часть новелл есть на рутрекере и на леммасофт форумс. vndb.org

В комментариях к этой статье предлагаю оставлять ссылки на полезные ресурсы которые используете вы. Если конечно на сайте будут комментарии к статьям. х)

Автор статьи: Дмитрий Галдин

Администратор, ютубер и просто "тот самый Тернокс"

anivisual.net

Ren'Py 6.16 "In the Arena"

was released on November 6, 2013. It was updated to 6.16.5 on December 17, 2013. The main downloads of Ren'Py 6.16 are:

You only need to download one of these three files. Each contains the full Ren'Py software development kit, with everything needed to develop Ren'Py games for Windows XP and up, Mac OS X 10.6 and up, and Linux x86/x86_64. The development environment contains the files needed to produce games for all three platforms, the Ren'Py tutorial, and "The Question", an example game.

Android. To package a Ren'Py game for Android, please use RAPT - the Ren'Py Android Packaging Tool. RAPT can be downloaded here, and is documented in the Ren'Py Documentation.

Ren'Py is free to download and use for commercial and non-commercial purposes. It may be modified and distributed under the terms of its license.

Additional Downloads. When first used, Ren'Py will prompt you to download a text editor. An Internet connection is required for this download.

Release History and Updates

6.16.5.525: December 17, 2013 This release adds back a missing file that is required to launch jEdit. 6.16.4.524: December 16, 2013 This release fixed Android building support, the Replay function, and the scanning of save games. It also includes a number of improvements to the documentation. 6.16.3.502: November 29, 2013 This release fixes a problem that could cause excessive texture memory usage. It also improves Android support in several ways, making it possible for Ren'Py games to appear in the tablet section of Google Play. 6.16.2.490: November 21, 2013 This release adds new Spanish translations of the launcher and template game. It adds a new function that gets the mouse position, and fixes bugs, typos, and usability flaws in the launcher and Ren'Py proper. 6.16.1.409: November 9, 2013 This release includes a number of bug fixes related to translation and running in non-ASCII directories, including a fix to the updater. It also includes documentation improvements.

Announcement

On behalf of the Ren'Py team, I'm pleased to announce Ren'Py 6.16 "In the Arena". This release brings with it:

  • Improved Android support, including the ability to build APKs from the launcher, support for Expansion APKs, and support for televison-based consoles like the OUYA.
  • The ability to associate JSON information with a save file, and access that information in the load and save screens.
  • Save file synchronization when Ren'Py is run from a shared directory.
  • Support for a creator dumping the text of the game script, and for automatically playing appropriately-named voice files.
  • Improvements to the gallery (including a new navigation overlay) and the music room (such as shuffle, loop, and single-track toggles.)
  • A Japanese translation of the launcher, template, and documentation.

As well as a number of minor improvements and bugfixes.

This release has been brought to you by:

  • javimat
  • kyouryuukunn
  • Koichi "vbkaisetsu" Akabe
  • Daniel Luque
  • Tom "PyTom" Rothamel

With thanks to antoinentx for improving support for international directories, and everyone who contributed ideas, bug reports, and feedback to Ren'Py development.

Downloads of Ren'Py 6.16 can be found at:

https://www.renpy.org/release/6.16

A full list of changes to Ren'Py can be found at:

https://www.renpy.org/doc/html/changelog.html

A list of changes that may require you to update your game can be found at:

https://www.renpy.org/doc/html/incompatible.html

Please also check out the credits and list of sponsors.

Editor Downloads

When first asked to edit a file, the Ren'Py launcher will prompt you to download and install an editor. As this may fail if your Internet connection is unreliable, the editors can be downloaded separately. To install, extract the contents of the editor archive to the Ren'Py directory.

Editra (Windows): renpy-6.16.5-editra-windows.zip Editra (Mac): renpy-6.16.5-editra-mac.zip Editra (Linux): renpy-6.16.5-editra-linux.tar.bz2 jEdit: renpy-6.16.5-jedit.zip

Additional Downloads

Ren'Py Source Code: renpy-6.16.5-source.tar.bz2 Contains the source code of the Ren'Py distribution without any binary components. Other Dependencies: renpy-deps-6.15.5.tar.bz2 Contains source code for the libraries that Ren'Py depends on.

We also maintain a complete list of releases.

www.renpy.org

Что такое Ren'Py и с чем его едят — Ren'Py — Игры — Gamer.ru: социальная сеть для геймеров

Что такое Ren'Py и с чем его едят

Что такое Ren'Py и с чем его едят

Ren'Py это бесплатный кросс-платформенный движок, который поможет вам сделать сюжетную игру. Это может быть:

Что такое Ren'Py и с чем его едят

Что такое Ren'Py и с чем его едят

Визуальная новелла, история, рассказанная с помощью текста, изображений, звуков и музыки. Скриптовый язык Ren'Py позволяет писать визуальные новеллы просто и эффективно, профессиональный программист для создания игры не понадобится.

Что такое Ren'Py и с чем его едят

Что такое Ren'Py и с чем его едят

Симулятор, например, симулятор свиданий или тайм-менеджер тоже можно написать на Ren'Py, используя поддержку языка Python. Движок сам позаботится о таких вещах, как постоянство и эффективный рендеринг, позволяя программисту сфокусироваться на интерфейсе и логике игры. Более того, скриптовый язык Ren'Py, на котором так просто писать визуальные новеллы, позволит добавить сюжетные вставки в ваш симулятор.

Возможности визуализации и геймплея Ren'Py могут быть расширены пользователем и достаточны для создания любой двумерной сюжетной игры.

Бесплатность

На Ren'Py можно делать как коммерческие, так и бесплатные игры. Хотя движок и его библиотеки являются open source, лицензирован от таким образом, что вы можете сами выбрать, будут у вашей игры открытые исходники или нет. Для распространения игры на Ren'Py вам не придется платить создателям движка или кому-то еще.

Кросс-платформенность

Одно из главных преимуществ Ren'Py - его кросс-платформенность.

Движок может компилировать отдельные версии игр для всех этих платформ. Пользователю не придется ничего дополнительно скачивать - игры запустятся сразу.

Скриптовый язык

В Ren'Py используется простой язык, основанные на тексте. Вот небольшой отрывок из игры:

label family:

scene bg beach3

with dissolve

"Вскоре Мэри нарушила тишину, задав мне вопрос."

show mary dark smiling

with dissolve

m "Я немного рассказала о своей семье... но еще не спрашивала о твоей. Какая она?"

p "Здесь на острове я живу с моими тетей и дядей, а дома - с мамой, папой и сестрой."

m "Сестрой? Старшей или младшей?"

Что такое Ren'Py и с чем его едят

Что такое Ren'Py и с чем его едят

Как видно в этом примере, взятом из настоящей игры, работа со скриптом Ren'Py требует ненамного больше усилий, чем простой набор сюжетного текста. Движок даже позволяет сокращать имена персонажей и печатать m вместо "Мэри".

Ren'Py позволяет назначить персонажам и изображениям переменные. С ними очень просто вносить изменения, не переписывая всю игру. Скрипт также позволяет добиться того, чтобы определенные изображения или текст оставались неизменными на протяжении всей игры.

Вместе с движком поставляется тектовый редактор jEdit, но скриптовый язык Ren'Py основан на тексте и это позволяет работать с ним в текстовых редакторах на ваш выбор. Есть также сторонние инструменты для проверки правописания и сравнения двух версий игры.

Возможности скриптового языка:

    - Отображение диалогов и мыслей

    - Игрок может делать выборы с помощью меню

    - Показ и скрытие изображений

    - Переходы между экранами

    - Проигрывание музыки, звуков и голоса

    - Переходы по меткам

    - Использование переменных

    - Использования языка Python для более сложных задач

Начиная с версии 6.10 появилась возможность произвольно анимировать положение камеры, делая небольшие клипы из одного или нескольких сменяющихся изображений:

Настройки по умолчанию

Что такое Ren'Py и с чем его едят

Что такое Ren'Py и с чем его едят

Ren'Py по умолчанию включает все возможности, которые игрок ожидает от визуальной новеллы. По желанию их можно отключить, но каждая новая игра будет иметь:

    - Главное меню, отображаемое перед началом игры

    - Игровое меню для загрузки, сохранения и настроек

    - Выбор между полноэкранным и оконным режимами

    - Независимая настройка громкости музыки, звуков и голоса

    - Возможность промотки текста, с ограничением на уже пройденное

    - Автоматическая промотка текста на любой скорости, причем более длинный текст остается на экране дольше

    - Возможность скрыть текст, чтобы игрок мог рассмотреть фон

    - Отмотка на предыдущие экраны, где можно сделать другой выбор

    - Предварительная загрузка фоновых изображений, ускоряющая их вывод на экран

Настройки внешнего вида и локализация

Что такое Ren'Py и с чем его едят

Что такое Ren'Py и с чем его едят

Что такое Ren'Py и с чем его едят

Что такое Ren'Py и с чем его едят

У разработчика игры множество возможностей настроить Ren'Py под свою игру:

    - Отображение текста в режиме NVL, когда на экран выводится несколько абзацев текста одновременно

    - Изменение внешнего вида меню с помощью тем

    - Стили, с помощью которых можно детально настроить вид игры

    - Можно менять шрифт, его размер, цвет и вид. Текстовые тэги позволяют применять эти свойства к отдельным блокам текста.

    - Ren'Py был переведен на множество языков, включая русский

Поддерживаемые типы файлов

Что такое Ren'Py и с чем его едят

Что такое Ren'Py и с чем его едят

Изображения: JPEG/JPG, PNG, BMP, GIF

Звук: OGG Vorbis, WAV (только несжатый PCM), MP3, MP2

Видео: Theora, MPEG 4, MPEG 2, MPEG 1

Ren'Py поддерживает шрифты TrueType и некоторые шрифты, основанные на изображениях. Движок сам запакует все ресурсы в архивный файл формата RPA - это предотвратит их случайный просмотр игроком (для защиты от спойлеров).

На движке Ren'Py сделано уже более 180 игр, из них несколько на русском языке.

Полезные ссылки:

Официальный сайт движка - Подробное описание и форум на английском языке

Русская страничка движка - Локализованная версия движка и Руководство для начинающих

Русскоязычное обсуждение - тема на Аниме-Форуме

Подробнее о визуальных новеллах - Визуальные новеллы и движок Ren'Py

Описание движка по материалам официального сайта.

Перевод (с сокращениями) мой.

www.gamer.ru

Ren"Py - создание игр: визуальных новелл, симуляторов свиданий и др. - AiiSiiK

Движок для создания визуальных новелл и симуляторов свиданий(Datesim), средств повествования.

Описание:

[spoiler=Версия 6.9.3-rus]

Версия: 6.9.3-rus

Разработчик: renpytom

Платформа: MS Windows, Mac OS X 10.3+, Linux x86

Системные требования:

Язык интерфейса: Русский [/spoiler]

Ren"Py -- движок для создания

визуальных новелл и

симуляторов свиданий(Datesim), средств повествования посредством компьютера. Движок использует сценариообразный синтаксис скрипта, что что превращает сознание простых игр в несложное дело, оставаясь гибким и предоставляя широкие возможности опытным авторам. Без всяких дополнительных усилий со стороны создателей игр он предоставляет возможности, ожидаемые в каждой визуальной новелле, например, сохранение-загрузка, доступ к настройке различных параметров игры и отмотка назад. Ren"Py поддерживает Windows, Mac OS X, и Linux x86, а также может быть запущен и на других платформах.

Написан на Python и основан на PyGame. Ren"Py является программой

с открытым исходным кодом и может быть свободно использован как для некоммерческих, так и коммерческих целей.

С помощью Ren"Py уже было создано более 180 игр!Скачать сам движок можно

здесь

с

DataTrackera +Руководство на русском +Несколько игр

Для встроенного редактора потребуется

Java JRE

[spoiler=Скриншоты:]

[/spoiler]

[spoiler=Ссылки]Посетите

сайт Ren"Py на русском языкесайт Ren"Py на русском языке

Страничка проекта в

LaunchPade.

Скачать игры, созданные на этом движке, можно

здесь. [/spoiler]

Ну и обращайтесь в личку или в мирке #[email protected]

Вот ещё сделал

кое-что №2 с исходниками конечно :)

Использовал

генератор аниме-девочек ^_^

[spoiler=Пример кода][code]# Здесь будет скрипт вашей визуальной новеллы.

init:

# Здесь объявляют изображения, фоновые и персонажей. Командами вроде:

image m n1 = "c/maemi/n1.png"

image m n2 = "c/maemi/n2.png"

image m n3 = "c/maemi/n3.png"

image m n4 = "c/maemi/n4.png"

image m s3 = "c/maemi/s3.png"

image m s4 = "c/maemi/s4.png"

image m cat= "c/maemi/cat.png"

image bg h = "b/h.jpg"

image bg h3 = "b/h3.jpg"

image bg s = "b/s.jpg"

image bg s2 = "b/s2.jpg"

image bg t = "b/t.jpg"

image bg c = "b/c.jpg"

image bg s = "b/s.jpg"

# Здесь также объявляют персонажей, участвующих в новелле (не забудте про u перед русскоязычными именами!).

#$ hs = Character(u"Харухи",

# color="#ffffa0",

# window_left_padding=160,

# show_side_image=Image("eileen_side.png", xalign=0.0, yalign=1.0))

$ m = Character(u"Maemi", color="#f0a080")

$ iname = u"Я"

$ i = DynamicCharacter("iname", color="#80f080")

label start:

scene bg h

with fade

"Похоже я проснулся.\n{w}Незнакомый потолок.\n{w}Незнакомая комната."

i "Аа-а!"

scene bg h

with fade

i "Где я?"

"Не знаю, как я попал сюда. Ничего не помню.{w}\nКомната какая-то странная. Стены картонные что-ли?"

"Даже пол сделан из какого-то материала. Похоже на дерево. {w}\nНикогда раньше не видел такого."

"Думаю, мне надо выйти из комнаты и выяснить ситуацию."

scene bg h3

with fade

"Кажется это столовая комната. Тут стоит обеденный стол."

i "Здрасти! {w}\nэээ...Извините! {w}Есть кто дома?"

"Действительно, дом какой-то другой."

"Никто не ответил."

"Это всё странно, но похоже никого дома нет."

"{i}ding-dong{/i}"

"...Кто-то звонит в дверь"

"Я подошел и открыл дверь."

"Открываю, там стоит девочка с длинными волосами."

show m n1 with dissolve

i "ээ... Здрасти"

m "Ohayo godzaimas!"

i "Аа? Что?"

show m n3 with dissolve

m "Ano... eto...{w} Kimi wa Kenta no oni-chan?"

i "Я ничего не понимаю.{w}\nАай!"

show m s3 with dissolve

"Внезапно разболелась голова. Я упал на колени."

m "Oi! Daizyobu kana? ...Что с вами?"

i "Итаа-ай-ай как болит голова!"

"Стой. {w}Она заговорила нормально!"

show m n3 with dissolve

i "Ты умеешь говорить по-русски?!"

m "Я? Нет."

i "Ээ... так почему... Аа! А как ты думаешь, на каком языке я говорю?!"

show m n2 with dissolve

m "На японском. Ты иностранец?"

"Боль, кажется, утихла"

i "Смотря, в какой я стране... Ты сказала на японском? Значит я в Японии?"

m "А ты не знал? ...Тебя похитили?!"

i "Нет нет. Я сам не знаю. Похоже, я потерял память."

m "А помнишь как тебя зовут? Ты не Кента?"

$ iname = renpy.input(u"Меня зовут...") or u"П"

i "Нет, Меня зовут %(iname)s. Странно, но я помню своё имя. {w}\nА как тебя зовут?"

show m s4 with dissolve

[/code][/spoiler]

#ubuntu

www.dnevniki.ykt.ru

Why Ren'Py?

Ren'Py is a free and cross platform engine for digital storytelling. It makes it easy to combine words, images, and sounds to create visual novels and life simulation games.

Visual novels are computer-based stories that are told through words, images, sounds, and music. Many visual novels also present the player with menu choices that allow the player to control how the story is told.

Ren'Py's script language makes it easy to write visual novels, and other writing-heavy games. It's easy to learn, and scales well to the largest projects. Even without customization, Ren'Py provides the features players have come to expect from their visual novels.

Life Simulation games, such as management and dating sims, are more interactive games that mix story with gameplay. Ren'Py's screen language allows one to create complex interfaces, while its support for the Python scripting language allows for complex game logic, if that's what your project requires.

Free and Open Source

Summer Session is one of many commercial games made with Ren'Py.

Ren'Py is free to use with commercial and non-commercial games. There is no need to pay a fee to us or anyone else1 to distribute your Ren'Py game. Ren'Py has already been used with a half-dozen commercial games, and more are on the way.

Ren'Py doesn't tie your work to a particular company, web service, or business model. Ren'Py games have been digitally downloaded millions of times, can be moved on USB drives, and have been burned to CD and sold at conventions from Texas to Tokyo. We think it's important the maker can choose how his or her work is distributed.

Ren'Py is open source, which means that everyone is allowed to change it, in order to fix bugs or add features. Of course, with a record of over six years of improvements, it likely won't be necessary --- but the option is there if your project needs it.

1 Unless you use mpeg or mp3 support, in which case you're responsible for paying for the patent license. We don't recommend using these formats in commercial games.

Cross Platform - Computer and Mobile

One of Ren'Py's biggest advantages is that runs on almost every computer. There are three primary platforms we support:

  • Windows XP+ (x86)
  • Mac OS X 10.6+ (x86_64)
  • Linux (x86, x86_64)

The Ren'Py launcher makes it possible to build versions of Ren'Py games for all three from any of these three platforms, making it possible to develop (for example) Mac and Linux versions on Windows.

Ren'Py games are not dependent on any other software on these platforms. There's no need for your users to download runtimes, drivers, codecs, or anything like that. If a user has one of the supported platforms, Ren'Py will run. (Even if not, Ren'Py is written using portable technologies like pygame, and so can probably be made to run.)

Android (2.3+) and iOS (7+) are supported as a secondary platforms. Ren'Py runs on these devices, but development must occur on one of the computer platforms.

Simple Scripting Language

Ren'Py allows visual novels to be written in a simple scripting language. Here's a small excerpt from a game:

label family: scene bg beach3 with dissolve "It wasn't long before Mary broke the silence, by asking me a question." show mary dark smiling with dissolve m "I told you a little about my family... but I haven't asked you about yours yet. What's your family like?" p "When I'm on the island here, I live with my aunt and uncle, but back home, I live with my mother, father, and sister." m "A sister? Is she older or younger?" Moonlight Walks 2.0 is a remake of one of the first Ren'Py games ever made.

As you can see, this example, taken from a working Ren'Py script doesn't require much extra typing when compared just simply typing in the script for the game. It even lets you abbreviate character names, letting you write m instead of "Mary".

Ren'Py lets you define characters and images in a central place, making it easy to change the game. Scripts also provide consistency, ensuring that the placement of text and images does not inadvertently change throughout the game.

Unlike other engines that force you to use particular tools, the Ren'Py script language works with whatever text editors and other tools you choose. While we include the jEdit text editor, there's nothing forcing you to use it if you have another editor you like better. Other third-party tools can check your game's spelling, or show you the differences between two versions of the game.

Since Ren'Py's scripting language is text based, it can be typed out on any keyboard. Not having to switch back and forth between the keyboard and mouse helps increase productivity, especially when producing large projects.

Features Players Want

Preferences Screen

Ren'Py includes, by default, all of the features a user expects from a visual novel game. While most of these features can be customized or disabled if desired, by default each new game has:

  • A main menu that lets the user start a new game, load a game, or adjust settings.
  • A game menu that lets the user load, save, and adjust settings.
  • Automatic saving of games.
  • Rollback, the ability to go back in time to see previously shown screens. The user can even make different choices the second time around.
  • Predictive image loading, which loads images in the background. This prevents the user from having to wait around while images are being loaded from disk.
  • Support for controlling the game using the mouse, keyboard, or gamepad.
  • The ability to pick if the game runs in fullscreen mode, or in a rescalable window.
  • The ability to skip through text when replaying, including the ability to skip only text that's been read.
  • The ability to auto-advance text without having to hit the keyboard. This adjusts to the amount of text being shown, so longer text sticks around longer.
  • The ability to hide text, so that the user can see the pictures behind it.
  • The ability to independently change music, sound effect, and voice volume.

Easy to Customize and Localize

TFQ uses a lot of imagemap-based menus.

There are many ways a creator can customize the look and feel of Ren'Py:

  • Dialogue can be presented in the default ADV-style mode, or in NVL-mode, where more than one block of text is on the screen at once.
  • The style system allows the creator to customize the look of text, buttons, bars, and other interface components.
  • Ren'Py's screen language makes it possible to control the layout and behavior of every screen of the user interface.
  • The same functionality is made available to Python code, for games that might choose to change their interface at runtime.

Ren'Py game have been made in or translated to Arabic, Brazilian Portuguese, Czech, English, French, German, Italian, Indonesian, Japanese, Russian, and Spanish. With proper fonts, it supports any language that doesn't require ligatures, and some that do.

Powerful Effects

The Ren'Py Tutorial shows how to use the Animation and Transformation Language in conjunction with a few images to create a movie-like experience.

Ren'Py can take advantage of hardware acceleration on supported computers, while falling back to software support when it's not. This acceleration makes it possible to apply sophisticated effects to high definition images.

The Animation and Transformation Language included with Ren'Py makes it possible to animate images, move them around the screen, rotate them, adjust their scaling, and adjust their opacity. All of these can easily be changed over time.

Ren'Py ships with dozens of customizable transitions that can be invoked when a scene changes. In addition to a full set of slides, wipes, and moves, this includes:

  • Pixellation of the old scene, and unpixellation of the new one.
  • Fades to black (or another color), and then to the new scene.
  • Dissolves of the whole screen from one scene to another.
  • Image-controlled dissolves, which use an image to control which portions of the screen dissolve in first. This has been used as the basis for a variety of powerful effects, from blood spatters to transporter beams.

Ren'Py also supports the playback of movie files.

Compatible Formats

The Ren'Py Launcher, jEdit and the Ren'Py Tutorial running on OS X.

Ren'Py is compatible with assets in a variety of popular formats:

  • Images: JPEG/JPG, PNG, WEBP, BMP, GIF
  • Sound/Music: OGG Vorbis, OPUS, WAV, MP32, MP22
  • Movies: OGG Theora, VP9, VP8, MPEG 4, MPEG 2, MPEG 1
  • Scalable Fonts: TrueType
  • Image-based Fonts: SFont, BMFont, MudgeFont

2 These formats may be patented, and so may not be suitable for use in commercial games.

Well Supported

Hundreds of games have been released with Ren'Py, making it one of the most widely used visual novel engines in the world.

There are now a large number of creators with Ren'Py experience, many of whom are willing to help fellow creators. The best place to go for support is the Ren'Py forum at the Lemma Soft Forums, which has more than 56,000 posts in over 9,500 threads. (Figures accurate as of September 2014.)

What Next?

When you're ready to start using Ren'Py, you'll want to download it from our download page, and then take a look at the Quickstart Guide.

We can't wait to see what you create!

www.renpy.org

Пишем текстовую игру на Python/Ren'Py / Хабрахабр

Как сделать текстовую игру? Да как угодно. Как сделать кроссплатформенную текстовую игру на русском с иллюстрациями, звуком, работающими сохранениями, без проблем с кириллицей, и с каким-никаким геймплеем? Да ещё и в свободное время, не отрываясь от основной работы? Вот это уже интересней и на самом деле — довольно несложно. Заинтересовавшихся прошу под кат.

Примерно год назад мы с товарищем задумали сделать небольшую текстовую игру приблизительно в духе Sunless Sea и 80 days: про мореплавание, торговлю, исследование странных поселений и общение со странными личностями. Там должна была фигурировать религия, а лучше несколько, главного героя хотелось видеть не спасителем, героем страны и прославленным мореходом, а умеренно неудачливым предпринимателем/авантюристом, до которого и дела никому нет, а модный выбор между меньшим и большим злом заменить на выбор между добром и добром: никакого набившего оскомину гримдарка ради гримдарка. Довольно быстро придумались основные фракции и персонажи, крупные порты, политическая обстановка и куча симпатичных мелочей вроде подводной охоты на осьминогов (изображена на КДПВ) и гениальной идеи дать почти всем персонажам венгерские имена, которые звучат экзотичней привычных европейских и вызывают некоторую неявную симпатию. В общем, деревянных домиков понабигало немало.

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

Почему Ren'Py
Сразу скажу, что писать движок с нуля мы даже не пытались: велосипедостроение увлекательно само по себе, но малоэффективно, если стоит цель всё-таки выпустить игру до выхода на пенсию. Также мы не рассматривали парсерную Interactive Fiction: у неё и на английском языке очень небольшая аудитория, а на русском наш проект, будь он парсерным, мог бы заинтересовать в лучшем случае несколько сот человек. А хочется если не заработать денег, то хотя бы пройти гринлайт и набрать какую-никакую репутацию. К счастью, большинство нынешних англоязычных разработчиков текстовых игр перешло от некоммерческих хобби-проектов к профессиональному геймдеву буквально несколько лет назад. Поэтому основные движки либо опенсорсны, либо, во всяком случае, бесплатны. Давайте посмотрим, что нам предлагают.

Первый вариант, пришедший мне в голову – Storynexus от Failbetter games, разработчиков Fallen London и Sunless Sea. Проекты на нём редактируются через браузер, хостятся Failbetter и через браузер же доступны игрокам. Возможности для монетизации с прошлого года удалили. Главный минус, однако, не в этом, а в том, что в Fallen London большая часть событий представлена картами, выпадающими из колоды, и сделать на Storynexus игру, не использующую эту метафору – задача нетривиальная. Да и вообще намертво привязывать свой проект к стороннему серверу с закрытым кодом, который теоретически может вообще прекратить работу в любой момент, довольно рискованно.

Есть ещё два хороших проприетарных движка для Choose Your Own Adventure, то есть игр примерно нашего типа: ChoiceScript и Inklewriter. Оба обещают прекрасную типографику, простоту разработки (браузерный редактор у Inklewriter, скриптовый язык у ChoiceScript) и возможность коммерческой публикации. К сожалению, оба позволяют делать только чистое CYOA: нет никакой возможности добавлять в игру что-то помимо собственно текста, меню и иллюстрациий. Внимательный читатель воскликнет: “Но как же так? В 80 days ведь был довольно сложный инвентарь и интерфейс путешествий, верно? А в Sorcery! я точно видел боёвку!” Увы, эти системы разрабатывались Inkle Studios под конкретные игры и в редакторе нет ни их, ни хоть какой-нибудь возможности сделать себе такие же. По той же причине (а также потому что он, эм, своеобразный) мы отказались от Twine.

Единственным устраивающим нас вариантом оказался Ren'Py. Это бесплатный опенсорсный движок для визуальных новелл (например, именно на нём сделаны “Бесконечное лето” и “Katawa shoujo”), который довольно легко настраивается для наших задач. Игры получаются кроссплатформенные: сборка дистрибутива под Win/Mac/Linux – вопрос нажатия одной кнопки, причём даже не надо иметь под рукой целевую ОС. Android и iOS также заявлены и Ren'Py-релизы под мобильные оси существуют, но мы сами пока на мобильный рынок не целимся и о разработке для него рассказать не можем. К тому же у Ren'Py очень дружелюбное и живое сообщество на русском и английском.

Простейший сценарий на Ren'Py
Ren'Py написан на Python 2.7 + Pygame и имеет собственный DSL. На этом языке, во-первых, за счёт команд типа “Показать bg_city_night_53.png в качестве фона без анимации” или “Произнести реплику «Cем… СЕМПАЙ!!!» от имени персонажа nyasha1” в императивном стиле пишется собственно сценарий. Во-вторых, подмножеством этого языка является Screen Language, на котором можно в декларативном стиле собирать из ограниченного набора Displayables (то есть виджетов: кнопок, изображений, текстовых полей и тому подобного) экраны и настраивать их функциональность. Если встроенных возможностей недостаточно, то с помощью Python можно добавлять собственные. Этим мы займёмся в следующей статье, а пока разберёмся со сценарием.

Сценарий в Ren'Py состоит из последовательности реплик, действий с экранами и ввода игрока. Про экраны и ввод чуть ниже, а для начала мы разберёмся с персонажами. В визуальной новелле они создаются так (код из официального туториала, с незначительными правками):

define m = Character('Me', color="#c8c8ff") define s = Character('Sylvie', color="#c8ffc8") image sylvie smile = "sylvie_smile.png" label start m "Um... will you..." m "Will you be my artist for a visual novel?" show sylvie smile s "Sure, but what is a \"visual novel?\"" Создано два персонажа: протагонист и Сильви, оба пишут бледно-синим цветом в стандартное окошко внизу экрана. У Сильви к тому же есть портрет, который появится на экране перед тем, как она начнёт говорить. Выглядит это вот так:

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

define narrator = Character(None, kind = nvl, what_color="#000000", size = 12) Его зовут narrator; это специальное имя, которое отдаёт ему весь текст, явно не аттрибутированный другим персонажам (строго говоря, его зовут None, а narrator, как и m и s в предыдущем примере – переменная, в которую помещается объект персонажа и из которой вызываются его методы, например, say) Аргумент kind принимает два значения: adv и nvl. Первое – это дефолтное поведение, описанное выше, а второе включает nvl-режим, в котором портреты не показываются, а текстовое поле занимает большую часть экрана. Как раз то, что нам было нужно. Этот режим описывается экраном nvl_screen в файле screens.rpy и группой стилей styles.nvl* (файлы screens.rpy и options.rpy соответственно), в которых мы зададим шрифт, фон текстового поля, цвет меню и всё остальное.

label start: image bg monet_palace_image = Image('images/1129_monet_palace.jpg', align=(0 .5, 0.5)) nvl clear hide screen nvl scene bg monet_palace_image $ Ren'Py.pause(None) " — Я всегда говорил: твои песенки — дерьмо, Люсьен, и я не понимаю, где ты только находишь музыкантов, согласных это исполнять!" Разберём построчно: сперва объявляется ярлык start, с которого начнётся игра. Это название зарезервировано и движок всегда будет переходить на него после нажатия кнопки “Новая игра”, где бы в сценарии он ни находился. Всё, что следует за ярлыком, логически находится “внутри” этого ярлыка, поэтому выделяется индентацией: она в Ren'Py работает так же, как и в чистом питоне. Инициализация картинки достаточно очевидна, а вот следующая строчка делает важную вещь: убирает весь текст с экрана nvl_screen. Автоматически это не делается, поэтому, если не расставлять nvl clear в конце каждой страницы, текст спокойно уползёт за пределы экрана и будет выводиться туда, пока экран не будет наконец очищен. Вроде бы мелочь, но на отладку пропущенных nvl clear я потратил намного больше времени, чем готов признать. Свежевымытый экран мы временно уберём, чтобы позволить игроку полюбоваться фоном, покажем фон, включим бесконечную паузу (то есть дождёмся клика) и начнём историю. Как только на nvl_screen начнёт выводиться текст, экран сам вернётся на место.

Строка с паузой, кстати, уже на питоне: для включения единичной строки её достаточно начать с '$', а более длинные куски кода нужно писать внутри блока 'python:'. Любой код, исполняемый игрой, видит модули самого Ren'Py и явно импортировать их уже не нужно.

Добавляем ветвление и переменные
К этому моменту игра представляет собой читалку, которая показывает текст, меняя при необходимости фоны. Сохранение, перемотка, главное меню и настройки уже работают из коробки. Однако если бы мы хотели написать иллюстрированную повесть, то мы бы её и написали, верно? Добавим перед текстом небольшое меню:label start: menu: "Зайти в меню разнообразного дебага": $ debug_mode = True jump debug_menu "Пропустить вступление": jump the_very_start_lazlo_nooptions "Начать вступление": label the_very_start: #show screen nvl nvl clear hide screen nvl scene bg monet_palace_image $ Ren'Py.pause(None) " — Я всегда говорил: твои песенки — дерьмо, Люсьен, и я не понимаю, где ты только находишь музыкантов, согласных это исполнять!" Теперь после включения игры пользователь (или, скорее, разработчик) сможет при желании войти в режим дебага или пропустить уже готовый кусок вступления и начать тестировать сразу кусок из последнего коммита. Строка show screen nvl закомменчена за ненадобностью – как я уже упоминал выше, экран покажется сам собой, когда на нём обновится текст. Комменты, как видите, работают абсолютно очевидным образом.

Ярлыки, меню и другие индентированные блоки могут быть вложены до произвольной глубины, но на практике мы стараемся дробить текст на эпизоды в десяток страниц. Каждый такой эпизод описан внутри отдельного ярлыка с нулевой индентацией (он уже не обязан быть внутри ярлыка start или даже в одном с ним файле), а переходы из одного эпизода в другой осуществляются прыжками. Так мы не только боремся с десятками уровней индентации, но и обеспечиваем модульность кода: каждый эпизод может тестироваться отдельно и довольно несложно проверить, какие переменные он читает, в какие пишет и куда позволяет перейти.

Внутриигровые меню и переменные устроены абсолютно так же. Поскольку и переменных, и ярлыков даже в небольшом эпизоде на десять минут игры разводится невероятное количество, мы приняли несложный вариант венгерской нотации: имя ярлыка 'the_very_start_lazlo_nooptions' состоит из трёх частей: названия локации the_very_start (то есть период от начала игры до первого выхода в море), названия эпизода lazlo (то есть пьянка у Лазло, на которой можно нанять молодых бездельников в матросы) и имени собственно ярлыка. При таком подходе имена получаются достаточно громоздкими, но лучше так, чем обнаружить при тестировании, что три месяца назад кто-то уже создал переменную ship_listing, выставил True бог весть где и теперь крен из одного случайного события влияет на исход другого случайного события на другом конце моря.

Вместо заключения
К этому моменту мы уже воспроизвели на Ren'Py функционал упоминавшихся выше Choicescript и inklewriter. Вроде бы наш кораблик готов к отплытию. В следующей статье я покажу, как можно создавать более сложный интерфейс с использованием экранного языка RenPy и ещё более сложный — на чистом питоне.

habrahabr.ru


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