Как делать игры на qsp

Перед вами — учебник для написания игр в программе QGen.

Он создан для авторов, не имеющих опыта в программировании.

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

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

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

Всё есть? Смело приступаем к первому уроку!

Блог посвященный разработке игры Альбедо

воскресенье, 24 марта 2013 г.

Как создавать игры в QSP

Что бы создать что то не очень сложное, не обязательно быть программистом. Попробую в этой статье объяснить основные моменты.
1) Вам понадобится конструктор. http://qsp.su
Это сайт разрабов, там есть все что надо.
Или я залил на файлообменник конструктор.
http://www.fayloobmennik.net/2728179

2) Создаете новую игру. Создаете стартовую локацию, она должна быть в самом верху. Пишите там код. Весь код записываете в верхнее правое окошко с названием "Выполнить при посещении." Создание локаций F7 или зеленый крестик в меню.

KILLALL
USEHTML=1
SHOWSTAT 1
SHOWOBJS 1
$ONGLOAD=’loadg’
$ONGSAVE=’saveg’
$ONNEWLOC = ‘LOCA’
$onobjsel = ‘onobjsel’
showinput 0
$counter = ‘counter’
$USERCOM=’ОбработкаВвода’
debug=1

потом создаете локации
loadg
saveg
LOCA
onobjsel
counter
ОбработкаВвода

Вот вход в игру готов.
Создадим квартиру с двумя комнатами. Делаем две локации, назовем к примеру bedroom и sitroom

В стартовой локации пишем

!В локации bedroom пишем такой код.
‘ Спальная ‘
‘Ваша спальная комната.’
act ‘Идти в гостинную’:gt’sitroom’

!В локации sitroom пишем такой код.
‘ Гостинная ‘
‘Это гостинная комната, тут стоит диван, телевизор и стол.’
act ‘Идти в спальную’:gt’bedroom’

Вуаля. У вас есть игра с двумя комнатами между которыми можно перемещатся.

Если кому то будет интересно буду и дальше учить как из кирпичиков создать игру.

Если хотите что бы у вас отображалось и считалось время. То в локации комнат вставте такой код.
minut = minut + 1
clr
gs’stat’

Создайте новую локацию stat
и в нее вставте следующий код.

if minut >= 60:
:loopmin
set hour = hour + 1
set minut = minut — 60
if minut >= 60:
jump ‘loopmin’
end
end

if hour >= 24:
:loop
set day = day + 1
set week = week + 1
set hour = hour — 24
if hour >= 24:
jump ‘loop’
end
end

if minut = 10:set $nilmin = »
pl’Время > часов > > минут’

Теперь у вас будет считатся и показыватся в окне дополнительного описания время. Стартовое время не заданно поэтому отсчет пойдет с 0 часов с 0 минут. Из подобных кирпичей можно собрать полноценную игру даже не задумываясь что делаешь.
Поймите, не надо сидеть вычесывать методы из головы, все уже есть. Берите кирпичи и сторойте, я подскажу.

Характеристики ГГ. Это вещь очень тонкая и щекотливая. Нельзя просто вставить какой нибудь параметр просто так. Параметры должны быть связаны между собой. И они должны заставлять игрока удовлетворять потребности, а не сидеть на месте.
Например здоровье, сон и голод. Если сон равен нулю то будет падать здоровье, если голод равен нулю то опять же будет падать здоровье. Если здоровье дойдет до нуля то конец игры.
Сделать все это не сложно.

Перепишите этот код в локации stat
if hour >= 24:
:loop
set day = day + 1
set week = week + 1
set hour = hour — 24
if hour >= 24:
jump ‘loop’
end
end

следующим образом.
if hour >= 24:
:loop
set day = day + 1
set week = week + 1
set hour = hour — 24
son = son — 1
golod = golod — 1
if hour >= 24:
jump ‘loop’
end
end
if son >’
pl’Сон >’
pl’Голод >’

Создайте локацию GAMEOVER в которой в скобочках напишите ‘Кибздец котенку, вы щелнули ластами и вашу тушку закопали.’

Но теперь если вы войдете в игры вы сразу же откините копыта. Поэтому в начальной локации добавим код health = 100

Что бы повысить сон создайте кровать в локации bedroom вставив этот код.
‘В небольшой комнате стоит ваша двухспальная кровать.’

