пятница, 11 сентября 2015 г.

Размышления холопа о Царях.

Посмотрел я на правила КРИЛ и подумал - о, клево, многие люди готовы выдать дополнительные денежные призы, если игра выполнит, обрисованные ими условия. Потом пригляделся - многие условия касаются конкретного движка. Ну, тут понятно - типа, смотрите у нас приз есть помимо основного конкурсного, идите к нам, у нас прикольно и т.д. Это понятно. Люди продвигают свой движок-платформу.

Примерно в тоже время я наткнулся на тему с форума ifiction.ru - "Выбор платформы для первой ИЛ". И я задумался: вот будь я резвым, молодым, наполненным идеями и надеждами 15-летним пареньком, а не 16-летним брюзгливым и сдавшимся обрыганом - чтобы я выбрал? Какую платформу для своей первой игры?

Предположим я тот еще красно-глазик и сложности с кодом меня не пугают. Что тогда для меня критично? Величина сообщества вокруг платформы, так как сообщество - это все. Это и наполненность/наполняемость вики, форума, обновляемость самой платформы и прочее-прочее. Второе - мультиплатформенность. Кто ж не хочет, чтобы его игра шла даже на кофеварке? Win, MacOs, Linux и Android - желательно, а можно и больше. Ну и также, возможность запуска игры, как из онлайна (с сайта платформы), так и из оффлайна.

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

1. Вступление.




Можете сами перейти по этой ссылке и все увидеть. Запросы - "text games" (падение с 2004 по 2015 со 100 до 45, на 55 %), "interactive fiction" (падение с февраля 2004 с 36 до 3, на 1100 %), "text based games" (падение на 68,75 %), "interactive fiction games" (с октября 2010 года падение на 39 % - просто удалите все прочие запросы и оставьте только этот, чтобы увидеть этот график).

При это, по запросу text games может выскочить и смс-игры по телефону с друзьями (лол), так и настольные текстовые игры и прочее-прочее...

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

2. 1. Платформы для иф - русские платформы.


Для сбора информации по посещаемости сайтов использовалось два сервиса - similarweb.com и pr-cy.ru. Первое число - количество посещений за месяц по данным первого сайта, а второе - количество посетителей по данным второго. Открываете сайты и вбиваете в их поля адреса сайтов-платформ, чтобы проверить все данные самостоятельно.


1. INSTEAD - instead.syscall.ru.

Посещаемость сайта - 4k/3 666 человек в месяц.

Мультиплатформенность - Unix, Windows, Android, OS X (данные с сайта, но вроде правда).

Нужен отдельный лаунчер для запуска игр - да.

Возможность онлайн-запуск с сайта платформы - нет.

Возможность оффлайн-запуска с устройства пользователя - да.

2. ЯРИЛ.

Посещаемость сайта - сайт не найден.

Мультиплатформенность - любая платформа, на которой пойдет виртуальная машина Java.

Нужен отдельный лаунчер для запуска игр - нет данных.

Возможность онлайн-запуск с сайта платформы - нет.

Возможность оффлайн-запуска с устройства пользователя - да.

3. QSP - qsp.su.


Посещаемость сайта - 30k/11 398 человек в месяц.

Мультиплатформенность -  PocketBook, Android, Windows CE / Windows Mobile, Linux / Unix, MacOS, Sony PSP, BeOS / Haiku, AeroQSP также работает в браузере.

Нужен отдельный лаунчер для запуска игр - чаще всего да.

Возможность онлайн-запуск с сайта платформы - да.

Возможность оффлайн-запуска с устройства пользователя - да.

4. Аперо - apero.ru.

Посещаемость сайта - 10k/6 017 человек в месяц.

Мультиплатформенность - любая платформа, на которой запускается современный браузер.

Нужен отдельный лаунчер для запуска игр - нет, достаточно браузера.

Возможность онлайн-запуск с сайта платформы - да.

Возможность оффлайн-запуска с устройства пользователя - нет.

5. Квестер - kvester.ru.

Посещаемость сайта - 50k/8 005 человек в месяц.

Мультиплатформенность - любая платформа, на которой запускается современный браузер.

Нужен отдельный лаунчер для запуска игр - нет, достаточно браузера.

Возможность онлайн-запуск с сайта платформы - да.

