Форум » » Нужен учебник для QSP!!! » Ответить

Нужен учебник для QSP!!!

Ziohekx: Идея создания текстовых игр мне нравится. Фактически это можно рассматривать и сам процесс создания игры как игру. Это творческий процесс. Я только второй день пытаюсь разобраться в QSP. Я потратил 4 часа чтоб понять как сделать переход на другую локацию, хотя проблема была пустяковая. Справка по большей части ставит в тупик нежели позволяет разобраться, как было сказано на форуме это список команд. Думаю все кто заниматься текстовыми играми желает видеть больше людей в этом деле. Для этого нужно, чтоб человек легко мог разобраться в редакторе. Пусть по прохождению обучения. Учебник должен быть по строен как можно более дотошно. Нужно объяснить что делает та или иная функция, где ее можно применить. Курс обучения может представлять собой создания первого квеста за ручку (сюжет пусть придумывает сам, НО схему игры ему предоставят). При этом с начало квест пусть будет простеньким в техническом плане. После чего его начнут углублять. Кроме технических процессов создания квеста (игры) нужно описать и предворительные моменты. И способы ускорения создания игры за счет экономии времени.

Ответов - 47, стр: 1 2 3 All

Nex: Ziohekx ты по трем первым урокам-то не делай выводов.

Ziohekx: Как сделать дверь которая открывалась ключом?

Nex: Ziohekx заходи на наш канал, получишь более оперативную поддержку http://tinyurl.com/ifrus-irc


Yashko: Предмет Ключ. Подбирать предметы как я понял уже умеешь. На локации дверь: if obj 'Ключ': (Если есть обьект Ключ, то...) act 'Открыть дверь: (Действие "открыть дверь") gt 'ololo' (При действиее Открыть дверь, идет на локацию ololo) end (Заканчивает If) end (Заканчивает Act)

Ajenta: Да, тут много людей :)))

Ajenta: Ziohekx Ну напиши свой, чем сможем - поможем.

Ziohekx: Nex пишет: Ziohekx ты по трем первым урокам-то не делай выводов. Я не говорю про качество учебника. Я говорю про манеру предоставления информации.

Ziohekx: Ajenta пишет: Ziohekx Ну напиши свой, чем сможем - поможем. Да, что писать то? Я сам познакомился пару дней с программой. Есть куча вопросов у самого. Я могу пока говорить только о системном предоставлении информации. При котором информация будет подаваться от дельным блоком. Проще говоря нужно показывать отдельную фишку - объяснять как ее применять, для чего она нужна, где ее можно применять. При этом информация должна быть легко усвояемая. К примеру игру можно создать и при помощи только переходов с локации на локацию. Что на подобие интерактивного рассказа. Плюс этого способа в простоте. Главный интерес тут будет ложится на сюжет игры.

Ajenta: Ziohekx Ты давай задавай вопросы, изучай, а потом и напишешь свой учебник :) Нас учить писать бестолку, легче самому написать, раз знаешь как надо. ;)

Ziohekx: Это дано проверенная истина, хочешь чтоб что получилось делай сам, не жди от других. Вопросов куча. Но их нужно систематизировать. подумаю и на пишу.

Ziohekx: Вот такой вопрос. Хотел создать, что на подобие диалога. В одной локации. Появлялись новый текст в описании, добавлялись новые действия (варианты ответа), и убирались старые. Не могу соорудить цыпочку. Она обламывается.

werewolf: большой диалог в одной локации делать сложно - нужно очень большую вложеность в действиях и много дополнительного кода (очистка описания и действи) - легко запутаться или что-то забыть лично я бы поделил диалог на фазы обмена репликами и вынес каждую фазу на отдельную локацию и использовал переход на новую локацию с параметром, чтобы определить что именно показывать [pre2] #loc1 '- Реплика' act 'Ответ 1': $selact xgt 'loc2',1 end act 'Ответ 2': $selact xgt 'loc2',2 end - #loc2 ! первый ответ if args[0] = 1: 'Новая реплика' act 'Ответ 1': $selact xgt 'loc3',1 end act 'Ответ 2': $selact xgt 'loc3',2 end end !второй ответ if args[0] = 2: 'Новая реплика' act 'Ответ 1': $selact xgt 'loc3',3 end act 'Ответ 2': $selact xgt 'loc3',4 end end - [/pre2] и так далее

