През последните години работата на моя дизайнер беше тясно свързана с проектирането на сложни контроли за игра. Изненадващо ми беше доста трудно да намеря добри общи насоки. Трябваше да реша някои доста сложни предизвикателства в дизайна и да проуча много различни източници, докато не успях да разработя някои принципи, които в момента използвам в работата си. Мисля, че си заслужават да бъдат споделени и може да са полезни за всеки, който се занимава със задачи за проектиране на контроли.

Като цяло темата е твърде голяма само за една статия, така че ще предоставя външни връзки към други ресурси с повече подробности, когато е възможно.

И така, бих определил трите основни принципа:

  • Достъпност - контролите на играта трябва да бъдат лесни за научаване и използване и да вземат предвид физическите и когнитивните ограничения на човека.
  • Намерена комуникация - контролите на играта трябва да съобщават намеренията на играча по начин, който играчът очаква и да създават усещане за пълен контрол.
  • Пространство за изразяване - контролите на играта трябва да предоставят на играча достатъчно пространство за изразяване за майсторство и да поддържат достатъчно ниво на разнообразие.

Нека разгледаме тези принципи по-подробно.

Ограничения на ръцете

Ако искаме контролите ни да бъдат лесни за използване, първото нещо, което трябва да вземем предвид, са ограниченията на нашите ръце.

Има три основни „групи с пръсти“, които трябва да имаме предвид при проектирането на контролите:

  • Основен контрол - палец и показалец. Гъвкав и прецизен, използваем за първични действия (стрелба, скок и др.).
  • Вторичен контрол - среден пръст. Гъвкав, но не толкова прецизен, използваем за първични действия на задържане (режим на насочване, [w] за ходене и т.н.).
  • Подкрепа - безименни и меки пръсти. Слаб и не много гъвкав, може да се използва за вторични действия.

dotsenko

Нека се опитаме да приложим знанията си за ограниченията на ръцете за по-практичната задача - проектиране на оформлението на игровите контроли. За да направим това, можем да използваме Закона на Фит, който за нашия случай можем да формулираме така: „колкото по-малко е разстоянието до бутона и колкото по-голям е бутонът, толкова по-достъпен е бутонът.“

Комбинирайки закона на Fitt и познанието за ограниченията на ръцете, можем да формулираме основния принцип за дизайна на оформлението на контролите:

Най-честите действия трябва да бъдат на най-достъпните места и да съответстват на основната контролна група на ръката на играча.

Нива на достъпност: Gamepad

За геймпада може да изглежда така (като пример можем да използваме много разпространен контролер за Xbox 360):

Ниво 1 Етап 2 Подреждане 3
Бутони A/X B/Y Старт/Назад
Пръчки DPAD
LT/RT LB/RB

Нива на достъпност: Клавиатура и мишка

Що се отнася до клавиатурата, бих ги разделил по този начин (това също беше моето вътрешно ръководство за оформление на контролите на Watch Dogs 2):

Ниво 1 Етап 2 Подреждане 3
WASD + Q/E/R/F Цифрови клавиши 1-5 F1-F12
Интервал/Shift/Tab Z/X/C/V/T/G Дясна страна на клавиатурата според закона на Fitt’s (най-късите траектории на пръстите)
LMB/RMB/MMB Ctrl/Alt Всяко действие, което изисква движение на ръката

Като малък практически пример можем да разгледаме интерфейса за хакване на клавиатура за Watch Dogs 2 PC.

Ето как изглежда с геймпада - всички бутони могат да бъдат достъпни с десен палец, а за да активирате „хакерския режим“, играчът трябва да задържи бутона LB с показалеца на лявата ръка. Такова оформление на контролите позволява да се използва хакерството едновременно с движението на героя като бързи контекстуални действия.

На клавиатурата хакерските действия се извършват на места с най-бърз достъп с палеца и показалеца (R, F, C, Space), а „режим на хакване“ може да се активира с мишката (което прави хакерството по-точно от контролите на геймпада) . Крайният резултат на играта за такава контролна схема беше 4,7 от 5.

Ограничение на вниманието