Возможность оффлайн-запуска с устройства пользователя - нет.

6. AXMA Story Maker - http://hyperbook.ru.

Посещаемость сайта - 7k/9 795 человек в месяц.

Мультиплатформенность - любая платформа, на которой запускается современный браузер.

Нужен отдельный лаунчер для запуска игр - нет, достаточно браузера.

Возможность онлайн-запуск с сайта платформы - да.

Возможность оффлайн-запуска с устройства пользователя - да.

7. RTADS - rtads.org.

Посещаемость сайта - нет данных/1 753 человек в месяц.

Мультиплатформенность - нет данных

Нужен отдельный лаунчер для запуска игр - да.

Возможность онлайн-запуск с сайта платформы - нет.

Возможность оффлайн-запуска с устройства пользователя - да.


2. 2. Платформы для иф - басурманские платформы.



1. Twine - twinery.org.

Посещаемость сайта - 140k/37 207 человек в месяц.

Мультиплатформенность - любая платформа, на которой запускается современный браузер.

Нужен отдельный лаунчер для запуска игр - нет.

Возможность онлайн-запуск с сайта платформы - да.

Возможность оффлайн-запуска с устройства пользователя - да.

2. Renpy - www.renpy.org.

Посещаемость сайта - 170k/25 886 человек в месяц.

Мультиплатформенность - Android, Windows, Linux, Mac OS, IOS (бета).

Нужен отдельный лаунчер для запуска игр - да.

Возможность онлайн-запуск с сайта платформы - нет.

Возможность оффлайн-запуска с устройства пользователя - да.

3. Choice of games - www.choiceofgames.com.

Посещаемость сайта - 310k/25 886 человек в месяц.

Мультиплатформенность - любая платформа, на которой запускается современный браузер.

Нужен отдельный лаунчер для запуска игр - нет.

Возможность онлайн-запуск с сайта платформы - да.

Возможность оффлайн-запуска с устройства пользователя - да.


3. Выводы. Думы.


Какую платформу выбрать в итоге?

Если пишите небольшую историю с минимальным использованием характеристик-предметов-графики и т.д., то ваш выбор между AXMA, Квестер и Аперо, но лично я склоняюсь больше к AXMA, т.к. в нем есть возможность экспортировать свою игру в html-файл + платформа имеет минимальный интерфейс, что (вероятно) очень хорошо для мобильных устройств.

Для больших же игр на русских просторах обычно люди используют QSP, т.к. его интерфейс больше приспособлен для крупных мониторов пк, он поддерживает графику, музыку, гифки, без проблем тянет довольно крупные и тяжелые по объему кода игры и т.д. Renpy же безусловно лучше всего подходит для визуальных новелл.

На каком языке писать?

Если для себя/ограниченной группы фанатов текстовых игр, в качестве хобби - на русском. Сайты русских платформ, как показывает сайт SimilarWeb, посещаются людьми не только из России, но и из Украины, Белоруссии и Казахстана.

Если вы хотите чуть больше лайков-комментов-внимания-денег, то лучше писать на английском. В конце концов, этот язык на начальном уровне понимают представители многих народов (более-менее образованные представители этих народов) на нашей планете + так уж сложилось, что ЕС и США составляют т.н. "золотой миллиард". Текстовая игра для Европы и США от чойсов стоит 5 $, для России - 129 рублей или 1.8 $ при сегодняшнем курсе в 70 рэ за доллар. Разница в платежеспособности, что не говори.

Опять же, если вы настроены серьезно, то лучше выбрать одну из западных платформ. На данный момент в стиме успешно (то есть много игр, которые успешно продаются, и покупатели в большинстве своем остаются довольными) представлены игры только двух платформ - Renpy и Choice of games.

Почему одни платформы "взлетели", а другие - нет?

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

Плюс к этому успешные платформы делают ставку на мобильность (и приносят в жертву этому интерфейс, делая его как можно более простым), т.к. доля мобильных игр каждый год только растет.

Какие жанры текстовых игр популярны?

Технически текстовые игры - аутсайдеры современной игровой индустрии. Даже игры сделанные на Unity и прочих игровых движках-конструктарах предлагают игроку реал-тайм геймлпей, анимированную графику и т.д. Какие же ниши еще не заняты AAA-играми с большими бюджетами и другими indie-играми?

