Я писатель про заек.
Предлагаю к рассмотрению проект текстовой игрушечки, в которой вместо стандартного ввода слов (что в случае русского языка, на мой взгляд, чересчур усложняет игровой процесс) в качестве парсеров используются условные знаки.
Единственный вопрос, занимающий меня в рамках форума - это в каком интерпретаторе лучше делать подобную разработку, и как примерно будет выглядеть код? Любому, кому будет интересно откликнуться, буду очень признателен, поскольку себя самого назвать программистом могу с большой натяжкой.
———————-
Итак, запускаем игру. Выдаётся текст:
На полянке Алиса (1), Коля Герасимов(2), Маша(3) и Корней Чуковский (4). Кем хотите играть сейчас?
Как игроку, мне предлагается увидеть эту полянку глазами любого из этих персонажей. Для этого у меня в распоряжении есть парсер #. Формат его использования (#<номер персонажа>).
Смотрим "глазами Алисы": #1.
(Снова выводится перечисление объектов под номерами). Но теперь уже видны предметы.
Солнечная полянка! Алиса обводит мир загадочными детскими глазами, и видит, что пространство с ней разделяет Коля Герасимов(2), Маша(3) и Корней Чуковский (4). На подстилке (5) лежит печенье (6) и чайник (7).
Дальше, мы в качестве Алисы хотим рассмотреть поближе, к примеру, Колю Герасимова. Для этого у нас есть универсальный парсер @. (при желании, сам парсер можно глобально заменить на иной символ, но это не суть важно.)
Итак, смотрим.
@ 2
Коля Герасимов - мальчик не из робкого десятка. Сейчас он сидит напротив Алисы и смотрит на неё выразительными глазами. На шее у него бабочка. (Жирным шрифтом дан текст, описывающий Состояние объекта Коля на данный момент в глазах Алисы. Оно может меняться. Вопрос: где мне задавать это состояние, в описании объекта Алиса когда я задаю всё, что она видит в разные моменты игры, или в описании объекта "Коля"?)
Дальше, нам в качестве Алисы может захотеться спросить Колю о чём-либо. Пусть список тем для разговора ограничится тем, что Алиса видит вокруг себя. Для общения станем пользоваться двумя парсерами, ! и ?;. Первый для восклицательного обращения, а второй для вопросительного . То есть это по сути эквиваленты команд "сказать персонажу о чем-то" и" спросить персонажа о чем-то".
! 2 4 (сказать Коле о Корнее Чуковском.)
"Ах, что за славные люди, эти детские писатели!" говорит Алиса Коле. "Да? " - сомневается Коля. " А по-моему они все слегка сумасшедшие!
(хотелось бы предусмотреть хотя бы две различные реакции на одинаковое обращение к персонажу. То есть, во второй раз Коля ответил бы как-нибудь по-другому. При этом после определённого ответа Корней Чуковский изменяет своё "состояние". Kак мне это сделать?)
? 2 6 (спросить Колю о печенье)
"А что, Коля, неужели ты не знаешь, что сладкое портит зубы?" интересуется Алиса. " Вот еще выдумки!" отвечает Коля. " От сладкого крепнет уверенность в сегодняшнем дне!" Коля встаёт и идёт к реке. (последнее - это перемена состояния Коли. Он уходит.)
(Кстати, о репликах. Например, я задаю строки ответов на вопросы и восклицания в целом виде, а программа при выводе разбивает их более "литературно". Я задал строку "Вот еще выдумки! От сладкого крепнет уверенность в сегодняшнем дне!" а программа вставляет между предложениями "отвечает Коля" или "интересуется Алиса". Как мне это сделать?)
(продолжение следует)
Неактивен
Так ты всё-таки ознакомился с переведённым TADS? Я немного посмотрел RTADS, и мне вполне понравилось. Если раньше можно было сказать, что нормальной системы нет, то сейчас — вряд ли. Парсер там не простой, и работает вполне литературно. В любом случае, это будет лучше и понятнее, чем набор символов.
Что касается переключения между персонажами, то там, как и всё остальное, это наверняка можно сделать. С конкретной имплементацией тебе, возможно, помогут здесь, в соответствующем разделе, ну или на r.a.i.f.
b0n0b0 написал:
А во-вторых, меня мало интересует стандартная формула игрового процесса "пойти туда, открытьвзять то, ударитьприменить это". В силу того, что все почему-то стараются придерживаться именно этой формулы, в адвентурах до сих пор царит элементарщина. А экспериментируют только Плоткин и Кадр.
Тогда уж и, как минимум, Эмили Шорт. (Кстати, у неё есть игра с переключением между персонажами на TADS3 — про Макса Бластера.) Не совсем понял, что ты подразумеваешь под формулой "пойти туда, открыть", но "экспериментальную" IF пишут многие.
Неактивен