Просмотр игр КРИЛ 2008 вызывает разные мысли. Но об играх конкурса это тема отдельная. Мне сейчас хотелось бы поставить несколько старых вопросов:
1. Как сделать игру интересной для всех?
- одному нравятся забавные описания;
- другому - активные действия при острой нехватке времени;
- третьему - серьезное исследование мира;
- четвертому - приколы;
- пятому - ясность;
- шестому - загадочность;
- и т.д. - но при этом немногим нравится "ирландское рагу", т.е. механическая смесь перечисленных элементов.
Почему женщины не играют - статья меня поразила в свое время.
Где тот путь "по лезвию бритвы" который ведет к созданию интересной игры для всех? Или хотя бы для многих?
P.S.1. Самому мне нравится исследовать "черные ящики", но возможно, я просто динозавр? Ведь глас народа - глас божий?
2. Стоит ли вообще писать парсерные игры?
- Труда в них вкладывается, если не на порядок, то вчетверо-впятеро больше, чем в аналогичную менюшную игру.
- Каждый новый объект или действие вызывает риск "комбинаторного взрыва" который ведет к тому, что какие-то возможные действия оказываются не замеченными автором игры или игроком;
- Типовые загадки с элементарнейшим, казалось бы, решением, и несколькими подсказками, (и даже несколькими путями решения) становятся камнем преткновения для игрока, вызывая его раздражение от "безвыходного" тупика;
- С другой стороны, игра все равно не может адекватно реагировать на ВСЕ возможные команды, и для игрока-новичка это быстро подрывает интерес;
- Отладить полностью парсерную игру значительного размера малому количеству бета-тестеров невозможно. Заявляю авторитетно, как человек потративший на это занятие уйму личного времени и времени своих друзей. Глаз "замыливается" и не замечает небольших изменений, которые, взаимодействуя, приводят к неработоспособности прежде рабочих кусков кода.
- Отладка игры на "большом" сообществе в России? Где число авторов и игроков почти совпадает? Гмм... А кто потом будет играть?
В "менюшке" все это сделать куда проще - она тупо отсекает все непредусмотренные автором варианты и при этом не вызывает раздражения игрока невозможностью реализации этого варианта - ну просто таковы правила игры и они принимаются! В парсерной игре игрок ждет большего. И если в игре есть умывальник - игрок пытается там чистить зубы! Логично? Вполне! И что же, мне как автору делать? Вставлять еще один объект? Придумывать еще один вариант борьбы с мировым злом, основанный на устранении запаха изо рта у главного героя? Добавлять ему руки, волосы, зубы, пупок? И действия "сломать руку преступнику", "наступить на ногу эльфу", "выбить зуб дракона молотком"?
спойлер…
Может лучше плюнуть на все и делать свои привычные менюшки? Я умею.
Отредактировано Korwin (10.01.2009 05:26)
Неактивен
Год из года по форуму кочует примерно один и тот же пример: "врезать/дать/влупить/вмазать имяреку по кумполу/черепушке/лбу/хребтине/сопатке/ноге". Поражаюсь, насколько все жетокие.
И, главное, указанная конструкция не представляет из себя ничего сложного. Все что нужно, это создать класс "часть тела", которая будет все действия перенаправлять на своего обладателя. Вот пример из РТАДС (только что написал, в конкурсной версии нет):
class bodypart: fixeditem dobjGen(a, v, i, p) = { self.location.dobjGen(a, v, i, p); } iobjGen(a, v, d, p) = { self.location.iobjGen(a, v, d, p); } ; klyki : bodypart location = izaas desc = 'клыки/2m' adjective = 'подрезанные/2 заостренные/2' 'изааса' 'изааса#r' 'изаасу' 'изаасу#r' noun = 'зубы/2m клык/1m зуб/1m' ldesc = "Тебе неловко заглядывать Изаасу в рот. " verDoBreak(actor)= "Так ты станешь врагом не только Изааса, но и всех вампиров города." verDoAttackWith(actor)="Так ты станешь врагом не только Изааса, но и всех вампиров города." verDoPullout(actor)={self.verDoBreak(actor);} isThem = true doSynonym('Break') = 'Vybit' ;
>дать по клыкам изааса
(с помощью рук)
Так ты станешь врагом не только Изааса, но и всех вампиров города.
Аналогично "вырвать клыки изаасу", "выбить клыки изаасу", "врезать по клыкам изааса"
Так что первая часть фразы "дай в зубы дракону посохом который тебе дал маг из подземелья" обрабатывается сравнительно легко (автору придется не забыть прописать прилагательные у части тела (в приведенном примере "изааса" и "изаасу"), а вот "который что-то там" - это уже полный изврат. Игроку не будет писать такую длинную фразу, если предмет один и автор предложил короткое определение (кривой посох).
Неактивен
Какую конфетку ты хочешь съесть? Мамину, папину или бабушкину?
>съешь конфетку папину
Вкусно! Папа хороший.
По-моему такой наворот в виде длинных определений не сделает игру интереснее и проще (для автора точно). В целом, есть способы реализовать и это. Уже вижу алгоритм. Но авторам гемора...
Отредактировано GrAndrey (10.01.2009 19:59)
Неактивен
Для упрщения жизни начинающих игроков предлагаю написать транскрипт некой игры и рассмотреть в нем все базовые команды. Транскрипт запихать в библиотечку с командой его вызова и выдавать игроку ссылку на ряду с командой ПОМОЩЬ. Также можно оборвать на середине транскрипт и дать игроку закончить эту простенькую, но тщательно проработанную демку. Так игрок сможет ознакомиться с способами взаимодействия с игрой, попробует силы на тривиальных задачах и втянется. Даже если игра неудачна (для новичка), он поймет что игры могут быть разные и все зависит от автора.
Неактивен
Gremour написал:
А можно и карандаш объектом сделать, и скрепки. Прстыми, без дополительных реакций. Пусть игрок таскает, если клептомания у него.
Клептомания - имманентное свойство игрока, которое компенсирует только 100% уверенность в бесполезности вещи.
Неактивен
В этой игре вы не можете чистить зубы используя воду из озера!
Специально не делал - само как-то получилось...
1) "Ага! С озерной водой нельзя, нужно поробовать с родниковой!"
2) По моему, напоминать игроку о игре - мешать погружению.
3) Спасибо за идею, добавил "используя", "применив" и даже "задействовав" как синоним предлога "с помощью" (with)
Правда, по правилам, нужно учитывать запятую перед ними, что сделать чуть сложнее. И код усложнять, и потенциально плодить баги.
Неактивен