Стратегии? Вряд ли. На QSP есть стратегии, да и на других движках, но люди уже слишком сильно привыкли ассоциировать жанр "стратегии" с графическими играми. Может быть и можно в полностью текстовый (ну пусть даже со статичными картинками) вид перенести ту же Civilization, но будет ли она хорошо играться в текстовом интерфейсе? Скорее всего нет.

Ролевые игры? Ведьмак в текстовом виде? Уже лучше, но из игры исчезнет весь драйв схваток с монстарми и людьми, а останется только истории, диалоги, квесты и т.д.

Гонки, шутеры, mmo и moba игры просто сразу идут мимо. Хотя есть попытка сделать текстовую mmo-игру, Fallen London, но в ней игроки редко взаимодействуют между собой. И да, MUD'ы давно мертвы. 

Что же остается? Условно остается два жанра, перспективные для текстовых игр (если вы хотите писать их не только в качестве хобби)  - психологическое аутирование с хорошим сюжетом или/и игры с 18 + контентом.

Примеры первого - игры чойсов, где главное не пройти подземелье и убить злого волшебника в конце, а прожить жизнь-историю со своим персонажем, встретиться с разными персонажами, повлиять на их судьбу, стать злодеем или героем (причем с весьма большим количество оттенков на выбор между двумя этими крайностями) и т.д. То есть тут акцент дан на то, что потеряли современные AAA-ролевые игры - внутренний мир главного героя, серьезное ветвление сюжета и развитие характера главного героя. + не требовательность к железу пользователя и сравнительно высокий уровень языка, высокая реиграбельность и т.д.

Пример второго - то же Бесконечно лето в стиме или любые другие визуальные новеллы на Renpy и игра HuniePop (строго говоря, не совсем текстовая, но все же). Пока серьезные компании раскачиваются, не рискуя поставить под удар свою репутацию, и не занимаясь лоббированием смягчения возрастных рейтингов для эротики-порно в играх, молодые команды выходят на рынок и занимают эту нишу. 

Итог:

1. Для хобби можете писать какую угодно по жанру текстовую игру, на каком угодно языке и на какой угодно платформе. Хотя...если хобби, то наверное лучше все же платформа понагляднее, без возни с кодом.

2. Для более амбициозного хобби (а может даже для попытки заработать на этом), лучше выбрать одну из популярных западных платформ, с поддержкой мультиплатформенности, писать на английском, и писать приключения в стиле чойсов - с "душой", мыслями, эмоциями, любовными линиями, развитием героя и мира по ходу игры, с хорошим сюжетом, и высоким уровнем языка. или же игры, где главный локомотив геймплея будет открытие 18 + контента.

понедельник, 7 сентября 2015 г.

Немного об играх на платформе ChoiceScript.

Что? Простой язык для написания интерактивных мультиплатформенных книг-игр.


Почему? Вот статистика Choice of Robots в Стиме. 21722 +/- 3573 купивших эту игру при цене для стран первого мира в 4.99 $. И это только Стим - без учета App Store, Google play и Amazon kindle. Разумеется, все дело не только в деньгах - но кому не хочется иметь денюжку со свое хобби + неплохое количество тех, кто оценит вашу текстовую игру...?

Итак что такое ChoicScript с точки зрения Pros/Cons (за и против).

Pros:

  • Мультиплатформенность - игра идет на любом устройстве на котором идут современные браузеры (правда, вашу игру вы сможете запустить только на Мозилле, Хром и Опера не могут запустить ее, однако сами чойсы как-то компилируют свои игры так, что им уже не нужен браузер, как посредник для запуска игры).
  • Простота - все что вам нужно это написать сюжет и преобразовать его в код. Вам не нужна графика и музыка. Сам по себе язык довольно простой.
  • Достаточно разработанная-развитая среда ("экосистема") вокруг "языка" - развитый форум с большим количеством тем, дружелюбное комьюнити, высокий шанс, что на ваш пост ответит кто-то из разрабов "языка", вики по языку, IDE прямо в браузере и т.д.
  • Уже раскрученная франшиза-лейбл-бренд Choice of Games - ваша игра на этом движке уже будет иметь некоторые преимущества за счет только принадлежности к этому "языку".
Cons:

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


