Перейти к содержанию
Опубликовано

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

Я взял на себя смелость и создал локализацию игрового интерфейса движка (файл template\localize.rpy) а также перевёл на русский демонстрацию. Всё это согласованно с создателем движка и включено в распространяемый архив, доступный с [url="http://www.renpy.org/wiki/renpy/rus" target="_blank" rel="nofollow">Русской Странички движка Ren'Py

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

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

 

От всей души надеюсь, что вас это заинтересует.

И помните, теперь судьба визуальных новелл на русском и в ваших руках!

 

ЗЫ. ОГРОМНАЯ просьба: протестируйте демо и файл локализации на предмет очепяток и отпишитесь сюда. Пожалуйста!

Изменено пользователем Гость (смотреть историю редактирования)

Цензуре - твёрдое и решительное "НЕТ"!!!

YesToFreedom.org

  • Ответов 1 тыс
  • Просмотры 382,8 тыс
  • Создана
  • Последний ответ

Топ авторов темы

Популярные посты

  • Рен'пи ожидал конец строки, а обнаружил двоеточие... (должно быть просто <jump dush>) Двоеточие ставится в конце первой строки блока - оно показывает, что последующие строки этого блока должны и

  • Что ж, не думаю что это хорошо браться с середины, но надо же хоть как то начинать)) К концку недели ждите первый перевод... наверно по порядку, так что - ATL. Может кому пример подам ^_^   Кому инте

  • Вот файл немного доделанного (не полностью) перевода для новой версии Ren'Py 6.14.1 (Откуда взял первоначальный файл не помню. Может и с этого форума ) Скачать   Положить в <Ren'Py 6.14.1/launcher/

Изображения в теме

Рекомендуемые сообщения

Опубликовано

в одном потоке

Игра повиснет на время выданное на выбор решения, отрабатывая команду паузы, а потом перебросит в слоупочный блок.

 

6.9.3

O_o уже версия 6.13.10 вышла... Локализацию интерфейса можно здесь скачать.

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

 

А по самому вопросу -

        "loadsave_ground.png",
       "loadsave_idle.png",
       "loadsave_hover.png",
       "loadsave_selected_idle.png",
       "loadsave_selected_hover.png",

Это картинки, сюда свои вставлять.

 

(58, 26, 140, 103, "previous"),

- это разположение кликабельных зон, подправить на свои.

Не закрывай рта тем кто открывает тебе глаза.

И твердо встав на ноги, не забывай тех, кто поднимал тебя на руках.

Опубликовано
Игра повиснет на время выданное на выбор решения, отрабатывая команду паузы, а потом перебросит в слоупочный блок.

 

ну т.е. по сути получится тот эффект, которого я добиваюсь? Варианты действия же можно выбирать во время "паузы" (т.е. пока отсчёт идёт)?

Опубликовано

Подскажите как мне менять расположение пунктов настроек.

 

 

http://linkme.ufanet.ru/images/cbc6cfaa84a32aa9b7ebbe7b86e4a8a4.png

 

 

Опубликовано

Код для всех меню находится в файле "screens.rpy" - в него можно внести любые необходимые изменения.

Код для экрана настроек находится в блоке "screen preferences:", и если необходимо сдвинуть все кнопки вниз, то достаточно указать позицию по вертикали, начиная от которой будут отображаться все эти кнопки

screen preferences:

   tag menu

   # Include the navigation.
   use navigation

   # Put the navigation columns in a three-wide grid.
   grid 3 1:
       ypos 50                                    #   <--- Задает отступ 50 пикс. от верхнего края экрана
       style_group "prefs"
       xfill True
   # остальной код без изменений

Опубликовано

На всех более новых от 6.9.3. версиях почему-то теряется контроль над переменной length в этом динамическом объекте:

 

init:
python:

   	def countdown(st, at, length=0.0):

       	remaining = length - st

       	if remaining > 5.0:
           	return Text("%.1f" % remaining, color="#fff", size=72), .1
       	elif remaining > 0.0:
           	return Text("%.1f" % remaining, color="#f00", size=72), .1
       	else:
           	return anim.Blink(Text("0.0", color="#f00", size=72)), None

image countdown = DynamicDisplayable(countdown, length=10.0)

 

как вернуть контроль, кто подскажет?)

суть в том, что когда length доходит до нуля, то он всегда равен нулю, а изменять эту переменную не выходит, она фиксированная (в примере это 10 сек.). В 6.9.3 версии переменную можно менять записав перед вызовом строку "$ length = любое_число"

