Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

5    0    #1
23.03.2019 12:28

Михаил Соловьёв
Участник (+17)
Зарегистрирован: 23.03.2019
Сообщений: 18

Спящая красавица (+ новый движок Quazatron Adventure)

Всем привет!
Меня зовут Михаил, я давно увлекаюсь текстовыми приключениями и в этом году наконец-то запилил на JS движок для разработки таких игр для игры в браузере. А к движку - игру на основе старой спектрумовской адвенчуры, чтобы можно было пощупать основные возможности.

Вот, собственно, игра https://eidolonzx.github.io/quazatron-adventure/, а вот сайт движка https://quazatron.ru/.

Игру уже можно пройти, но очень не хватает тестеров "в теме" такого рода игр. Буду рад конструктивной критике и предложениям, готов ответить на любые вопросы. Я новый человек в комьюнити, изначально делал движок в основном для себя, и не совсем понимаю, насколько это может быть востребовано.

P.S. Я не умею в графику, поэтому скрины из всем знакомой игры)
https://quazatron.ru/img/screenshot.jpg

Отредактировано Михаил Соловьёв (23.03.2019 12:30)

Неактивен

0    0    #2
26.03.2019 15:54

qwerty
Участник (+244, -117)
Зарегистрирован: 21.12.2005
Сообщений: 206
Вебсайт

Re: Спящая красавица (+ новый движок Quazatron Adventure)

Немного раздражает, что: после нажатия "ENTER" и начала игры, фокус оказывается не на поле ввода и его приходится дополнительно тыцать + даже при наличии всего одной монеты, приходится каждый раз указывать, что она не монета, а - медная монета + при наличии в игре ужасающих монстров, которые абсолютно безобидны, странно, что игра сурово карает за некоторое неверное действие, разбитием лампы + игра не понимает некоторых распространённых сокращений, например, инв(инвентарь). И отдельно замечу, что игнорирование не распознанных частей ввода лично мне представляется не очень хорошим решением. Хотя, зачастую из-за этого игра выглядит более понятливой, чем это есть реально.

 спойлер…

Но, в целом, неплохо. Простенько, но не плохо. Я немножко видел оригинал, и да - это тот редкий случай, когда графику действительно ст0ило сменить. Идея со спящей красавицей, внёсшая некоторое минимальное изменение, действительно улучшила игруsmile

Буду поковыривать исходники и ждать оригинальных игр на этом движке.

Неактивен

0    0    #3
26.03.2019 16:54

qwerty
Участник (+244, -117)
Зарегистрирован: 21.12.2005
Сообщений: 206
Вебсайт

Re: Спящая красавица (+ новый движок Quazatron Adventure)

И отдельно замечу, что игнорирование не распознанных частей ввода лично мне представляется не очень хорошим решением. Хотя, зачастую из-за этого игра выглядит более понятливой, чем это есть реально.

Вот с этим не понял, можете пояснить на примере?

Вводим в игре:
> Положить ледяную лестницу на горячую печку
Получаем:
- Ок, положил

Обычно это не приводит к проблемам, но бывает такое, что пытаешься сделать что-то одно, а получается нечто неожиданное.

 спойлер…

upd:

Насчёт монеты - тут по-другому не знаю, как реализовать логику. У нас в игре две разных монеты, и если обе их идентифицировать как "монета", то возникнут казусы, например, когда обе монеты в локации, ты пишешь "возьми монету" - какую брать? я согласен, замороченно постоянно писать "серебряную монету", но пока решения не придумал. Есть идеи?

Обычно движки реагируют так:

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

Отредактировано qwerty (26.03.2019 16:59)

Неактивен

0    0    #4
27.03.2019 11:52

qwerty
Участник (+244, -117)
Зарегистрирован: 21.12.2005
Сообщений: 206
Вебсайт

Re: Спящая красавица (+ новый движок Quazatron Adventure)

Михаил Соловьёв написал:

Вводим в игре:
> Положить ледяную лестницу на горячую печку
Получаем:
- Ок, положил

Обычно это не приводит к проблемам, но бывает такое, что пытаешься сделать что-то одно, а получается нечто неожиданное.