Идейно-творческая часть.


ДВЕ КОНЦЕПЦИИ – ДВА ИГРОВОСПРИЯТИЯ

В этой короткой статье я бы хотел сделать сравнительный обзор двух концепций написания интерактивных текстовых игр. Это концепция классических книг-игр и концепция текстовых игр под брендом Choice of games.



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


Структура параграфов



Схема структуры параграфов Книги-игры


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


Схема структуры параграфов Интерактивной текстовой игры Choice of games


Текстовые игры Choice of games имеют более строгую линейную структуру с минимальным количеством расходящихся сюжетных веток или не иметь таковых вообще (т.е. имеют лишь одну сюжетную ветку). Переходы(ссылки) между разными сюжетными линиями встречаются, но редко.
Авторам гораздо проще писать игру по такой схеме. В ней не запутаешься.
Главной особенностью этой структуры является схема «бутылочного горлышка». Когда в параграфе игроку дается выбор из 5-7 вариантов, а затем от любого выбранного варианта игрок переходит к следующему ключевому параграфу, который снова предлагает игроку 5-7 выборов и т.д.


Размер игры и время прохождения
Книги-игры, как правило, имеют размер около 300-500 параграфов. Этого размера достаточно, чтобы развернуть некое приключение и при этом не слишком утомить игрока. Поскольку древовидная система параграфов может быть очень запутанной (за счет зацикливаний/возвратов на прошлые уже пройденные параграфы), время прохождения такой по размеру игры колеблется в среднем от 30 минут до часа.

В среднем Текстовые игры Choice of games могут иметь такое же количество или чуть больше параграфов, чем книги-игры. Время для одного прохождения игры тратится гораздо больше, чем при прохождении одной сюжетной ветки в книге-игре. Время прохождения игры может доходить до 2 часов и более. Это отчасти еще объясняется тем, что в играх Choice of games размер текста в одном параграфе в среднем больше чем в параграфе книги-игры.


Реиграбельность
При одном прохождении книги-игры игрок прочитывает от 30% до 60% всех имеющихся параграфов (это зависит от конкретной структуры параграфов). Поэтому при переигрывании игрок может читать довольно много параграфов, которые он не посетил при первом прохождении игры.


При одном прохождении Текстовой игры Choice of games  игрок прочитывает около 90-95% имеющегося в игре текста. Реиграбельность здесь тоже есть, но она построена не на чтении новых сюжетных веток, а на попытке пройти тот же сюжет, но делая другие выборы, чтобы прийти к другому финалу.


Ролевая система и отыгрыш
В книгах-играх ролевая система основывается на системах типа АДиД в виде набора параметров Героя (Сила, Ловкость, Навыки и пр.). Параметры иногда выражены числами, а иногда просто названиями имеющихся у героя Навыков.
Эти параметры, как правило, касаются физических данных героя. Вся активность героя крутится вокруг, совершаемых им, физических действий (запрыгнуть на скалу, взломать замок, прокрасться мимо стражи, убежать от врага, атаковать врага разным оружием, и пр.).
Эту ролевую систему можно сравнить с театром кукол, когда актер стоит за ширмой и на его руку насажена кукла-петрушка. Игрок управляет, прежде всего, физическими Действиями куклы. Эта система держит игрока несколько отстраненно от играемого им персонажа.

Если игрок сделал за своего героя верное по сюжету действие, то часто получает за это какой-то бонус в виде находки или ценной информации по игровому миру.

Пример:
Вы оказались в небольшой комнате. У стены стоит сундук. В дальнем углу виднеется люк в полу. Что вы сделаете?

Откроете сундук - ???
Поднимите люк - ???
Или покинете комнату, пока сюда не вернулись гоблины - ???


Текстовые игры Choice of games  герой так же может иметь числовые параметры, касающиеся физических характеристик (Сила, Ловкость и пр.), но кроме них очень часто герой имеет так же набор морально-психологических показателей (Агрессивность, Доброта, Жадность, Религиозность, Коллективизм, Эгоизм и пр.). Суть ролевой системы сводится в большей степени именно к этим морально-психологическим показателям. И именно от этих показателей в конце игры зависит, к какому из многочисленных финалов придет ваш герой.