Создайте саму кровать. Это будет локация bed

Вставте туда этот код.
clr
gs’stat’
‘Вы лежите на кровати.’
if son > 10:
‘Спать почему то не хочется.’
end
if son 23:
‘Вы выспались’
act ‘Встать с кровати’:gt’bedroom’
else
jump ‘loopson’
end

С голодом все гораздо проще.
Вставте эту кнопку в локацию sitroom
act ‘Есть (15 мин)’:
cla
set minut = minut + 15
if golod >= 20:
‘Вы объелись и глядеть не можете на еду’
end
if golod Автор: Unknown на 22:52


Вот и мне в руки, вернее на мой жесткий диск, попала эта программа для создания игр без программирования, то есть программа-мейкер. Нужно сразу же отметить, что данная программа направлена на создание текстовых квестов. Что такое текстовый квест? Игру жанра «текстовый квест» примерно можно описать так — это игра, в которой имеется как минимум два основных визуальных элемента, которые в своей совокупности являются интерактивной частью, то есть самой игрой. Первый элемент – окно сюжета, которое отображает в виде текста события игры. Второй элемент – это окно с выбором дальнейшего события в виде текстовых ссылок на ту или иную сюжетную ветку. Эти две части имеют свойство взаимодействия. От выбранных событий во втором элементе (окно «ссылок») меняется событие в первом элементе (окно «описаний»).

То есть, если в окне описаний написан, например, такой текст: «Галя смотрела на вас влюблёнными глазами, и можно было сделать вывод о том, что вы ей понравились…». А в окне ссылок написаны варианты ваших дальнейших действий, например:

1. Сказать Гале комплимент о её красивых глазках,

2. Сказать ей: «А чё ты на меня так зыришь своими глазищами?»

И третье — накинуться на неё с кулаками.

И если, допустим, мы выбираем первый вариант «1. Сказать Гале комплимент о её красивых глазках», то на экране с описанием свершится событие – высветится следующее описание сюжета, как если бы ваш персонаж выполнил данное действие: «Галя улыбнулась и скромным голосом сказала «Извини, пожалуйста, просто ты мне нравишься, и я засмотрелась на тебя – люблю смотреть на то, как мужчина ест». Галя опустила глазки, и вам показалось, что она вам так близка, что вы бы отдали всё за её манящий взгляд на протяжении всей жизни». Но одновременно с окном события обновляется и окно дальнейших действий, как бы давая нам выполнить следующее действие, как шаг к дальнейшему сюжету.

А если бы мы выбрали, например, вторую ветку сюжета «2. Сказать ей «А чё ты на меня так зыришь своими глазищами?», то события могли бы развиваться в окне сюжета так: «Галя удивилась вашей реплике, она застеснялась и, сказав вам «извини!», переключила свой взгляд на вашего друга Ваню и, уже не обращая на вас взгляда, смотрела на того, а тот улыбался и предложил ей рассказать анекдот. Галя и Ваня уже общались вдвоём, и казалось, что вы тут лишний». Ваши новые действия:

1. Например, «начать драться с Иваном»,

3. «Встать из-за стола и уйти».

Если бы мы выбрали третью ветку сюжета «3. Накинуться на неё с кулаками», то сюжет бы привёл к проигрышу (Game Over) с таким пояснением в окне отображения событий сюжета: «Галя подумала, что вы сошли с ума, и закричала. На её крики откликнулся Иван. Он подбежал и смачно врезал вам прямо в нос коленом. И там где нос, там стало плоско. Вы, как идиот, валялись на полу с расквашенным носом, а Галя с Иваном быстро ушли». В меню выбора дальнейших действий была бы только одна ссылка — «начать игру заново», нажав на которую, игра бы обнулилась, и сюжет бы начался с самого начала.

Думаю, что вам уже стало понятно – сюжет игры, отображаемый в виде текста, зависит от выбранных вами действий из предложенных вариантов ветвей сюжета. Что ты выбрал из предложенных вариантов, то и происходит в игре – сюжет развивается по вашему выбору. Ну, если выше я вам объяснил суть текстового квеста и его геймплей, то с точки зрения создателя игры жанра «текстовый квест» всё немного сложнее, что я и попытаюсь вам объяснить далее по тексту.

