이번엔 타격감에 이은 조작감에 관한 이야기입니다
타격감은 내가 무언가 했다는 피드백이면 조작감은 내 뜻대로 게임이 된다는 느낌입니다.

소위 말하는 조작감이 구린 게임들을 한번 알아보죠.

NES용 오즈의 마법사
점프 액션 플랫폼게임인데 발판위치가 명확하지 않아서 허구한날 떨어집니다. 분명 발판에 걸렸다고 생각이 들었는데 떨어지는겁니다.

마계촌
게임은 명작으로 통하지만 점프가 요상합니다. 제자리점프는 괜찮은데 방향키와 점프를 누르면 제 뜻대로 안 가는 느낌입니다. (반응이 좀 굼뜬 느낌)물론 그딴거 신경쓸 필요없을만큼 더럽게 어렵지만 묘하게 조작이 안 좋습니다.
사실 이 점프동작도 난이도 상승에 한 몫합니다.

바이오하자드 구판(1~3)
3D초창기 특유의 더러운 조작감을 자랑합니다. 좌우로 몸을 회전하고 앞뒤로 움직입니다. 사람이 아니라 탱크나 지게차를 몰고있는 기분입니다. 심지어 플레이스테이션 초창기라 답답한면이 있습니다. 다만 이게 공포게임특유의 느릿한 긴장감을 유발하긴합니다.

핑이 튈때의 온라인게임
현대에서도 골치아픈 문제지요. 소위 렉걸렸다고 불리는 현상입니다. 난 분명 버튼을 누르고 조작을 했는데 게임이 반응이 없습니다. 심지어 캐릭터는 반응을 하는데 다른 상호작용이 느립니다.

쉽게말해서 조작감이란건 게임이 내가원하는 동작이  이뤄지는걸 말합니다. 슈퍼마리오의 경우 점프키를 누르면 즉각적으로 반응이 있고 실제 물리법칙과 다르지만 점프중에도 방향전환이 가능합니다. 위에 말한 마계촌은 이게 안됩니다. 점프를 하고있는데 앞에 적이 나타나면 그냥 맞아야합니다. 플레이어 입장에선 살짝 불쾌합니다. (다만 분위기상 근데 이게 나쁜게 아니긴합니다)

게다가 플랫폼 게임의 경우 1픽셀만 걸쳐도 위에 올라갔다는 판정을 얻어서 무사히 안착이 되는데 사실 이것도 현실에선 말이 안되는거지요. 하지만 이건 조작감을 위해 비현실적인 동작을 하는것에 가깝습니다.
내가 위로 올라가기위해 점프를 했고 어쨌건 올라갔다.
그냥 이런 방식이면 게이머들은 조작감이 좋다고 생각하거든요. 쉽게말해서 플레이어가 무언가 하기위해 조작을 했고 그 조작대로 상황이 나올때 조작감이 좋다고 보는겁니다.

초창기 FPS의 경우 (예시 : 메가드라이브용 둠)게임패드로 조작하면 조준이 쉽지 않다는것을 알게됩니다. 그래서 이후 헤일로 시리즈에서는 조준보정이 도입됩니다. 적당히 적에게 조준된 상태에서 사격하면 그냥 적이 맞았다고 판단하는겁니다. 겸사겸사 조준선도 적쪽으로 은근슬쩍 이동합니다. 플레이어 입장에선 어찌됐건 조준에 성공했고 적을 날릴수 있게 됩니다.

전혀 관계없어보이는 리듬게임에도 이 조작감관련 보정이 있습니다. 사운드볼텍스의 경우 노브를 돌려서 맞춰야하는데 기계마다 돌아가는 반응속도가 멋대로라 기계에 따라 노트 바깥으로 튀기 일수였습니다. 그래서 초창기엔 노브때문에 게임이 쉽게 끝나곤 했습니다. 그래서 좋은 소리 못 들었습니다.
이후 업데이트로 적당히 돌리면 알아서 노트위치에 맞게 고정이 되도록 수정이 된 뒤 지금은 재미있는 게임이 되었지요.

격투게임에서 소위말하는 캔슬이란것도 일종의 조작감 향상용 입니다.
기본기술은 버튼 하나만 누르는것이지만 커맨드 입력이 필요한 필살기는 제대로 입력이 됐는지 알 방법이 없습니다. 그저 화면에 필살기가 발동이 된것만으로 알 수있을 뿐입니다.
그런데 필살기가 버튼 누르는 순간이 아니라 뒤늦게 나간다면? 그 시간동안 "내가 잘못 입력했나?"라고 생각할 가능성이 높습니다. 즉, 반응이 굼떠지는 느낌이 들기 때문에 조작감이 별로 안 좋아지게 됩니다. 그래서 기존의 애니메이션이 끝나지 않았지만 그걸 무시하고(그래서 캔슬이라고 합니다.) 빠르게 필살기가 나감으로서 즉각적인 반응이 나오는겁니다.

내가 원한대로 움직인다 → 조작감이 좋다

이렇게 생각하시면 됩니다. 그걸위해 게임은 보정을 하기도하고 실제와는 다른 움직임을 보입니다. 하지만 어찌됐건 플레이어가 원하는 대로 이루어지게 함으로서 재미를 느끼게 합니다.