Структура текста игры сформирована так, чтобы апеллировать не столько к физическим действиям вашего героя, сколько к его мыслям и чувствам.
Перед выбором игроку предлагается 4-7 вариантов «внутреннего диалога» героя. Довольно часто эти выборы имеют морально-психологическую подоплеку. Это создает в ходе игры у игрока более глубокое погружение в «шкуру героя». Тем самым Действия героя в игровых событиях являются лишь следствием его внутренней мотивации.
Если игрок сделал за своего героя выбор, то очень часто его герой может ничего практического и полезного не получить (в виде находки или знаний) и это не приведет героя к какой-то другой сюжетной ветке. Но эти выборы по-разному изменяют морально-психологические характеристики(статус) героя.

Пример игрового выбора:

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

Я делаю это ради того чтобы избавить мир от подонков - ???

Я делаю это ради денег. Это просто моя работа - ???

Убивать нехорошо. Но это меньшее зло, чем то, что делает этот монстр, распространяя наркотики по всему миру - ???

Мне нужно убить его, чтобы заработать деньги на операцию моему отцу - ????

Независимо от того какой из вариантов выберет игрок, дальше будет параграф описывающий как жертва убита метким выстрелом героя. Но в разделе статистики параметров героя могут по разному изменяться его морально-психологические показатели (Человечность, Страх, Эгоизм, Жестокость, Самоконтроль,  и пр.)
Например – игрок выбрал вариант «Убивать нехорошо. Но это меньшее зло, чем то, что делает этот монстр, распространяя наркотики по всему миру» - параметр Цинизм вырос на 10%.

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

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

В играх Choice of games генерация героя не выведена как отдельный подготовительный к игре этап. Сюжет начинается сразу и по ходу развертывания этого сюжета игроку дают варианты выборов, которые постепенно формируют характеристики героя. Таким образом, генерация вашего героя гармонично вписана в сам сюжет.

Например:

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

Холеное лицо аристократа с тонким носом, аккуратно подстриженной бородкой и циничным взглядом - ???

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

 Перед зеркалом прихорашивалась симпатичная блондинка с пышным бюстом и полными губами. Когда она улыбалась, на ее щеках появлялись милые «ямочки», но ее глаза говорили «Я очень опасна!» - ???
*Примечание – выбор описания героя так же немного изменяет параметры психотипа,  стартовый уровень Здоровья и прочее (если автор это заложил в игромеханику).

Как видите, герой может оказаться не только мужчиной, но и женщиной. Все зависит от выбора игрока. Я уж не говорю про то, что игрок может выбирать имя и фамилию своему герою. А так же, его сексуальные предпочтения и привычки.


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

Преждевременная смерть героя в играх Choice of games почти не используется, ибо задача игры состоит не в цели Выиграть в игру или выполнить некую Задачу, а в том чтобы получить удовольствие от ролевого соучастия в сюжете и прийти к благоприятному финалу (судьбе).


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

В играх Choice of games довольно много диалогов с разными персонажами. В игре герой очень часто по многу раз встречается с одними и теми же персонажами и вступает с ними в диалоги. И эти диалоги требуют от героя(игрока) делать выборы ответных реплик, которые по разному могут сформировать отношение этих персонажей к герою.
Для того, чтобы игрок мог отслеживать - как относятся к его герою те или иные персонажи в специальном разделе (Лист героя) отмечается симпатия или антипатия персонажей.
Это привносит в игру дополнительную интригу. И игровые персонажи воспринимаются игроком не картонные статисты, а как живые и реальные личности. Ведь игрок от лица героя уже установил с ними отношения, а порой  и узнал их весьма драматичную личную историю. Если один из персонажей является в сюжете игры спутником героя и в ходе приключения этот персонаж погибает, то это воспринимается игроком более эмоционально.

Бои и оружие
В книгах-играх авторы часто придумывают свои правила боев (с кубиком или без) и свой набор оружия и их боевые параметры.
В книгах-играх особенно по теме фэнтези встречается много боев. Это требует от игрока вести на Листике Героя учет уровню Здоровья, Ловкости, Силы и пр. Бои проходят с использованием бросков кубиков, и бой может занять несколько игровых ходов. А если герой сражается с несколькими врагами одновременно, то боевые ходы(броски кубиков за героя и за врагов) сильно удлиняются по времени.


