저는 Unity 기반 VR 격투 게임인 Iron Fists 게임의 게임플레이 프로그래머, UI 디자이너/엔지니어, AI 엔지니어였습니다.
I was the gameplay programmer, UI designer/engineer, and AI engineer for the game Iron Fists, a Unity based VR fighting game.

Iron Fists는 친구들과 함께 진행한 그룹 프로젝트였습니다. 게임 컨셉은 영화 '퍼시픽 림'에서 많은 영감을 받았습니다. 우리는 거대한 로봇이 되어 적을 때리는 것과 유사한 VR 경험을 만들고 싶었습니다. 우리는 Oculus Touch 컨트롤러를 사용하여 손과 주먹의 움직임을 완벽하게 추적하는 데 집중했습니다.
Iron Fists was a group project done with my friends. The concept of the game was heavily inspired by the movie 'Pacific Rim'. We wanted to create an VR experience that mimics that of being in a giant robot and punching the enemies. We heavily focused using the Oculus Touch controllers as they were perfect in tracking hand and fist movements.

Iron Fists의 게임 플레이는 들어오는 적의 발사체를 펀치하는 여러 레벨들과 플레이어가 또 다른 거대한 로봇과 싸우는 최종 보스 전투로 구성됩니다.
Iron Fists gameplay consists a number of levels of punching incoming enemy projectiles and a final boss battle which the player fights another giant robot.

게임 메커니즘의 기본은 플레이어가 조종사이고 플레이어가 조종하는 로봇이 조종사의 팔 움직임을 반영한다는 것입니다. 따라서 플레이어가 펀치를 날리면 로봇도 펀치를 날립니다. Oculus Rift 터치 컨트롤러에는 이미 컨트롤러 자체를 추적하는 기능이 있었지만, 손의 움직임에 따라 로봇 팔(앞팔, 팔꿈치, 이두근 영역)도 움직이는지 확인하는 역운동학 기능을 구현해야 했습니다.
The basis of the game's mechanics is that the player is a pilot and the robot the player is piloting mirrors the pilot's arm movements. So if the player punches, the robot also punches. While the Oculus Rift touch controllers already had a function to track the controllers themselves, we had to implement a function of inverse kinematics which made sure the robot arms(the front arm, elbows, and bicep area) also moved in respect to the hand's movement. 
플레이어의 조종석 모습. 플레이어는 플레이어의 움직임을 매핑하여 거대 로봇의 주먹 움직임을 출력하는 한 쌍의 Oculus Touch 컨트롤러를 사용합니다. 팔의 움직임을 추적할 방법은 없었지만 역운동학을 사용하여 로봇 팔도 현실적으로 주먹과 평행하게 움직일 수 있었습니다.
The cockpit view of the player. The player uses a pair of Oculus Touch controllers which maps the players movement to output the Giant Robot's fist movements. Although we had no way of tracking the arm movements, we used inverse kinematics so the robot arms would also move realistically and parallel to the fists.
프로젝트의 가장 큰 과제는 '거대 로봇 같은 움직임'을 만드는 것이었습니다. 우리는 거대 로봇에 탑승한 경험을 재현하고 싶었기 때문에 로봇 팔을 '현실적'이고 '거대'하게 느낄 수 있도록 하는 방법에 대해서도 고민했습니다. 
'퍼시픽 림'처럼 로봇의 움직임은 조종사의 움직임을 따라가지만, 거대한 질량 때문에 상대적으로 느리고 지연되는 움직임을 보인다. 이것이 우리가 재현하고 싶었던 것입니다. 이를 위해 우리는 여러 아이디어를 혼합하여 기발한 방법을 찾아야 했습니다. 예를 들어 단순히 팔 움직임을 지연시키는 것은 팔이 느리게 느껴지게 하고 우리가 원하는 경험을 얻을 수 없게 됩니다.
The biggest challenge of the project was to make 'Giant Robot-like movements'. As we wanted to recreate the experience of being in a giant robot, we had also think about how to make the robot arms feel 'realistic' and 'gigantic'. 
Like in 'Pacific Rim', while the robot's movement is traced from the pilot's movement, because of it's gigantic mass it shows a relatively slower and delayed movement. This is what we wanted to recreate. To do this, we had to find a clever way by mixing a number of ideas. For example, simply delaying the arm movements would only make the arms feel slow and not achieve the experience we wanted.

Part of the movement code. This part makes sure that the robot arm does not react to every little movement the player makes and only reacts to large, significant movements(like actual punches).
최종 보스 전투는 애니메이터를 사용하여 복서를 모방한 움직임 패턴을 사용해 만들어졌습니다. 특정 순간에만 플레이어가 공격할 수 있도록 적 로봇의 움직임을 세밀하게 조정했습니다.
The final boss battle was created by using Animators to create a pattern of movements that mimic a boxer. I finely adjusted the movements of the enemy robot so it can only be attacked by the player in certain moments.
보스 로봇의 무브먼트 트리입니다. The movement tree of the boss robot.
플레이어의 시점에서 본 보스전. The boss battle seen from the player's perspective.
전체 플레이 영상은 해당 링크에서 보실 수 있습니다. The full play video can be seen in the following link.
Iron Fists
Published:

Iron Fists

A First Person VR fighting game made with Unity. Heavily emphasizes the use of Oculus Touch controllers and emphasizes recreating robot-like move Read More

Published:

Creative Fields