Что нужно уметь, какие знания необходимы для создания текстового квеста?! Отвечаю вам: умение описывать сюжет в альтернативных событиях, уметь это всё соединить между собой, не разорвав смысловую цепь сюжета. Вот это вам позволит составить рассказ-квест, в котором сюжет бы развивался в нескольких ветвях, то есть что бы было по сюжету, если выбрать так и если по-другому. И этот сюжет, порой, просто переплетается или соединяется на некоторых этапах. Когда у вас есть рассказ с альтернативным развитием сюжета по нескольким линиям, вам необходимо ваш рассказ превратить в игру, где сюжет развивался бы интерактивно в зависимости от выбранного игроком того или иного пути. Кто-то бы выбрал один сюжет, кто-то другой – это зависит от игрока и его мышления.

Когда весь материал (ваш рассказ с альтернативными сюжетными линиями) будет готов, от вас потребуется заключить его в удобную оболочку для удобного действия через интерактивный интерфейс. В качестве данного интерфейса послужит плеер текстовых квестов Quest Soft Player, а для того, чтобы этот плеер распознавал вашу игру, её необходимо разметить и обработать в программе Quest Generator. Вы правильно поняли – это две утилиты, которые в своей совокупности являются гейммейкером. Одна утилита Quest Generator делает файл с игрой, а другая Quest Soft Player воспроизводит этот файл (эту игру) через свой интерфейс. И всё это вместе называется — программа для создания текстовых квестов QSP. Теперь, когда вам понятна суть вообще текстовых квестов и примерная задача Quest Soft Player, нам необходимо перейти к следующему этапу статьи, а именно к описанию создания квеста в Quest Generator, а после и к воспроизведению оного в Quest Soft Player.

В этой программе вам и предстоит создать по сути саму игру. И, как уже стало вам понятно, самое сложное в процессе создания – это писать сюжет игры и расставлять скриптовые команды. Данная программа предлагает нам для редактирования сразу несколько окон, нежели в простых текстовых квестах, как я описывал выше. А именно такие окна игры:

TxtMain класса "TextBox" – основное окно описания локации.

TxtUser класса "TextBox" – окно пользователя.

Objects класса "ListBox" – список предметов.

Actions класса "ListBox" – список действий.

А так же другие элементы типа:

UsrText класса "ComboBox" – строка текстового ввода.

BtnOK класса "CommandButton" – кнопка OK.

ImgForm класса "Form" – форма, на которой находится изображение, выводимое оператором "VIEW".

Image класса "Image" – элемент, в котором выводится изображение.

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

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

Quest Soft Player.

Это вторая программа из данного комплекта. Она предназначена для воспроизведения файлов-игр, созданных в Quest Generator. В этой программе будет отображаться весь процесс игры – она же будет выступать как интерфейс игры. В данном плеере имеются настройки внешнего оформления интерфейса: параметры шрифта, фонов, окон и др. Так же имеется наиболее важная возможность – функция сохранения и загрузки игры на любом моменте игрового процесса, что позволит делать большие и долгие игры, а игрокам прерывать и возобновлять уже начатый квест с любого места.

Очень неплохой мейкер, который даёт нам возможность создавать игры жанра «текстовый квест/адвенчура» (Interactive Fiction) с множеством возможностей, которые будут зависеть зачастую только от идеи и воплощения вашей идеи с помощью данного инструмента с использованием скриптового языка. Пользователи, которые имеют опыт в программировании на таком языке, как Visual Basic или VBScript, думаю, смогут дать разгуляться фантазии на данном движке. Вопрос только — зачем им этот движок, если они знают Visual Basic и смогут сами сделать текстовый квест на Visual Basic-инструментах. Но, так или иначе, Quest Generator – это, безусловно, полезная программа.

QSP – это возможность сделать свою игру жанра «текстовый квест» с большими возможностями. Да что там и говорить, если постараться приложить ещё больше усилий и эрудиции, то эта программа откроет вам свои широкие возможности, и вы сможете сделать и графический квест. Для большего эффекта необходимо чаще практиковаться в данной программе и не бояться того, что она по первому времени будет достаточно сложна. А когда уже освоитесь, то тут вас ждёт воплощение вашей идеи о создании игры-квеста. Буду не скромен и возьму на себя ответственность поставить свои субъективные оценки по данному гейммейкеру:

Оцените статью
Ремонт оргтехники
Добавить комментарий