В играх Choice of games бои встречаются, но они происходят не по какой-то заранее описанной в разделе Правил системе (с кубиками или без), а в виде выбора описания вашей атаки текстом. Выбрав верный тип атаки, вы сразу получаете описание исхода боя в виде текста. Если выбор не верный, ваш герой теряет часть Здоровья и затем благодаря сюжетной задумке автора игры – избегает смертельной опасности. Это позволяет продолжит сюжетное повествование, а не преждевременно убить героя и заставить игрока начинать игру заново. Продолжительность боя обычно в  один или два хода.

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

Вы решаете разделаться с ними при помощи своей длинной бамбуковой палки и прогнать их из этих мест - ????
Вы решаете захватить в плен их вожака и, угрожая расправой, заставить бандитов сложить оружие - ???
Вы решаете вступить с ними в разговор и убедить их бросить это бандитское ремесло и встать на Путь Будды - ???
Вы решаете убить их всех. Они нарушили все законы совести и на их руках много крови невинных жертв - ???

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


Интерактивность
В книгах-играх интерактивность в большинстве случаев выражается или в выборе сюжетной ветки или в ходе проведения боя с врагами.
Например - Неудачная атака тут же приводит к отклику в виде получения вашим героем ранения.
А выбор героем одного из возможных путей (пойти к реке или идти через лес) меняет сюжетную ветку, но никак не отражается на статусе вашего героя. В книгах-играх много выборов, которые тут же никак не изменяют параметров героя и потому интерактивность таких выборов почти нулевая. Результат выбора, который вы сделали в данный момент, отразится на вашем герое, лишь спустя несколько игровых ходов. Здесь интерактивность игрового мира отложена во времени и порой не всегда очевидна для игрока.

В играх Choice of games интерактивность более насыщена. Почти каждый второй выбор в игре приводит к изменению параметров героя (прежде всего его морально-психологических показателей). Поэтому игрок, принимая решения и выбирая варианты реакций героя на события и диалоги, в большей степени чувствует, что на его действие тут же последует какое-то изменение в характеристиках героя. Но эти изменения не так критичны, как в книгах-играх и отразятся на ходе игры лишь ближе к финалу.





Выводы

1)      Если вы чувствуете у себя талант литератора и хорошо владеете слогом и стилем, то вам лучше писать в рамках концепции Choice of games. Если с художественными описаниями у вас не очень хорошо, то лучше писать в концепции книг-игр, где предложения более лаконичны.
2)      Если вы хотите написать драматически насыщенную игру, где у героя несколько спутников-персонажей, то лучше писать в рамках концепции Choice of games.
3)      Если вы хотите написать игру с высокой реиграбельностью игровых событий, то лучше выбирать концепцию книг-игр.
4)      Если вы хотите глубоко погрузить игрока в атмосферу вашего игрового мира и во внутренний мир вашего героя, то лучше писать в рамках концепции Choice of games.
5)      Если вы создали игру со свободным перемещением героя по разным локациям открытого Мира и возможностью повторно посещать эти локации, то вам лучше писать в концепции книг-игр.
6)      Если вы решили написать небольшую по размеру игру(около 200 параграфов), то лучше выбрать концепцию книг-игр. Особенность концепции Choice of games требует довольно длинного по размеру приключения, чтобы игрок успел вжиться в психотип своего героя и стал ему сопереживать.
7)      Если вы хотите чтобы ваш герой в игровом Мире находил много разных предметов, занимался их куплей/продажей, участвовал в большом количестве боев с разными типами врагов, то лучше выбрать концепцию книг-игр.

Дотошный читатель может меня спросить – А можно ли объединить две эти концепции в одной игре?
Мой ответ – Да, можно. Но с оговорками. Эти ограничения я перечислил выше.

Нежелательно делать симбиоз из громоздкого списка параметров героя заимствованного из концепции книг-игр и так же довольно обширного списка параметров психотипа героя используемого в играх Choice of games. Иначе вы получите перечень из 30-40 параметров и игровых ресурсов с которыми игроку будет трудно оперировать вручную (записывать/вычеркивать числа и слова).
Вам придется пожертвовать какими-то игровыми параметрами, чтобы ужать их количество до приемлемого уровня.

