나는 아날로그 스틱을 캐릭터의 회전 속도에 매핑하는 것만으로는 콘솔 1 인칭 슈팅 게임을 기분 좋게 만들기에 충분하지 않다는 것이 보편적으로 동의된다고 생각합니다.
그렇다면 콘솔의 최신 FPS를 잘 작동시키는 입력 패러다임은 무엇입니까?
나는 아날로그 스틱을 캐릭터의 회전 속도에 매핑하는 것만으로는 콘솔 1 인칭 슈팅 게임을 기분 좋게 만들기에 충분하지 않다는 것이 보편적으로 동의된다고 생각합니다.
그렇다면 콘솔의 최신 FPS를 잘 작동시키는 입력 패러다임은 무엇입니까?
답변:
나는 올해 빨판 펀치에서 사람들이 제시 한 GDC 세션에 참석하여 inFamous의 조준 조준과 움직임을 어떻게 처리했는지 논의했습니다. Halo는 Halo가 조준을 위해 매우 유사한 시스템을 사용하고 있으며 기본 사항은 다음과 같습니다.
"좋은 느낌"을 목표로하는 두 가지가 있습니다. 자신이 통제하고 있다고 느끼고 게임이 자신에게 거짓말하지 않는 것처럼 느껴야합니다. 공차 내에서 게임의 입력 방향과 버튼 타이밍에 대한 인식을 조정하는 것은 자동 조준이 이론적으로 완벽한 컨트롤러보다 실제로 더 나은 성능을 발휘하는 불가능한 상황을 초래하지 않기 때문에 이것을 수행하는 좋은 방법입니다. 입력 처리가 완료된 후 임시로 해결하려고 시도하면 플레이어가 통제력을 상실한 것처럼 느끼는 몇 가지 스케치 상황이 발생합니다.
여기에 좋은 답변이 있습니다. 나는 내가하고있는 프로젝트에서 스스로 알아 내야했지만 Sucker Punch 사람들과 같은 결론에 도달했습니다.
나는 첫 사람 360x180도 "파노라마"를 "가속 분야"로 생각하는 것이 유용하다는 것을 알게되었습니다. 유효한 모든 대상은 중력 우물을 생성하여 플레이어의 입력을 구부립니다 (서브 틀리 만). 그러나 이것은 십자선에 항상 영향을 미치지 않습니다. 플레이어의 턴 델타가 우물의 경사면을 가리키는 경우에만 가능합니다. 하지만 이것이 핵심입니다. 플레이어가 대략 목표를 향해 회전 할 때만이 추가 회전 속도를 제공합니다. 그것은 플레이어의 입력으로 얻을 수있는 유일한 추론에 관한 것입니다.
훨씬 더, 그리고 당신은 눈에 띄는 "ouija 효과"를 너무 많이 얻는다. ouija와 정확히 반대되는 것을 원합니다 : ouija 보드가 의식적인 지식없이 사용자로 인해 지능적으로 움직이지 않는 경우, 사용자의 십자선이 순수한 입력이 아니라는 사실을 깨닫지 않고 지능적인 방식으로 움직이기를 원합니다. 그것은 실제로 약간의 마술입니다.
플레이어의 피치 / 요 선회 델타 대 십자선에서 각 목표까지의 피치 / 요 델타의 내적을 사용하십시오. 0에서 최대 속도 사이의 값을 클램프 한 다음 (타겟에서 멀어 질 때 입력을 무시) 폴 오프 수정 자로서 거리 기능을 사용하십시오.
십자형 대 표적 각 델타가 클 때 (즉, 적이 당신 뒤에있는 경우)이 "매크로 움직임"보너스를 증가시키는 것은 고전적인 콘솔 컨트롤러 문제가 충분히 빨리 대면 할 수 없다는 데 실제로 도움이된다는 것을 알았습니다. "타겟팅 선택"의 관점에서, 만약 당신이 뒤에서 공격을 받고 있고 당신 앞에 타겟이 없다면, 당신 앞에있는 파노라마는 "데드 스페이스"이며, 플레이어가 그것을 가로 질러 날아갈 수있는 능력을 줄 수도 있습니다 커서로 빠른 속도로. 그리고 앞으로 목표가 있다면, 아마도 플레이어의 마음에 더 높고 약화 / 고정 조준으로 인해 약한 거 시력에 의해 과도한 영향을받지 않습니다.
플레이어가 물체에서 멀어 지려고 할 때 감도를 약화시킬 필요는 없습니다 (타겟의 궤도를 "탈출"하려는 느낌이 들게됩니다). Dampening은 정밀 조준에 더 많이 사용되며 매크로에서 미세 정밀로 이동할 때 플레이어의 조준 오버 슈팅을 막는데도 가장 끔찍한 일입니다. 그들을 위해 많은 벌금을 부과합니다.
스티키 목표는 상대 움직임 보상기입니다. 대상과의 각도 (엔티티 원점이 아닌 카메라에서),이 프레임 및 마지막 프레임의 차이를 확인하십시오. 목표를 얼마나 가깝게 조준하고 있는지 확인하십시오. 사용자 입력이 없을 때 위자 효과를 피하려면 두 스틱의 편향을 확인하십시오. 물리적으로 움직 였는지 (왼쪽 스틱 작동) 또는 목표 방향으로 "와"를 목표로하는 활동이 있는지 확인하십시오. 요 / 피치 델타 단계를 추가합니다.
목표 혼동 문제가 발생하는 경우 (예 : 목표를 "스틸 링"뒤에 목표를두고있는 동안 목표물이 시야를 가로 지르는 목표), 목표물을 추적하고 적극적으로 하나의 목표물을 "가열"하십시오. 을 목표로. 그런 다음 가열되지 않은 대상이 무시되도록 완충 및 끈적한 구성 요소에이 열 매개 변수를 곱하십시오. 플레이어가 다른 대상에 대한 도움을 원한다면, 수동으로 목표를 향해 조준하고 매우 빠르게 목표를 정합니다.
우리는 또한 "팬텀"조준 목표를 생성하여 흥미롭지 않은 것을 피할 수 있도록 도와줍니다. 약-폭발성 배럴, 대화 형 물체 등 플레이어가 지적한 흥미로운 것에 적용 할 수 있습니다 (바이오 쇼크는 상호 작용 가능한 물체를 근거리에서 조준 할 때 감쇠를 사용하지만 ... 나는 생각하지 않습니다). 이것이 목표 조준의 핵심 개념을 보완하기위한 것임을 알면, 목표 조준에 관한 것이 아니라 조준에 의존하는 모든 역학에 도움이되는 일반적인 사용성 향상이라는 것을 알게됩니다. FPS에서는 실제로
이 모든 것에 부당한 것은 튜닝입니다. 제대로 도달하고 대상 간섭을 처리하는 데 오랜 시간이 걸리고 대상이 너무 근접하여 "타겟팅 영역"이 플레이어의 파노라마를 휩쓸어 크롤링으로 60도 회전하는 속도가 느려집니다.
오, 자러 가야겠다 일부 수학이 명확하지 않으면 죄송합니다. 정말 늦었지만이 게시물을 읽고 흥분했습니다.
콘솔에서 입력을 제대로하려면 일부 처리를 수행해야합니다.
먼저 아날로그 스틱에서 오는 선형 입력을 곡선 중심으로 변환하여 스틱 중심 주위에 더 많은 감도를 제공하고 경계에서 더 낮은 감도를 제공합니다. 이러한 곡선을 만들고 시각화하고 코드를 추출하는 데 도움이되는 작은 도구를 사용하여이를 수행 할 수 있습니다. (http://www.arachnoid.com/polysolve/)
두 번째 단계로 우리는 일종의 가속을 구현했습니다. 스틱 입력이 97 % 이상이면 짧은 시간 후에 작동하며 시간이 지남에 따라 카메라 회전이 증가합니다. 우리는 X와 Y 축을 독립적으로 처리했습니다. 이렇게하면 스틱 입력 범위를 인위적으로 향상시킬 수 있습니다. 처음 97 %는 상대적으로 미세한 조정에 사용될 수 있지만 가속으로 인해 빠른 움직임도 가능합니다.
다른 카메라 FOV가있는 경우 (예 : 조준 / 확대시) 현재 사용중인 FOV로 캠 회전 속도를 조정하는 요소가 필요합니다.
플레이어의 삶을 편하게 만드는 다른 멋진 트릭은 "자동 센터링"입니다. 입력이 없으면 카메라 피치가 수평으로 천천히 돌아갑니다. 방향을 유지하는 데 도움이됩니다.
콘솔에서 처리해야 할 또 다른 사항은 데드 존입니다. 컨트롤러가 오래되면 아날로그 스틱의 정밀도가 떨어지기 시작하고 "거짓"입력되는 경향이 있습니다. 이를 방지하려면 스틱 입력의 처음 몇 pct (최대 20 %)를 무시해야합니다.
또한 앞에서 언급 한 것처럼 마찰 기반 조준 도움말 (화면에서 적을 향해 이동할 때 가속 입력, 멀리 이동할 때 입력 속도를 늦추는 실험)을 수행했지만 플레이어에게 눈에 띄는 느낌이 들었습니다. 또한 단점은 적의 행이있을 때 더 이상 부드러운 캠 움직임이 없다는 것입니다. 우리는 총알 자체가 특정 범위 내에서 적에게 끌리는 경향이있는 "자기 총알"효과를 선택했습니다. 그러나 여기서도 조심해야합니다.
저는 개인적으로 콘솔 슈터를위한 "잠금"패러다임을 좋아합니다. 즉, 대략 전방의 적을 잠그는 버튼을 누른 상태에서 (여러 번 눌러 여러 적을 순환) 목표는 자동으로 적을 따릅니다. 내가 생각할 수있는 첫 번째 FPS는 (다른 사람들이 있었음을 확신합니다) GC의 Metroid Prime이었습니다. 아날로그 스틱의 느린 부정확성은 중요하지 않습니다. ...하지만 멀티 플레이어로 어떻게 번역 될지 잘 모르겠습니다.
우리는 Metroid Prime을 사용하는 동안 플랫폼 비트에 사용 된 기술이 마음에 들었습니다. 미묘했지만 컨트롤이 훨씬 자연스럽게 느껴졌습니다.