Винаги има ограничение на човешкото внимание за редица едновременни действия, дори ако те са физически възможни (например, изключително трудно е едновременно да управлявате автомобила, да контролирате нивото на ускорение, а също така да целите и стреляте - дори ако вашият геймпад физически позволява това).

Разбира се, съществуват различни видове действия, с различни изисквания за внимание. Бих ги разделил по следния начин:

  • Основни действия - изискват активно вземане на решения, основните „Глаголи“/основни механизми, които играчът използва. Може да включва повече от един основен вход (насочете и стреляйте, движете се и скачайте и т.н.). Изисквайте постоянно внимание от страна на играча.
  • Промяна на състоянието - действия, които превключват режимите на управление (задръжте бутона за насочване, задръжте бутона, за да стартирате и т.н.). Леко увеличете общото ниво на необходимото внимание. Много често „задръжте“ действия.
  • Контекстуални действия - появяват се от време на време в контекста на първичните „Глаголи“ (презаредете оръжието, взаимодействайте, използвайте специална способност и т.н.). Изисквайте краткосрочни периоди на голямо внимание от страна на играча.

От практиката и многобройните наблюдения максималният лимит на едновременни действия (за всяка ръка) е:

  • Едно основно действие
  • Една промяна на състоянието
  • Едно контекстуално действие

Така че, с двете ръце, играчът може едновременно да контролира (

приблизително) две първични действия, две промени в състоянието и две контекстуални действия. Трябва също да имаме предвид, че едната ръка винаги е основна, така че действия, които изискват по-голяма точност, трябва да бъдат възложени на основната ръка.

Да се ​​върнем към нашия пример за GTA 5.

  • Кормилно управление (основно действие)
  • Ускорение/Спиране (основно действие)
  • Режим на снимане (промяна на състоянието)
  • Насочване и снимане (основно действие)

Както можем да забележим, в този епизод играчът трябва да използва три основни действия едновременно: да контролира позицията на колата, нейното ускорение и също да стреля. Технически е възможно да се направи с геймпада, но ограничението на вниманието не позволява да се направи ефективно. А налягането във времето и скоростта го правят още по-лошо. Възможно е в тази конкретна мисия такива сложни контроли да са проектирани умишлено, но също така е добър пример какво може да се случи, ако контролите ви в играта изискват твърде много внимание от страна на играча.

Има ли начин да се преодолеят тези ограничения? Всъщност отговорът е „да“. Можем да преместим действията на играчите в автоматизирано състояние. Ако играчът многократно изпълнява определена дейност, в крайна сметка тя ще бъде преместена в навик и ще стане автоматизирана. Автоматизираните дейности изискват много по-малко внимание от играча за изпълнение. И все пак трябва да помним, че автоматизираните действия не могат да ни помогнат с физическите ограничения на ръката.

Добър пример за автоматизирана дейност може да бъде класическият WASD. Технически, това са четири действия, за които са необходими три пръста. Но ние ги възприемаме като един контрол за движение и имаме общ навик, научен в много игри.

Но как да помогна на играчите да автоматизират своите действия? Има два начина: Групиране и Стандартни конвенции.

Групиране

Хората учат и запомнят, като правят модели. За да намалите натоварването на паметта и да подобрите обучението, разделете контролите на логически групи:

  • Подобни действия трябва да бъдат в една група - всички действия за преместване са в една група, всички бойни действия в друга група и т.н. Групираните действия, които са свързани с един основен механик (бой, шофиране, навигация и т.н.), са много по-лесни за придвижване към автоматизирано състояние (WASD).
  • Групите трябва да вземат предвид ограниченията на ръцете - трябва да съответстват на нивата на достъпност.
  • Групите трябва да са последователни, ако имате повече от едно оформление - подобни действия в различни оформления трябва да работят върху един и същ бутон (напр. „Sprint“ на [Shift] в On Foot layout и „Nitro“ на [Shift] в Driving layout).
  • Две най-големи групи са двете ръце на играча - ако имате две важни действия (или групи от действия), които играчът трябва да използва едновременно, разделете ги между две ръце, това ще улесни запаметяването.

Стандартни конвенции/психични модели

Друг начин за подобряване на обучението е използването на стандартни конвенции, които са общи за жанра. В много случаи стандартните конвенции на играчите имат приоритет пред физическата достъпност на бутона.