Изменено пользователем Айон XIV (смотреть историю редактирования)

Опубликовано

to kurochan:

Если вы все еще используете Рен'пи ниже версии 6.11 (т.е. без screen'ов), то изменить положение элементов меню можно с помощью стилей. В файле "options.rpy" есть строки, которые позволяют настроить внешний вид диалогового окна или главного меню - по аналогии можно настраивать стили для других элементов.

Для того, чтобы определить какой стиль надо изменить, стоит воспользоваться "инспектором стилей" - запустить игру, навести курсор на нужный нам объект (в вашем случае - это рамка, содержащая все элементы меню настроек) и нажать Shift + i. В появившемся окне будет указано название стиля (в вашем случае - prefs_frame). Теперь можем поместить код, задающий положение по вертикали для "prefs_frame", в любой блок "init" (он может быть в файле "options.rpy" или любом другом). Добавим строки

$ style.prefs_frame.ypos = 0.3   # для меню настроек
$ style.file_picker_frame.ypos = 0.3 # для меню сохранения / загрузки

 

 

* Знак $ говорит Рен'пи о том, что далее в этой строке идет код на языке python. Если вы будете размещать код в блоке "init python" (как это сделано в файле "options.rpy"), знаки $ надо убрать, т.к. в таком блоке весь код должен быть на python'e и дополнительные обозначения не нужны.

Изменено пользователем Алекс__ (смотреть историю редактирования)

Опубликовано

Игра повиснет

Нет, игра именно повиснет, и никаких действий за это время делать будет нельзя.

 

Переменная length - читать здесь.

Не закрывай рта тем кто открывает тебе глаза.

И твердо встав на ноги, не забывай тех, кто поднимал тебя на руках.

Опубликовано