Желаю вам удачи и творческого запала в написании ваших текстовых интерактивных игр! Не бойтесь экспериментировать. 






Техническая часть.


Как перестать писать про "лист персонажа" и кубики и начать писать текстовые игры.

Предположим у вас уже есть сюжет в текстовой форме с расписанной механикой, со сценами-параграфами и всем таки прочем. Как все это запихнуть в язык чойсов? Изи бризи!

1. Качаем файлики, которые нужны для запуска вашей первой игры с сайта чойсов (Trying it out и первая ссылка под ней).

2. Сама игра будет находится в скаченной нами папке по адресу web\mygame\scenes. Для игры обязательно наличие 2 файлов в этой папке. Сама игра будет в файлике startup, а окно статистики будет редактироваться изменениями в файлике choicescript_stats. Игра запускается через файлик index в папке mygame.

3. Все изменения будут проводиться в файле startup, через любой текстовый редактор (notepad ++, например).


Самый верх файла startup - переменные. Например у вас в игре есть предмет "меч" - его можно представить как переменную "sword". Переменная объявляется только в самом начале текстового файла startup через *create. Полностью строчка с мечом в коде игры будет выглядеть как *create sword 0. 0 означает, что у игрока с самого начала еще нет меча, однако, он может появиться в будущем.

Дальше идут 2 обязательные строчки - *title и *author. Первая - название игры, вторая - автор. Они обязательно должны быть между первой сценой игры и переменными и должны быть заполнены.

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

Конец сцены - код кнопки. Начало кода кнопки - *choice. затем делайте переход на строчку вниз, делаете отступ через 1 нажатие кнопки Tab. Дальше идет символ # и текст, который будет в самой кнопке, например Start the game. Дальше опять спускаемся на строчку вниз и уже 2 раза жмем Tab. Здесь уже функция перехода на другой параграф *goto - например, если вы хотите, чтобы после нажатия на кнопку игрок переносился на параграф № 20 вам нужно написать *goto 20p, если вы уже обозначили параграф № 20 до этого как *label 20p.

Каждая новая кнопка начинается с символа #. Кнопок может быть бесконечное количество (вроде бы, хотя лично я видел максимум 6-7).

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

Фактически так вы можете перенести все параграфы из вашей игры. В начале *label и название вашего параграфа, например *label 1 для первого параграфа. Затем идет текст самого параграфа, потом *choice и кнопки.


Как реализовать шестигранный кубик и условные ветвления в игре? Сначала вам нужно создать переменную в вашей игре (например dice1 для первого кубика и dice2 для второго). Сама же кнопка будет выглядит так:

*choice
#Check your luck.
*rand dice1 1 6
*if dice1 >= 3
*goto 68p
*if dice1 < 3
*goto 56p

Функция *rand сама делает всю работу - рандомно выбирает цифру от 1 до 6 и присваивает ее переменной dice1. Это - бросок кубика. Дальше прога через оператор *if сама проверяет значения переменной. Если ее значение больше или равно 3, то игрок переместится на 68 параграф, если же меньше 3 - на 56. Можно реализовать и характеристики + прибавление к ним значений бросков 2 кубиков + прочие бафф-дебаффы, но принципиально код все равно останется таким (он врет).


В игре кнопки можно сделать скрытыми или не скрытыми, в зависимости от условий игры. Например, сцена - сражение с монстром. У игрока может быть волшебный меч, который может убить монстра одним ударом - а может и не быть. Как тогда оформить кнопку "Ударить монстра волшебным мечом"?

Здесь есть два пути.

*choice
*if (magic_sword = 1) #Рубануть монстра волшебным мечом.
*goto 252p

*choice
*selectable_if (magic_sword = 1) #Рубануть монстра волшебным мечом.
*goto 252p

Верхний вариант *if - кнопка не будет показана игроку, если не выполнено условие в скобках. Например у героя нет магического меча или magic_sword, то есть переменная magic_sword = 0 в памяти программы. Он не нашел этот предмет в процессе игры. Второй вариант *selectable_if - кнопка будет показана в любом случае, но если у героя нет предмета (или характеристика не позволяет или что-то еще, что указано в скобках), но если условие не выполнено, то кнопка и текст в ней будут серые, и кнопку нельзя будет нажать. Что выбрать - дело вкуса. Кто-то решит оставить игрока в полном неведении (первый вариант), а кто-то решит дать стимул на повторное прохождение (второй вариант).