Ако проектирате иновативна механика, може да нямате стандартно споразумение за това. В такъв случай използвайте умствени модели от реалния живот. Тези умствени модели трябва да имат пространствено и физическо сходство с действията на играча с устройството за въвеждане (спусък за стрелба, горен бутон до [нагоре], долен бутон до [надолу] и т.н.).

Един от примерите за такъв подход е дизайнът на хакерския панел за контролите на мишката и клавиатурата в Watch Dogs 2 PC.

Механикът за хакване в Watch Dogs 2 беше доста иновативен и нямаше добра стандартна конвенция за това, така че направихме ред на хакерски действия в панела, пространствено подобни на физическите бутони на клавиатурата. Playtests показаха, че дори такава схема за управление в началото беше нестандартна, хората можеха да я научат доста бързо и да се използват много ефективно.

Също така е полезно да запомните, че хората са несъвършени и може да имат много различни идеи как да взаимодействат с вашата игра, така че - playtest, playtest, playtest! Потърсете прозрението на играча, намерете какво наистина правят играчите.

Нека да преминем към може би най-важната част от контролите на играта - комуникацията на намерението на играча.

Управлява цикъл на действие

Ето как изглежда цикълът на действие на играча като цяло:

Играчът изпраща входния сигнал, след което този сигнал се обработва от системата, играчът вижда отговора на екрана, обработва този отговор и изпраща нов входен сигнал. Всичко това създава непрекъснат корекционен цикъл (можете да научите повече за теорията зад това в „Цикълът на човешкото действие“ на Доналд Норман).

Добрите контроли не трябва да нарушават цикъла на корекция и да не пречат на играча на нито един от етапите на взаимодействие.

Позволение

На етапа на въвеждане следващото нещо след достъпността (която вече обхванахме по-рано) е концепцията за достъпност (или достъпност). Affordances показват състоянието на системата и позволяват на играча да се научи какво да прави без процес на проби и грешки.

Има два основни начина за използване на цените в игрите:

  • HUD - външни елементи на потребителския интерфейс, които съобщават какво може да се направи с обекта (напомняния за управление, състояние на кръстосани коси и др.). Външният HUD може дори да бъде част от разказа на играта (Animus в Assassin’s Creed, например).
  • Игрален свят - използване на принципа “Form Follows Function”, когато формата на игровия обект съобщава какво може да се направи с или от този обект. Това може да бъде нивелиран дизайн („точки за катерене“ на сградата, цеви със символ „експлозиви“ и т.н.) или анимации/предмети на героите (по-малкият герой е по-пъргав, по-голямото оръжие е по-бавно и т.н.).

Основният принцип тук - всяко взаимодействие в играта трябва да има възможност.

Ако искате да научите повече подробности по тази тема, силно препоръчвам да прочетете „Отвъд HUD“, магистърска теза от Ерик Фагерхолт и Магнус Лоренцон.

Филтриране на сигнала

След като плейърът изпрати входния сигнал, системата трябва да го обработи. Тук имаме противоречие: играчите обикновено очакват, че системата трябва да прави приблизително това, което искат, но контролерът изпраща точен вход към системата.

Ръцете на играча са аналогови и не са много точни, а изпращането на суровата входна стойност може да доведе до разочарование. С други думи, играчът иска да предаде намерение, а не суров сигнал. В повечето случаи, за да избегнем разочарованието на играча и да комуникираме правилно намерението, трябва да филтрираме суровия входен сигнал.

Има два основни начина да го направите:

  • Криви - силата на сигнала на филтъра зависи от времето/скоростта.
  • Контролни асистенции - предсказване на намерението на играча и помощ за извършване на желани действия (автоматично прицелване, асистенции за катерене и др.).

A (D) SR крива

Един от най-често срещаните примери за крива е ADSR кривата.

Той съдържа четири етапа:

  • Атака - време от момента на натискане на бутона до максималната входна стойност.
  • Затихване - краткосрочно увеличаване на силата на входния сигнал преди достигане на максималната стабилна стойност. Обикновено не се използва в игрите.
  • Sustain - максимална входна стойност, докато бутонът е натиснат.
  • Release - време от момента, в който бутонът е бил освободен до минималната входна стойност.

