Эволюционирующий UI
Я большой любитель игр! И мне не стыдно в этом признаться. =) А так как у меня есть недокументированная функция постоянно думать, то об играх и их устройстве я тоже думаю много. Частенько придумываю новые ответвления сюжета в разных играх, альтернативные технологии и, конечно, предыстории (предысторию тетриса слабо придумать? =) ). А так как я по образованию программист, то мне в голову постоянно лезут алгоритмы реализации той или иной возможности, а также некоторые новые идеи, которые смогли бы облегчить взаимодействие человека с игрой. Об одной из таких вот идей я сегодня хочу написать.
Вы наверняка уже догадались, разговор пойдёт о такой стороне интерфейса пользователя, как эволюция. Часто, когда мы берём в руки игру и загружаем её, не можем быстро освоиться с управлением и вникнуть во все тонкости игры. Хорошо, что практически в каждой игре существует режим ознакомления, где в той или иной мере показывается, как быстро приступить к игре, и описываются основные средства управления. В любом случае, интерфейс уже был до нас, мы пришли на новое место и разбираемся, что и как, да к чему всё это.
Психологически человеку гораздо легче разобраться в чём-то, если ему объясняют какое-то явление или процесс «по кирпичикам», с нуля, когда ничто ещё не познанное не отвлекает. Идеально, если человек становится свидетелем развития (отрисовки, создания) чего-либо, тогда он может быть уверенным, что знает всё и никаких неожиданностей или проблем не возникнет.
Собственно, идея состоит в том, чтобы на первом этапе ознакомления представить игроку САМЫЙ минимум возможностей управления, в последствии постепенно «дорисовывая» нужные кнопки, менюшки и окна. А при грамотной анимации и дотошных поясняющих подсказках (лучше, если в двух вариантах: аудио и текстовом) вопросов у любого человека не должно остаться в принципе.
Нечто похожее пытаются сделать многие разработчики, но достигается это у них обычно просто скрытием «ненужных» в данный момент кнопок. Идея же эволюции интерфейса подразумевает интерактивное взаимодействие человека и игры. Например, появляется новая кнопка управления космическим кораблём. Она размещается (втискивается, подвигает другие кнопки) на панели и игроку сразу предлагается привязать к ней комбинацию клавиш для активации (или задаётся вопрос, мол, удобно ли Вам нажимать на эту кнопку? Не подвинуть ли чуть левее? =)) ).
Хорош тот интерфейс пользователя, о котором не думаешь, правильно? Эволюция смогла бы помочь пользователю максимально плотно сжиться с управлением и позволила бы игроку наслаждаться игрой вместо того, чтобы изучать меню настройки управления или читать мануалы и описания к игре.
Хотя при неправильном подходе эта идея может сыграть злую шутку с игроком: если начать эволюцию «не с того конца», не в той логической последовательности, то игрок банально не поймёт, что же ему показывают и ему придётся второй раз эволюционировать с игрой, дабы найти ответы на все вопросы, возникшие у него в процессе первой эволюции.