Да, теперь понял.
Ну это вопрос скорее к игре, чем к движку. Я решил не заморачиваться и упростить такие конструкции. На парсерфест игру сделаю поприличнее smile
Движок позволяет задать конструкцию типа "ПОЛОЖИТЬ ЛЕСТНИЦУ НА ПЕЧКУ", и это будет отличаться от "ПОЛОЖИТЬ ЛЕСТНИЦУ".
....

А вот вы и не поняли. В этой игре [насколько мне известно] нет никакой печки. И единственная лестница, которая есть - не ледяная. Так же, сейчас в игре можно успешно "положить лестницу в духовку", и много чего ещё, что автор предусматривать и не может и не должен.

Неактивен

0    0    #5
30.03.2019 13:03

qwerty
Участник (+244, -117)
Зарегистрирован: 21.12.2005
Сообщений: 206
Вебсайт

Re: Спящая красавица (+ новый движок Quazatron Adventure)

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

===

Михаил Соловьёв написал:

* Улучшить логику работы команд "ВЗЯТЬ" и "ПОЛОЖИТЬ" (спасибо qwerty за подсказку)

Да боже ж мой! Причём тут логика команд? Можно "осмотреть свои ослиные уши" и получить ответ: "ничего необычного" - и так с любой командой абсолютно. А если "приставить лестницу к облаку", то получим разную реакцию, в зависимости от того, есть ли в этой локации тот самый единственный объект, к которому лестница должна быть приставлена. И если есть, то - приставит. И это может приводить к тому, что игрок скомандует что-то одно, а игра сделает другое.

А дело вот в чём:

игнорирование не распознанных частей ввода лично мне представляется не очень хорошим решением

- но, может быть, и так сойдёт?

===

* Добавить команды "ПОВТОР", "ОТМЕНА", "ЖДАТЬ"

Команда ПОВТОР мне не видится чем-то полезным. Ну, то есть - для повторения последнего действия нужно целую команду вводить? Лучше сделать, чтобы стрелками "вверх/вниз" можно было перебирать последние введённые команды, чтобы выбрать одну из них для выполнения. И такое обычно есть в парсерках.

===

Добавить в парсер возможность определения команды по первым её буквам

Ну распространённые сокращения, как я понял, уже реализованы. Зачем добавлять не распространённые сокращения - я плохо понимаю и использовать их не буду. Но вообще, распознавание команд по первым нескольким буквам было в самых первых парсерках... то есть, памяти у компов было мало и проще было хранить первые 4-5 букв, чем целый глагол. Может быть, другие игроки это оценят. Лично я бы оценил, если бы игра понимала команды, введённые на правильном русском языке.

Неактивен

0    0    #6
30.03.2019 14:12

qwerty
Участник (+244, -117)
Зарегистрирован: 21.12.2005
Сообщений: 206
Вебсайт

Re: Спящая красавица (+ новый движок Quazatron Adventure)

Можно мне нормальный пример реакции программы или, ещё лучше, пример существующей игры, в которой всё это реализовано?

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

Об этом предмете ничего не известно."  или "Этого предмета здесь нет." -- см реакцию RInform-игр: https://rinform.org/#games например, Приключение. Или любую другую, ведь эта реакция формируется на уровне движка, а не игры. Хотя, автор игры может её изменить. Но, обычно, не зачем.

Про лестницу с облаком - я писал выше, что сделал такие упрощения, как, например "ПРИСТАВЬ ЛЕСТНИЦУ" в локации с деревом только для упрощения задачи игроку.

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

===

Положить ледяную лестницу на горячую печку.

Осмотреть свои ослиные уши.

Приставить лестницу к скале.

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

Неактивен

0    0    #7
30.03.2019 15:21

qwerty
Участник (+244, -117)
Зарегистрирован: 21.12.2005
Сообщений: 206
Вебсайт

Re: Спящая красавица (+ новый движок Quazatron Adventure)

johnbrown написал:

qwerty написал:

Команда ПОВТОР мне не видится чем-то полезным. Ну, то есть - для повторения последнего действия нужно целую команду вводить?

А если последняя команда "Бросить дротик в мишень"? smile Проще набрать "повтор", а ещё лучше - просто "п". Стрелки это конечно хорошо, только не на всех устройствах они есть.

Однако, в твоём протопарсере, стрелочки - работают))

upd: впрочем, как и 'повторить' и 'п'

Отредактировано qwerty (30.03.2019 15:23)

Неактивен

Powered by PunBB
© copyright 2001–2023 iFiction.Ru