Използването на такава крива прави движението на персонажа или автомобила много по-естествено и се вписва много добре в класическите принципи на анимацията.

Нека разгледаме примера на Watch Dogs 2 PC.

Вляво можете да видите кривата на въвеждане на геймпада. За да имитираме този сигнал за клавиатурата, използвахме крива на въвеждане, която отчита колко дълго е бил натиснат бутонът за управление, което има право да превърне цифровия вход от клавиатурата в аналогов сигнал. Кривата е доста бърза, с много кратко време на забавяне (играта има доста аркадно стил на шофиране), но дори и такъв фин механизъм прави контрола на колата много по-естествен и плавен.

Бутоните на клавиатурата не са аналогови, но ръцете и пръстите ни са аналогови! Играчът може да натиска бутоните на клавиатурата с различна сила (и следователно, време), така че добавянето на такава крива позволява да се измери колко интензивно играчът натиска бутоните за управление на клавиатурата.

Контролни асистенции

Различните играчи имат наистина различно ниво на умения за управление и в повечето случаи това умение е далеч от про-геймърите. Независимо от това, хората искат да спечелят и да изразят успешно намерението си и именно тук асистенциите за контрол могат да ни помогнат.

Има обаче и друго противоречие: независимо от нивото на уменията, играчите искат да имат чувство на майсторство и не искат да се чувстват като изневеряващи. За да разреши това противоречие, контролната помощ трябва да работи в границите на грешката на играча. Добрата асистенция все още изисква известно умение от играча, за да извърши действие, но решава грешки, свързани с несигурния характер на ръката и устройството за въвеждане на играча (хората не могат да натиснат бутона с перфектно време, не могат да контролират перфектно целта и т.н.). Докато асистенцията не отговаря на очакванията на играча как системата трябва приблизително да реагира на входа, тя не би се чувствала като „измама“.

Отправна точка тук е входното устройство: колкото по-точен е входът, толкова по-малка трябва да бъде силата на асистента. Нека разгледаме по-конкретен пример.

Има цел за помощ при хакване в Watch Dogs 2, която избира различни обекти за хакване чрез доста сложния алгоритъм. С геймпада той работи за целия екран (можете автоматично да изберете обект наблизо и да гледате в напълно различна посока). Чувства се добре с геймпада, тъй като управлението на камерата с стика не е много прецизно и играчът трябва да избере обекти за бързо хакване.

С мишката такъв автоматичен избор беше доста досаден за играча, тъй като често избираше различни обекти, които играчът очакваше (играчите очакваха по-добра точност и по-малко помощ). За да разрешим това, променихме границите на възможна грешка и намалихме зоната за избор на помощ за хакване за мишката. Playtests показаха, че това е правилното решение и хакерството стана много по-удобно с мишката и клавиатурата.

Отзивчивост

Основният показател за всеки контрол на играта, който определя комфорта на играча, е Отзивчивост. Той предоставя ключовата точка за всеки добър контрол - предсказуемост.

За да постигнем добра отзивчивост, трябва да сме наясно с три основни теми:

  • Прозорец за възприятие - ограничение на човешкото възприятие.
  • Технически ограничения Какво увеличава времето за реакция -.
  • Обратна връзка - как играта показва последствията от действията на играча и изгражда очакванията от тези действия.

Прозорец за възприятие

Средното време, необходимо на играча да възприеме състоянието на света на играта и да реагира на него, е около 240 ms.

Състои се от три етапа:

  • Перцептивен процесор - 100 ms [50-200 ms]. На този етап играчът трябва да осъзнае, че нещо се е променило.
  • Когнитивен процесор - 70 ms [30-100 ms]. На този етап играчът трябва да обработи информацията от предишния етап и да реши какво да прави по-нататък.
  • Моторен процесор - 70 ms [25-170 ms]. На този етап играчът трябва да изпрати входния сигнал, за да извърши някакво действие.

Ако искате да научите повече подробности по тази тема (и да знаете повече за други човешки ограничения), потърсете „Модел на човешки процесор“.

Както виждаме, за да е удобно управлението на играта, системата трябва да има време за реакция не повече от 100 ms.