이게 조작감입니다.

다만 이 조작감향상을 위한 보정이 지나치면 도리어 불쾌해지니 이건 적당히 조절해야겠습니다.

,

게임에서 타격감이란 굉장히 중요합니다.
게임에서 제일 중요한 재미의 한 부분을 차지하고 있기 때문입니다.

간단하게 화투를 생각해볼까요? 그냥 밋밋하게 치는것과 탁탁 소리를 내면서 치는것 어떤것이 더 재밌을까요? 물론 지는 사람이야 짜증나겠지만 소리가 나는게 더 재밌을겁니다.

이런 일반 보드게임도 타격감 하나로 재미가 달라지는데 전자오락은 더 하겠지요.

그래서 기존 명작게임들을 보며 느낀 타격감에 대해 한번 주저리 해보겠습니다. 다만 감성보단 공대느낌의 글이라는것만 알고계셨으면 합니다.

타격감이란건 쉽게말해서 피드백입니다. 즉, 사용자가 무슨 행동을 했고 이걸 시각적이든 청각적이든 느낌을 다시 줘서 뭔가 했다는 느낌이 들게 하는것입니다.

이런건 실제 타격이 있는(인간형이나 생물체 캐릭터조작)것 뿐 아니라 전혀 상관없는 테트리스에서도 중요합니다. 이해가 안되신다면 테트리스 블록이 바닥에 닿았을때 블록이 깜빡거리거나 탁!소리가 나는걸 보신적이 있을겁니다. 무엇보다 줄이 없어질때 아주 멋진 이펙트가 펑펑 터집니다. 이게 타격감입니다.


시각적으로 화려하게 타격감을 구현한 테트리스 이펙트

이걸 극대화해서 시각적으로 아주 멋지게 만든 테트리스 이펙트라는 게임도 있습니다. 테트리스 주제에 눈과귀가 즐겁습니다.

또한 리듬게임류도 타격감이 엄청 중요합니다.
버튼식은 촉감피드백이 있기에 기본 타격감이 있고 화면 이펙트정도만 신경쓰면 되지만 터치식은 그게 없어서 별의별짓을 다합니다.

터치식이기에 타격감을 위해 효과음과 화면흔들기를 했던 리듬게임 리플렉비트

이처럼 전혀 관계없어 보이는 장르도 타격감은 중요합니다.
그러면 진짜 타격감이 중요한 격투게임장르는 어떨까요?

일단 타격으로 먹고사는 철권시리즈를 일단 봅시다. 그냥 효과음부터가 사람끼리 부딪혔을때 나는 소리가 아닙니다. 묵직한 무언가가 부딪힌 느낌이지요. 그리고 타격이 있을때마다 카메라가 흔들립니다. 어퍼컷이면 화면이 위로 흔들리고 로우킥이면 아래쪽으로 흔들립니다. 심지어 아무관계없어 보이는 UI까지 흔들립니다. 이게 타격감입니다. 그리고 맞는 캐릭터는 하늘을 날아가다시피 쓰러집니다.

그냥 시각임팩트만으로 타격감이 미쳐돌아가는 철권시리즈



상당히 실제와 다른 과장된 움직임이지만 이 덕에 내가 강력한 공격을 했다는 느낌을 줄 수 있습니다.

킹오브파이터즈 94~13까지 같은 2D격투게임도 타격감이 상당합니다. 일단 이펙트 이미지가 굉장히 큽니다. 초필살기 같은 큰 공격을 성공하면 화면이 잠시 멈췄다가 맞은 캐릭터는 저 멀리 날아갑니다. 화면도 깜빡거리면서 강력한 필살기라는 느낌을 줍니다.

2D격투게임에서 상당히 과장된 효과로 미친듯한 타격감을 자랑했던 킹오브 파이터즈의 전북익산(천지패황권)



여기서 느낄수 있는게 전자오락에선 시각적 타격감이 굉장히 크다는것을 알 수 있습니다. 특히 화면 흔들기는 실제로 맞거나 때리지 않았지만 그 효과를 극대화 할 수 있습니다. 그에비해 청각은 과장된 효과음외엔 타격감을 대신할것이 많이 없습니다. (대신 청각은 분위기 형성에 영향이 깊습니다)

이번엔 게임을 넘어서 영화를 보겠습니다.
라이언 일병 구하기의 상륙장면이 왜 그토록 처절하게 느껴졌을까요? 영화도 결국 시각과 청각이 모든걸 만드는 장르입니다. 4DX니 3D니 해도 결국 시각과 청각이 더 중요합니다. 카메라를 손으로 들고 찍다보니 이 흔들림이 상당했고 관객들은 자신들도 전쟁터에서 총알 사이를 달리는 느낌을 받을 수 있었기 때문입니다. 거기에 상당히 과장된 소음들로 제대로된 분위기를 만들었습니다.




