Представьте, что у вас есть многопользовательская RTS-игра (например, Dune, Age of Empires, Settlers, Warcraft). С клавиатуры доступны определенные команды для управления войсками (Стоп, Атака, Движение) и некоторые более общие команды, такие как Пауза или Выход. Игра локализована на многие языки (18+).
Я вижу два возможных способа использования сочетаний клавиш:
A. Используйте первую английскую букву упомянутых команд («S», «A», «M», «P» и т. Д.) Для каждой локали.
B. Используйте первую букву слова в этой локали (например, русские ярлыки будут «С», «А», «Д», «П». Немецкие будут «Н», «А», «S» и т. Д.). .)
Какой из этих (или предложить свой) подход лучше при выборе ярлыков для нескольких локалей?
PS Конечно, ярлыки могут быть настроены игроком, но некоторые нормальные значения по-прежнему необходимы.
источник
Ответы:
Я бы сказал, что это хорошая идея - установить горячие клавиши в районе WASD. Сначала может быть более интуитивно понятно связать команду с ее первой буквой, но это становится проблемой, когда вы понимаете, что вам приходится нажимать A и P 120 раз в минуту при обработке команд мыши.
С горячими клавишами от Q до R, от A до F и от Z до V у нас есть ряд преимуществ:
Лучше игнорировать язык и придерживаться горячих клавиш, которые становятся преимуществом для игрока, который привык к нему, а не наоборот.
источник
Если вы правильно настроили свой интерфейс, ассоциация должна быть мышечной памятью, а не буквой.
Я всегда как нажатие клавиш в Diablo II, где каждый бар был только ряд клавиш, вы не должны думать о том, что разработчик назвал что-то, именно там, где вы положили его на HUD.
Возможно, тот же подход может работать в РТС?
источник
Я бы никогда не ожидал, что ярлыки будут на моем языке. Практически все, кто играет в игры, знают английский, он стал стандартом, и всегда неплохо придерживаться стандарта. Так что придерживайтесь английского.
источник
В Natural Selection горячие клавиши были назначены на должности. Если командная панель была что-то вроде:
Ярлыки будут:
Вы также можете настроить свои собственные сочетания клавиш, но значение по умолчанию было отличным, потому что вы просто должны были помнить позиции, а не сложные комбинации горячих клавиш. Кроме того, это позволило мне выполнять более быстрые действия, поскольку моей руке не приходилось перемещаться по клавиатуре: она просто сидела с левой стороны клавиатуры и едва двигалась.
источник
Я бы предпочел одну схему для всех языков, чтобы облегчить общение на разных языках. Кроме того, это экономит вам немного работы и устраняет потенциальный источник ошибок.
Самое важное для любой схемы, которую вы выбираете, это отображение ярлыка в графическом интерфейсе, чтобы игроки могли быстро проверить ярлык для любой кнопки, которую они могут нажать. Поэтому, когда у вас есть кнопка «Переместить», «Атака» и т. Д., Всегда помечайте кнопку как «Атака (А)», «Движение (М)» и т. Д. После этого ваши игроки смогут быстрее выучить ярлыки, чем если бы вы их скрыли варианты переплета или даже руководство.
источник
Ну, во-первых, я бы сказал, "нет!" Профессиональные игроки Starcraft2 регулярно меняют свои привязки, пока не будут довольны результатом. Таким образом, хотя «построение дронов-зергов» в отображении по умолчанию равно 4 + s + d, оно может быть совершенно другим в чужом профиле. Я думаю, что Starcraft 2 даже позволяет пользователям загружать свои настройки в «облако», чтобы при каждом входе в турнир все настраивалось правильно.
Итак ... что я хотел бы предложить это:
1) Создайте перечисления для каждой команды «Создать рабочий, построенное здание и т. Д.»
2) в текстовом файле есть сопоставления значений клавиатуры (w, a, s, d) с определенными командами (атака, перемещение и т. Д.)
3) ???
4) Прибыль
Таким образом, пользователи могут настраивать сопоставления так, как они хотят, а позже вы можете вернуться и создать «редактор ярлыков» в вашей программе, который будет редактировать этот текстовый файл. В общем, настройки пользовательского ввода никогда не должны быть жестко закодированы.
источник
А является более общим, и как только вы установили ярлыки, вы уверены, что они перекрывают друг друга или нет, что может произойти, когда вы автоматически переводите приказы.
Конечно, вы должны позволить пользователям изменять их. Подумайте о создании шаблонов, которые могут изменить доверенные переводчики.
источник