почитал статейку, попробовал докопаться до length через доступ, но он всё равно игнорирует изменения =(

может быть есть способ задать какую-нибудь глобальную переменную, с помощью которой и изменять значение length?

 

init:
#$ length_time = 10.0  #либо тут её записать
python:
   	length_time = 10.0  #либо тут, работают одинаково, и одинаково игнорируют изменения
   	def countdown(st, at, length=0.0):
       	global length_time
       	remaining = length - st
       	if remaining > 5.0:
           	return Text("%.1f" % remaining, color="#fff", size=72), .1
       	elif remaining > 0.0:
           	return Text("%.1f" % remaining, color="#f00", size=72), .1
       	else:
           	return anim.Blink(Text("0.0", color="#f00", size=72)), None
image countdown = DynamicDisplayable(countdown, length=length_time)

 

как переменную length_time заставить быть видимой во всём коде? У меня либо инвалидные синтаксисы получаются либо глобальная переменная тупо игнорирует изменения (как такое вообще возможно?)

Изменено пользователем Айон XIV (смотреть историю редактирования)

Опубликовано

to Айон XIV

Не все так просто...

http://lemmasoft.ren...ountdown#p97448

Изменено пользователем Алекс__ (смотреть историю редактирования)

Опубликовано

изменять переменную в ходе сценария получилось, вот только проблема с обнулением не исчезла, когда таймер доходит до нуля, то он после этого становится всегда равным нулю и не изменяется :(

но всё равно спасибо за ссылку)

 

upd:

как-то странно, вечно нуля становится равным если прослоупочить все места, где всплывает этот ограничитель. Если же хотя бы в одном месте успеть, то переменная не "ломается" и продолжает исправно работать... что за чудеса? О_О

Изменено пользователем Айон XIV (смотреть историю редактирования)

Опубликовано

Вся беда в использовании DynamicDisplayable - не мучайся с ним, воспользуйся screen'ами

screen my_countdown:
   timer 1 repeat True action If( (my_time > 0 ) , [ SetScreenVariable('my_time', my_time - 1), Play("my_channel", "tick.ogg")], [Hide('my_countdown'), Jump(label_to_jump_to)] )
   if my_time > 5:
       text str(my_time) xpos 20 ypos 20 size 47
   elif my_time > 0:
       text str(my_time) xpos 20 ypos 20 size 47 color "#c00"
       
   
###################################################
# The game starts here.
label start:

   show screen my_countdown (my_time=10, label_to_jump_to="toolate")
   "Hurry up!"
   hide screen my_countdown
   "Right in time."
   return
label toolate:
   "It's too late"
   jump start

 

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

Опубликовано

Приветствую, дорогие товарищи!

 

Хочу предложить Вам принять участие в Бета-тесте небольшой визуальной новеллы.

 

В рамках «фанфико-творчества» по серии произведений С.А.Кима «NGE - Чтобы выжить» в конце прошлого года стартовал новый проект!

 

На настоящий моент в условно готовом состоянии находится тестовый релиз первой части новеллы.

 

Тестовый релиз изначально портирован только для Windows.

 

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

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

Далее, до финального релиза планируется только править игру – убирая багги и «очапятки», а также немного корректировать графику.

Дальнейшего продолжения сюжета в первой части игры – не будет.

На настоящий момент сюжет реализован от пролога до беседы Вик-Сина с Мисато Кацураги на смотровой площадке после выписки из госпиталя.

Добавление дополнительных, кроме уже использованных в тестовом релизе, «помпонов и бантиков, а так же свистелок с перделками» – возможно, хотя на настоящий момент не планируется.

 

___________________________________________

 

http://helikk.narod.ru/vn/1.jpg

http://helikk.narod.ru/vn/2.jpg

http://helikk.narod.ru/vn/3.jpg

http://helikk.narod.ru/vn/4.jpg

http://helikk.narod.ru/vn/5.jpg

http://helikk.narod.ru/vn/6.jpg

http://helikk.narod.ru/vn/7.jpg

 

 

___________________________________________

 

Ссылка для скачивания (файл архива 30.7Mb): GtobiGit_02-1-win32.zip

 

Работоспособность ссылки и целостность архива проверена.

 

Буду признателен за ваше мнение, возможные советы или рекомендации...

 

 

 

Основное обсуждение и работа над проектом ведется тут: Тема в авторском разделе на ВВВ

Опубликовано

новый проект!

:o Ну ты крут, чувак. Вполне себе достойно. Лица из ARIK похоже взял, (я к ней мод делал - узнал), а фоны из сериала и полнометражек?

 

Да, если что - обращайся напрямую, контакты в профиле.

На RenPy я работаю с августа 2009.

http://test.amahrov.ru/misc/image/plus1.gif http://read.amahrov.ru/smile/viannen_89.gif

 

Да, посмотрите сюда - думаю, весьма пригодится.

 

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

Комитет ЗИЭЛЕ - лучше Seele.


Начало Евангелиона - Краткая кинетическая новелла на RenPy, повествующая о событиях от древнейших времён другой Вселенной до 1 января 2000 года (и несколько дальше) на нашей Земле.

 

 

 

Мой второй фанфик по еве (первый - это мод к ARIK). Содержит данные по Ангелам, Второму Удару, Звёздным Мудрецам (Seele), и ещё несколько аспектов, и бонус в конце.

 

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

 

Больше это предыстория моей версии ARIK, хотя частично можно отнести и к оригинальному сериалу.

 

Begin of Evangelion

 

Несколько скриншотов (текст скрыт чтобы не спойлерить)

http://img514.imageshack.us/img514/2929/screenshot110x.th.jpghttp://img202.imageshack.us/img202/5176/screenshot108z.th.jpghttp://img132.imageshack.us/img132/6031/screenshot107x.th.jpghttp://img248.imageshack.us/img248/6291/screenshot106z.th.jpghttp://img17.imageshack.us/img17/2207/screenshot105mw.th.jpg

 

 

 

Изменено пользователем Элионт (смотреть историю редактирования)

Не закрывай рта тем кто открывает тебе глаза.

И твердо встав на ноги, не забывай тех, кто поднимал тебя на руках.

Опубликовано
Лица из ARIK похоже взял' date=' [/quote']

Из "нее родимой"... :D

фоны из сериала и полнометражек?

Фоны - фотографии из Интернета (виды Южно-Сахалинска)' date=' подрезанный рисунок коллеги с этого форума и конечно же из полнометражки, они более подходящие к сюжету книги, чем были в сериале... и даже в этом случае еще немного подпиливать текст придется, для большего соответствия...

Да, посмотрите сюда - думаю, весьма пригодится.

Eliont, благодарю за ссылку на сборку ресурсов! Немного ранее нашел ссылку на нее на просторах темы на известном Вам форуме... ;) Действительно очень полезная подборка и в будущем непременно пригодится...

Сидирую эту подборку с 27-марта. сего года. ;)

Да' date=' вроде Адам - первый ангел, Лилит - второй, а дальше уже остальные каратели.