이걸 게임으로 들고와 봅시다. 1인칭이 아닌 3인칭 장르라도 화면이 흔들리면 화면속 주인공이 하는 행동에 대해 때리고 맞는다는 느낌을 그대로 화면밖 플레이어에게 전달 할 수 있습니다. 여기에 상당히 과장된 효과음까지 섞이면 아주 멋진 피드백이 됩니다.

만약 카메라가 1인칭이면 걷기만 해도 화면을 흔들기 때문에 긴장감이 저절로 생깁니다. 하지만 그만큼 자연스러운 움직임이 필요하기에 도리어 피격시 과장되면 어색해질수 있기에 3인칭에 비해 타격감에 어느정도 절제가 필요합니다.

이와 반대로 타격감을 제거해서 긴장감을 올리기도 합니다. 공포게임의 경우 타격감을 최소한으로 줄여서 내 공격이 씨알도 안 먹힌다는 느낌이 들게 하기도 합니다. 특히 무적에 가까운 경우 그냥 파편만 살짝 튀게 하고 반대로 상대의 공격에는 화면이 미친듯이 흔들어서 압도적으로 만들어버립니다. 이쪽은 역타격감이라고 봐야할까요?

이제 잠시 정리 해봅시다. 게임에서 타격감을 구현하려면 피드백을 주는것이 중요합니다.

우선 시각적으로
1. 화면 흔들기. 강력한모습일 수록 더 크게 흔들면 좋습니다.
2. 불꽃등의 이펙트. 이런건 리듬게임등에서도 애용합니다.
3. 과장된 상대의 움직임.(한대맞고 저 멀리 날아가는등) 사실 WWE의 접수같은 느낌입니다.
4. 순간적으로 번쩍이는 화면. ←요즘은 자제하는 편입니다.

청각적으로
1. 과장된 효과음. 주먹으로 쳤음에도 망치로 친듯한 소리. 화투칠때 딱딱 소리를 내는것도 마찬가지입니다.
2. 과장된 주변소음. 이겼을때 환호성이나 상대의 비명등.

이미 알고있는 게임에서도 타격감만 신경써도 상당히 재밌는 게임이 될수 있습니다. 한번 게임들을 보면서 찾아보세요. 별의별 타격감을 느낄수 있을겁니다.

,

AI시대가 도래하면서 바이브코딩이란것이 생겼습니다.
사람이 "이러저러한 것을 만들테니 코드를 내놔라"라고 AI한테 명령을 내리면 거기에 맞는 코드를 AI가 써오는겁니다. 사람은 AI가 써온걸 검토해서 적용하면 되는것이고요.

그런데 이거 좀 골치아픕니다.
AI가 짜온걸 무지성으로 쑤셔넣으면 스파게티되는게 너무 당연해지거든요. 사실 AI가 해주는건 스파게티화를 막아주고 정리를 통해 사람이 이후에 정리된 코드를 쓰는게 목적인건데 이놈의 깡통은 코드를 어디서 가져오는건지 자꾸 변수를 복잡하게 꼬아버립니다.
특히 e p a 등 알파벳 한글자 변수를 어디서 자꾸 들고오는데 이걸 일일이 알아먹기 편한 변수로 고치려하니 골때립니다.

반대로 알고리즘자체는 훌륭하게 구현해줍니다. 문제는 이걸 다른 코드와 조화롭게 써준거냐 하면 역시 멋대로 적어놓은 변수와 함수이름으로 일관적이지 않은 요상한 코드로 도배됩니다.

C코드만 해도 중괄호를 K&R로 했다가 다른걸로 했다가 스페이스바를 2개를 썼다가 4개를 썼다가 중구난방입니다.

물론 들여쓰기랑 중괄호를 고치라고하면 고쳐서 가져오기도 합니다. 그런데 이건 코딩의 원칙을 지키려하니까 이게 가능한거지 일반적으로 무지성코딩하는 사람들은 이렇게 AI한테 한마디 더 해서 지키려들까 싶습니다.

처음부터 끝까지 AI한테 싹다 맡기면 일관적이고 깔끔한 코드가 나오긴합니다. 대신 이러면 검토하기 더럽게 힘듭니다. 게다가 이건 말이 안 되는게 프로그램이란건 계속 수정에 수정을 거듭해야하는데 AI에게 수정하라고 하면 또 제멋대로의 규칙과 제멋대로의 방식으로 수정을 해서 코드를 꼬아버리거든요.

코딩규칙을 엄하게 따지는 프로젝트에서 이 짓하면 욕먹는 수준이 아니라 다시는 코드를 안 받아줄겁니다. 하지만 욕을 먹어도 AI는 또 잊어버리고 또 요상하게 짜옵니다.

이렇게 해도 잘 구동되면 다행입니다.

최근에 자꾸 요상한버그가 있어서 뭔가 했더니 AI가 같은 기능을 중복으로 써줬더군요. 기능 충돌이 일어나니 엉뚱한일이 생기는 겁니다. 결국 사람이 손을보고 최적화해서 다시 적용해야했고 그냥 맨땅에 처리하는것과 비슷한 시간이 걸려버렸습니다.

AI를 활용한 코딩에대해 뭔가 편하면서도 회의감이 일어나는건 아직 발전하고 있는 분야라서 그런걸까요

,