Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Учимся работать со сценариемСтр 1 из 3Следующая ⇒
Начало работы Для начало работы вам необходимо будет скачать Ren’ру http: //www.renpy.org и установить ее, только смотрите что бы папка сохранения была не на русском языке(говорят скоро будет обновление где эта проблема будет исправлена). Запускаем проект. У нас запустился лаунчер, и он на английском. Что бы его перевести на русский язык заходим в preferences как показано на картине И выбираем русский язык и выходим в главное меню программы Далее разъясняю где что на экране программы 1) Проекты. Здесь находятся все ваши и сторонние проекты. 2) Добавить новый проект. Из названия и так все ясно. 3) Открыть папку. Из названия и так все ясно что она открывает папки выбранного проекта 4) и 5) Основные файлы с которыми мы будем работать при создавании новеллы 6) Навигация по Сценарию. Нажав на нее вы с легкостью сможете найти ваши метки, ссылки, скрипты… 7) Запустить проект.Из названия и так все ясно.
Для ознакомления, что вообще представляет собой Ren’py, какие есть у него возможности, запустите программу обучения. У вас запустится новое приложение, которое так же через preferences можно перевести на русский язык. Когда вы познакомились с обучением, создайте ваш первый проект. Для этого нажмите < Добавить новый проект> И у вас высветится окно выбора 1) New Gui interface – новый графический дизайн 2) Legacy Theme Interface – старый графический дизайн Новый более удобней и симпатичней смотрится, чем старый дизайн. Но когда вы перейдете к редактированию главного меню загляните в контакт и найдите там сообщество Ren’Py. В сообществе откройте видео, и там вы найдете видео уроки как создавать меню игры и другие полезные материалы.
Запомните Всегда в последнюю очередь создавайте свое главное меню. В процессе создания новеллы у вас может разительно поменяться: сюжет, герой, фон, художник и вам ее придется полностью переделывать. Создавая новеллу с меню вы тратите время зря, которая пошла бы на пользу создания вашего проекта. И возможно, вы бы успели создать 1 главу, пока вы создаете только меню. И после того как будет завершена 1 глава можете смело создавать меню, т.к. некоторые проекты создаются больше года, и для привлечения аудитории(покупателей, если вы делаете новеллу платной для Стима) создают бэта версию.
Вы выбираете Gui, и нажимаете далее. У вас программа спросит имя проекта, т.к. вы впервый раз знакомитесь с программой назовите его просто Test Дальше у вас программа спросит разрешение экрана, выбирайте на свое усмотрение. Но чем больше разрешение экрана – тем больше она весит, я выбрал 1280 на 720(стандарт как говорится) Дальше у вас программа спросит цветовую тему для проекта. Как говорится у каждого свои вкусы, и нажимаете далее. Вот у вас появился ваш первый проект. Учимся работать со сценарием
Нажимаем где Редактировать сценарий > Все файлы сценариев Т.к. вы в первый раз запускаете программу она у вас спросит, через какую программу читать файлы сценариев. На ваше усмотрение, но мне удобнее через Jedit и на ней я буду проводить уроки. Скачали текстовый редактор, и у вас запустилось окно. Сейчас расскажу где тут что 1) Панель инструментов. Там, у программы находятся все инструменты для работы с текстом. 2) Файлы сценариев, вся основная работа происходит в них 3) Диалоговое окно, в нем мы будем вводитькоманды 4) Строка. Когда вы допустили ошибку в написании кода, программа покажет, на какой строке у вас ошибка. Далее переключите вашу клавиатуру на английскую раскладку. Скрипты и метки программа читает только на английском. Далее, зайдите в файл options.rpy и найдите в нем 116 строку default preferences.text_cps = 0 измените его на default preferences.text_cps = 30 Теперь весь наш текст будет постепенно появляться в проекте, а не мгновенно (что выглядит не очень красиво). Создаем меню выборов. Сам жанр новелл состоит из выборов в игре. От выбранного пути будет зависеть судьба персонажа. Меню выборов создается меткой menu: Давайте поможем парню Анжи сделать выбор …." Дальше говорить было не зачем." …." Что вы выберите? " ….menu: …….." 1) Примите их условия": …………" Анжи" " Мне ничего не остается, кроме как согласиться с ними" …….." 2) Пошлете его в *опу": …………" Анжи" " Держите меня Семеро! " …….." 3)Попытаетесь сбежать": …………" Анжи" " А ты попробуй догони меня! " Теперь разбираем, что мы тут написали Мы в метке label start: написали метку menu: после которой, идут пункты выбора. И теперь вместо 4 пробелов стало 8 (т.к. после: всегда идет +4 пробелов) И что бы нам разделить пункты выборов мы ставим еще одно двоеточие, и получаем не 8 а 12 пробелов Создаем свои метки Создавая пункты выбора, вы задаете себе вопрос. А как же на 50 часовых новеллах так печатают? Ведь получается что там больше 100 выборов…. Это сколько часов придется листать что бы найти ошибку на 976 строке у которой около 700 пробеллов…. Что бы облегчить себе жизнь, вы создаете метки. Делается это так: 1)Создаете файл в текстовом редакторе. Панель инструментов Файл> Новое> И там же этот файл сохраняете, только название берите английское, и что бы заканчивалось на.rpy Я создал файл 1_glava.rpy Теперь давайте вернемся к выборам Анжи. И напишем команду на переход к метке jump….c именем метки. ….menu: …….." 1) Примите их условия": …………" Анжи" " Мне ничего не остается, кроме как согласиться с ними" ………… jump lox …….." 2) Пошлете его в *опу": …………" Анжи" " Держите меня Семеро! " ………… jump battle …….." 3)Попытаетесь сбежать": …………" Анжи" " А ты попробуй догони меня! " ………… jump gruppa_tatu Обратите внимание, в имени после команд, не должно быть пробелов jump gruppa_tatu И давайте меткам такие названия, что бы вы запомнили их. Или воспользуйтесь кнопкой В новом файле пропишем эти метки, и что там будет происходить. Сначала строки (без отступов) пишем label lox: label battle: label gruppa_tatu: Return return – обозначает конец метки любой. Если ее не записать то она автоматически запустит 2 метку которая идет после нее. Что бы такого не произошло, в конце метки ставят return
label lox: ….Текст ….return label battle: И у нас после метки lox, из за return, не запустится метка battle, когда закончится текст. Либо return ставят в самом конце, в начале строки, и тогда любая метка, у которой закончится логическое продолжение, приведет к завершению игры. И давайте пропишем последствия от выбора. label lox: …." Анжи стал их ней дойной коровой" …." И когда у него не было денег им вернуть их, его жестоко избивали" …." Он терпел больше года, пока не вытерпел однажды, и их избил трубой" …." 2 парней стали инвалидами, и Анжи положили в психлечебницу" …." Плохая концовка" …. return label battle: …." Один раз уступлю, никогда не отстанут" …." И Анжи ударил в пах рыжему, т.к. он был самым опасным из этой тройки" …." Потом ударий ногой в колено, тому, что справа. " …." И пока третий стоял, думал, Анжи побежал в коридор" …." Рыжий" " Гек, хватай его. Убью гада. Заморыш... по яйцам бить нечестно. Урою, урою, сгною на нижних уровнях" …." Анжи" " А втроем на одно - значит честно" …." Убегая подумал Анжи" …." Продолжение следует" …. return label gruppa_tatu: …." Анжи резко развернулся и побежал от банды в противоположную сторону" …." Банда была готова к тому, что он побежит, и погнались за ним" …." Продолжение следует" ….return Вот как будет выглядеть в сценарии проекта Домашнее задание Попробуйте сделать для каждого выбора по 2 концовки, одну плохую и хорошую. Именам цвет Сохранив проект вы заметили, что имена у героев одного цвета(голубого), так почему бы не сделать их цветными? Делается это просто здесь в define …. = Character('…..') после русского имени пишем добавив color=" здесь номер цвета" и у нас получится define rish = Character('Рыжий', color=" #008000" ) " #008000" – рыжий цвет
Коды цветов можно получить в фотошоппе И давайте остальным пропишем цвета define rish = Character('Рыжий', color=" #008000" ) ### Лидер банды define gol_1 = Character('Шестерка 1', color=" ffff99" ) ### Его шестерка define gol_2 = Character('Шестерка 2', color=" 9966ff" ) ###Очередная шестерка define anshi = Character('Анжи', color=" 66ff66" ) ### Детдомовец, главный герой Посмотрите, что у вас получилось.
Переменные и с чем их едят Что бы сделать секретную концовку в игре нужно ввести переменные. Для этого нам следует после label start: Прописать переменную и что она равна 0 label start: $ udacha = 0 Далее в тексте выбора нам нужно будет поставить +1 от выбора, и мы получим Далее нам нужно прописать в самой игре, что произойдет от выбора его. Последствия пишутся через if имя переменной Далее следует поставить условие, например больше, либо равно 1 или меньше равное 0, оно будет выглядеть так Если в игре вы захотите поставить 2 и более условий, для скрытой концовки, то оно примет следующий вид. if guard == 0 and day == 1: где переменные guard и day А and принимает их связующим звеном == означают точное число А теперь запишите в проект то что на картинке сверху, и вы увидите как удобно пользоваться переменными.
label gruppa_tatu: if udacha < =0: " Анжи резко развернулся и побежал от банды в противоположную сторону" " Банда была готова к тому, что он побежит, и погнались за ним" " Продолжение следует" if udacha > =1: " Пробежав два коридора и свернув в третий, взял заготовленную балку из дюрали, и когда подбежал Гек ударил его по шее, потом начал бил ногами" Спрайты Спрайты – это изображения персонажей. Давайте добавим нашим персонажам спрайты ### Спрайты image rish_1 = " images/sprite/1.png" image gol_1_1 = " images/sprite/3.png" image gol_2_1 = " images/sprite/2.png" Переходы и спецэффекты Переходы В процессе смены фона вы заметили, что фоны резко сменяют друг друга, ну а спрайты мгновенно появляются. Это довольно сильно бросается в глаза. Для устранения этого недостатка нужно добавить плавные переходы. Теперь давайте рассмотрим сами эти переходы. Для быстрого ознакомления, пройдите в программу обучения на вашем ренпае. Она находится в разделе переходы. Там наглядно описывается как они пишутся в самой игре Вы же помните как мы разбирали текст на обучении? Тоже самое и здесь, только в другом файле. Их все я перечислять не буду, т.к. их там действительно очень много, я опишу только те, с которыми постоянно работаю Переходы пишутся через with имя_перехода Список переходов 1) with dissolve – переход в котором старое изображение плавно растворяется в новой картинке Самое часто используемое из за того что везде подходит, наиболее эффективен когда ему задают время перехода.. Выглядит оно так With Dissolve(.5) pause.5 – пол секунды и With Dissolve(1.0) pause 1.0 – 1 секунда 2) with fade – эффект который похож на открывание глаз. Вспышка и переход к новой картинке Вот пример эффекта слеповой гранаты как в КонтрСтрайк label start: $ slepovaya = Fade(0.2, 0.0, 0.8, color='#fff') ### имя перехода slepovaya, задаем цвет белый color='#fff' И где то в игре scene fon_1 with slepovaya 3) with wpunch - Эффект встряски экрана (кувалдой по голове, сверху вниз) 4) with hpunch Эффект встряски экрана (пощечина, слева на право) 5) ) with move Персонаж плавно меняет позицию на экране Одно из самых часто используемых в новеллах (не телепорт а именно передвижение по экрану) Пример с рыжим show rish_1 at right With move show rish_1 at center With move Т.е. мы видим, как спрайт рыжего с право передвигается в центр 6) with Pause(1) Спросите зачем нужна пауза? Допустим ваш герой провел обычный ничем не примечательный день(и показываем сцены дом, школа, столовая, домой) если между каждой сценой не ставить паузу, то простым щелчок мышки эти сцены пропустит, так, что вы не успеете ничего понять. Мгновенно практически. А если между каждой сценой поставить паузу….то только щелчком мышки поменяются сцены Пример кода с проекта обучения With dissolve ### переход With Pause(1) ###пауза With dissolve ### переход
Зрелищные переходы ImageDissolve Для этих переходов используются другие изображения. В сообществе ренпай я добавлял архив с кучей изображений для создавания эффектов начиная от телепорта….до перехода виде сердечки для хэппи-эндов(около 200 картин) https: //vk.com/topic-7553243_31474171? post=8461 подбирайте именно подходящие для вас эффекты. Для добавления эффекта вам следует прописать через init: сам эффект с ссылкой на картину Ниже пример: Init: $ pic = ImageDissolve(" id_circleiris.png ", 1.0, 8) ###открыли. " id_circleiris.png" – путь к картинке $ pic2 = ImageDissolve(" id_circleiris.png ", 1.0, 8, reverse=True) ### закрыли И в игре переход With pic И еще куча переходов, с которыми вы можете ознакомиться в проекте обучения в разделе галерея переходов Вот пример переходов на скорую руку
На этой ноте заканчиваются базовые уроки, все что должен знать начинающий кодировщик вы узнали. Все самое необходимое вы можете найти в программе обучения. Так же я настоятельно рекомендую пройти вам видеоуроки от Мастера Ирдиса на ютубе их можно найти введя в поисковик Нет художников У вас есть сценарий, но у вас нет художника, и вы начинаете его бешено искать, звать и может быть даже найдете, НО он на следующий день может уйти. Поймите, вы начинающий программист, вы не заработали себе репутацию, вы даже черновик не сделали своего проекта, а вы уже ищите художника. Не спешите, сделайте сначала черновик без спрайтов, если проект будет интересным, быстро найдется художник, а если не найдется он сам, так у вас будет, чем его заинтересовать. Согласитесь, намного интересней звучит что мы написали 1 и 2 главу но нам не хватает художника, чем ну мы сейчас начнем писать новеллку у нас есть сюжет, но мы не пишем новеллу из за того что художника нету…. Не ждите чуда, опыт в написании к вам просто так сам не придет. Если вы не можете без визуализации тогда возьмите какую нибудь анимешку, и вырежьте от туда персонажей, временно, пока не найдется художник. Плюс вы всегда можете нанять художника профессионального для вашего проекта. Зачастую от этого вы выигрываете время, у вас будут профессиональные рисунки, а не квакозябры которые рисуют в 1 классе. https: //vk.com/topic-7553243_33290860? post=5013 Есть еще такая штука как генератор персонажей https: //vk.com/topic-7553243_31474171? post=8220 Тестер я сам себе Я когда то проводил опрос насчет бэта тестеров, мне там понравился 1 ответ, сколько ни тестируй, все равно в релизе баги будут. Самому тестировать нельзя, за время разработки глаз замыливается и можно очевидное упустить. Вот здесь сам опросник https: //vk.com/renpy? w=wall-7553243_30242 там же вы можете посмотреть на результаты Начало работы Для начало работы вам необходимо будет скачать Ren’ру http: //www.renpy.org и установить ее, только смотрите что бы папка сохранения была не на русском языке(говорят скоро будет обновление где эта проблема будет исправлена). Запускаем проект. У нас запустился лаунчер, и он на английском. Что бы его перевести на русский язык заходим в preferences как показано на картине И выбираем русский язык и выходим в главное меню программы Далее разъясняю где что на экране программы 1) Проекты. Здесь находятся все ваши и сторонние проекты. 2) Добавить новый проект. Из названия и так все ясно. 3) Открыть папку. Из названия и так все ясно что она открывает папки выбранного проекта 4) и 5) Основные файлы с которыми мы будем работать при создавании новеллы 6) Навигация по Сценарию. Нажав на нее вы с легкостью сможете найти ваши метки, ссылки, скрипты… 7) Запустить проект.Из названия и так все ясно.
Для ознакомления, что вообще представляет собой Ren’py, какие есть у него возможности, запустите программу обучения. У вас запустится новое приложение, которое так же через preferences можно перевести на русский язык. Когда вы познакомились с обучением, создайте ваш первый проект. Для этого нажмите < Добавить новый проект> И у вас высветится окно выбора 1) New Gui interface – новый графический дизайн 2) Legacy Theme Interface – старый графический дизайн Новый более удобней и симпатичней смотрится, чем старый дизайн. Но когда вы перейдете к редактированию главного меню загляните в контакт и найдите там сообщество Ren’Py. В сообществе откройте видео, и там вы найдете видео уроки как создавать меню игры и другие полезные материалы.
Запомните Всегда в последнюю очередь создавайте свое главное меню. В процессе создания новеллы у вас может разительно поменяться: сюжет, герой, фон, художник и вам ее придется полностью переделывать. Создавая новеллу с меню вы тратите время зря, которая пошла бы на пользу создания вашего проекта. И возможно, вы бы успели создать 1 главу, пока вы создаете только меню. И после того как будет завершена 1 глава можете смело создавать меню, т.к. некоторые проекты создаются больше года, и для привлечения аудитории(покупателей, если вы делаете новеллу платной для Стима) создают бэта версию.
Вы выбираете Gui, и нажимаете далее. У вас программа спросит имя проекта, т.к. вы впервый раз знакомитесь с программой назовите его просто Test Дальше у вас программа спросит разрешение экрана, выбирайте на свое усмотрение. Но чем больше разрешение экрана – тем больше она весит, я выбрал 1280 на 720(стандарт как говорится) Дальше у вас программа спросит цветовую тему для проекта. Как говорится у каждого свои вкусы, и нажимаете далее. Вот у вас появился ваш первый проект. Учимся работать со сценарием
Нажимаем где Редактировать сценарий > Все файлы сценариев Т.к. вы в первый раз запускаете программу она у вас спросит, через какую программу читать файлы сценариев. На ваше усмотрение, но мне удобнее через Jedit и на ней я буду проводить уроки. Скачали текстовый редактор, и у вас запустилось окно. Сейчас расскажу где тут что 1) Панель инструментов. Там, у программы находятся все инструменты для работы с текстом. 2) Файлы сценариев, вся основная работа происходит в них 3) Диалоговое окно, в нем мы будем вводитькоманды 4) Строка. Когда вы допустили ошибку в написании кода, программа покажет, на какой строке у вас ошибка. Далее переключите вашу клавиатуру на английскую раскладку. Скрипты и метки программа читает только на английском. Далее, зайдите в файл options.rpy и найдите в нем 116 строку default preferences.text_cps = 0 измените его на default preferences.text_cps = 30 Теперь весь наш текст будет постепенно появляться в проекте, а не мгновенно (что выглядит не очень красиво). Популярное:
|
Последнее изменение этой страницы: 2017-03-09; Просмотров: 824; Нарушение авторского права страницы