Ziohekx: Расскажите как пользоваться переменёнными и что с их помощью можно делать. Просьба разбивать на примитивные блоки. Как их собрать потом соображу.

MasterSet: У меня есть опыт создания длинных диалогов в одной локации. Правда в основном прямолинейные, но было и по паре разветлвений. Смысл таков. Задаешь некую переменную, которая отвечает за развитие диалога в локации. Например talk. При этом каждый ответ персонажа задает следующее значение talk. При этом, если предполагается большое ветвление, то можно использовать прием "удесятерения". Как это работает. Например, у тебя сначала есть двойная развилка. Значит talk может быть равен 1 и 2. Далее в первой ветке идет, например, три выбора и тут talk принимает значения 11, 12 или 13. При этом первая цифра означает выбор на первой развилке, а вторая - выбор на второй. На третьей развилке снова умножаем число которое ведет на нее на 10 и добавляем номера вбора. Например если мы выбрали 12, то будет 121, 122, 123 и так далее. Для лучшего понимания приведу конкретный пример создания разветвляющегося диалога без необходимости вложенных IF: !НУЛЕВОЙ УРОВЕНЬ РАЗГОВОРА IF talk = 0: CLA CLR 'Незнакомец смотрит молча на вас.' ACT '- Привет!': talk = 1 GT curloc END ACT '- Чего уставился?!': talk = 2 GT curloc END ACT 'Уйти прочь': talk = 0 GT 'Начало' END END !ПЕРВЫЙ УРОВЕНЬ РАЗГОВОРА IF talk = 1: CLA CLR 'НЕЗНАКОМЕЦ' '- Ну и тебе привет, коли не шутишь.' ACT '- Какие могут быть шутки, дружище?': talk = 11 GT curloc END ACT '- Шучу. Вообще мне плевать': talk = 12 GT curloc END END IF talk = 2: CLA CLR 'НЕЗНАКОМЕЦ' '- Ничего...' ACT '- Ну и все!': talk = 0 GT 'Начало' END ACT '- Есть чо по деньгам?': talk = 21 GT curloc END END !ВТОРОЙ УРОВЕНЬ РАЗГОВОРА IF talk = 11: CLR CLA 'НЕЗНАКОМЕЦ' '- Ну ладно, хорошо. Меня Вася зовут' ACT '- А я <<$player_name>>. Ну что Вася, выпьем за знакомство?': talk = 111 GT curloc END ACT '- Ну, пока, Вася.': talk = 112 GT curloc END END IF talk = 12: CLR CLA 'НЕЗНАКОМЕЦ' '- Ну и катись тогда отсюда!' ACT '- Ладно-ладно. Ухожу...': talk = 0 GT 'Начало' END ACT '- Ты чо борзый такой, а?! (Начать драку)': talk = 0 GT 'Драка' END END IF talk = 21: CLR CLA 'НЕЗНАКОМЕЦ' '- Не братан, вообще ни копья нет.' ACT '- А если найду, значит мое будет?': talk = 0 GT 'Грабеж' END END !ТРЕТИЙ УРОВЕНЬ БЕСЕДЫ IF talk = 111: CLA CLR 'ВАСЯ' '- А у нас есть что выпить?' ACT ' - Конечно! (Достать бутылку портвейна)': talk = 0 GT 'Бухач' END END IF talk = 112: CLA CLR 'ВАСЯ' '- Ну пока, братан.' ACT 'Уйти': talk = 0 GT 'Начало' END END ЗЫ: А вообще для вопросов есть отдельная тема. Давайте не будем офтопить

Nex: Я переместил из темы про учебник сюда сообщения Ziohekx и ответы, здесь более подходящая тема.

Ziohekx: Yashko пишет: Предмет Ключ. Подбирать предметы как я понял уже умеешь. На локации дверь: if obj 'Ключ': (Если есть обьект Ключ, то...) act 'Открыть дверь: (Действие "открыть дверь") gt 'ololo' (При действиее Открыть дверь, идет на локацию ololo) end (Заканчивает If) end (Заканчивает Act) Так дверь открывать я на учился. Но как отбирать ключ при его использование?

Byte: delobj 'Ключ'

Hertz: а что, разве если воспользоваться ключом, то он исчезает?

Yashko: Ну, у Ziohekx так задуманно, что да =)

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



полная версия страницы