В игру также можно вставлять изображения - просто вставьте в текст параграфа строчку *image 1.jpg. При этом у вас в папке игры. а именно в папке mygame должна лежать картинка в формате jpg с именем 1.


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

 #Run for class president
    *if leadership > 25
      You win the election by a landslide!
      *finish
> - характеристика должна быть больше значения проверки,
>= - характеристика должна быть больше или равна значению проверки,
< - характеристика должна быть меньше значения проверки,
<= - характеристика должна быть меньше или равна значению проверки.

В языке чойсов есть панель Show stats, которая показывает характеристики, взаимоотношение и прочее игрока на данный момент. Все это меняется в процессе игры через изменение переменных. А как указать какие именно переменные должны отображаться в этом меню? через редактирование файлика choicescript_stats
*stat_chart
 text strength
 text dexterity
 text wisdom
В этом случае игрок будет видеть состояние трех характеристик на данный момент - силы, ловкости  и мудрости.

Самое главное! Как изменять ваши характеристики-переменные по ходу пьесы? Через функцию *set.
*label 183p

Вы идете по дороге и вдруг замечаете у обочины дороги кошель, туго набитый золотыми монетами!

*choice
#Заграбастать золото себе (+ 25 золотых монет).
*set gold + 25
*goto 290p
#Пройти мимо.
*goto 290p

*set gold + 25 - этой строчкой вы увеличиваете значение переменной gold на 25 единиц. Если ваш персонаж захочет что-то купить в магазине то это уже *set gold - 25 (не забудьте в кнопке покупки вставить условие на проверку наличия у игрока достаточного количества золота для покупки). Также осуществляются и операции умножения и деления - через * и /.

*label 183p

Ушлый торговец предлагает вам свое добро - что купите?

*choice
*selectable_if (gold >= 30) #Купить себе меч за 30 золотых монет.
*set gold - 30
*set sword 1
*goto 290p
#Выйти из лавки торговца.

*goto 290p

*set sword 1 - изначально для всех предметов в переделанных мною играх я присваивал значение 0 (типа предмета нет), а когда игрок получает предмет, то просто меняю значение переменной предмета на 1. Дело вкуса, не более.


Еще один важный момент - игру надо сохранять в кодировке Unicode. иначе игра не воспримет русские буквы! Все переменные же нужно, к сожалению, писать на английском.


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

В чойсе также есть одно неприятное ограничение. В кнопке можно проверять только два условия одновременно.
  • And: (leadership > 30) and (strength > 40)
  • Or: (leadership > 60) or (strength > 70)
Но не 3 и более. Помните об этом. 


Вроде все. Коротенько вышло, правда? )) За бортом много чего осталось - комментирование, перенос строк, временные переменные и прочее... Но для написания первой игры это и не нужно (автор же как-то живет без всего этого, значит и вам не нужно, азаза). А если понадобится - посмотрите по ссылкам вверху статьи. Все равно все самое интересное, новое, прорывное по языку чойсов будет на этих, да-да, англоязычных сайтах. And if you don't agree with this point of view - *** **** ** and learn english!

Над статьей работали - Таро и esse
(чо вы - мы правда работали Т_Т).

понедельник, 20 апреля 2015 г.

Вторая "переделка".

Перевод на рельсы Choice Script книги-игры "Стань Стальной крысой!"

В оригинале было несколько ошибок в переходах между локациями - надеюсь, нашел и исправил все.

https://yadi.sk/d/RFV2QDPXg86td

четверг, 16 апреля 2015 г.

Первая "переделка".

Первая моя "переделка" (из PDF в choicescript) - "Другой мир" Антона Колосова.

Пост автора на "quest-book" ссылка

Картинки честно натырил в сети и обработал при помощи GIMP. ))

Игра очень короткая - на 2 минуты (90 "локаций-переходов" всего).

Сама игра - яндекс-диск

Чекнул при помощи 360 Total Security.



P.s. Игра не запускается на Хроме и на последних версиях IE - только на Мозилле (может и на каких-то еще менее популярных браузерах). Зато она запуститься на любом устройстве, на котором может запуститься Мозилла (на Гэлекси Ace работает норм)