Комитет ЗИЭЛЕ - лучше Seele. [/quote']

Ну... тут, как в книге говорится - так и использовано... у нас тут с Автором не принято сильно спорить...

 

За предложение помощи по движку - Огромное спасибо, она (помощь) обязательно потребуется, потому как РенПи пока только осваиваю, и данный процесс идет, так сказать методом "научного тыка". :D

 

Лица из ARIK похоже взял' date=' [/quote']

Из "нее родимой"... :D

фоны из сериала и полнометражек?

Фоны - фотографии из Интернета (виды Южно-Сахалинска)' date=' подрезанный рисунок коллеги с этого форума и конечно же из полнометражки, они более подходящие к сюжету книги, чем были в сериале... и даже в этом случае еще немного подпиливать текст придется, для большего соответствия...

Да, посмотрите сюда - думаю, весьма пригодится.

Eliont, благодарю за ссылку на сборку ресурсов! Немного ранее нашел ее на просторах этой темы... ;) Действительно очень полезная подборка и в будущем непременно пригодится...

Сидирую эту подборку с 27-марта. сего года. ;)

Да' date=' вроде Адам - первый ангел, Лилит - второй, а дальше уже остальные каратели.

Комитет ЗИЭЛЕ - лучше Seele. [/quote']

Ну... тут, как в книге говорится - так и использовано... у нас с Автором не принято сильно спорить...

 

За предложение помощи по движку - Огромное спасибо, она (помощь) обязательно потребуется, потому как РенПи пока только осваиваю, и данный процесс идет, так сказать методом "научного тыка". :D

  • 3 недели спустя...
Опубликовано

Здравствуйте.У меня такая проблема.Создаю новый проект,сохраняю скрипт и всё нормально.Потом запускаю программу снова,а проекта нет.Что делать?

Версия 6.9.3.

Заранее извиняюсь,если вдруг такой вопрос уже был.

Опубликовано

Что делать?

Выбрать проект -> имя вашего проекта.

Либо, если настройки слетели, Опции/Настройки -> папка проектов -> указать папку где ваши проекты затем пункт 1.

Не закрывай рта тем кто открывает тебе глаза.

И твердо встав на ноги, не забывай тех, кто поднимал тебя на руках.

Опубликовано

Выбрать проект -> имя вашего проекта.

Либо, если настройки слетели, Опции/Настройки -> папка проектов -> указать папку где ваши проекты затем пункт 1.

 

Спасибо.Вроде теперь всё нормально.

Опубликовано

Решил влиться в ваше братство.

Возникла проблема - приложенный мануал почти ничего не рассказывает про работу со звуком.

дайте ссылочку плз где рассказано поподробней.

собственно проблемы

1 музыка вызванная из options (config.main_menu_music = "sorse/sound/menu_start.mp3") не заканчивается со стартом игры.

2 как сделать так что бы трек проигрывался только 1 раз.

3. самое важное как запускать несколько звуков

заранее спасибо

 

ага с проигрыванием 1 раз разобрался musik-sound

Опубликовано

Спасибо.Вроде теперь всё нормально.

 

Пожалуйста ^___^

 

дайте ссылочку плз где рассказано поподробней.

Вот тут можно прочитать всё если с английским норм.

Не закрывай рта тем кто открывает тебе глаза.

И твердо встав на ноги, не забывай тех, кто поднимал тебя на руках.

Опубликовано

оперативно и как раз то что нужно. crome выручай )

 

странно что то не получается

scene laken

play music [ "sorse/sound/lake.mp3", "sorse/sound/step.mp3" ]

 

e"Погода не слишком хорошая, сплошной туман"

---------------------------------------------------

 

"sorse/sound/step.mp3" почему то не играет слышно только lake.mp3

Опубликовано

огромное спасибо.

и еще вопросик. если способ не давать перейти на следующий фрейм пока не доиграет звук

Опубликовано

если способ не давать перейти на следующий фрейм пока не доиграет звук

мб $renpy.pause(длительность ТРЕКА) сразу после play "track.mp3".

 

play music [ "sorse/sound/lake.mp3", "sorse/sound/step.mp3" ]

"sorse/sound/step.mp3" почему то не играет слышно только lake.mp3

 

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

Не закрывай рта тем кто открывает тебе глаза.

И твердо встав на ноги, не забывай тех, кто поднимал тебя на руках.

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

Последние посетители 0

  • Ни одного зарегистрированного пользователя не просматривает данную страницу

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.