Template:PatchDiff/March 6, 2026 Patch/hl2/resource/closecaption koreana.txt
39173917"wood.scraperough" " "
39183918"plastic_box.scraperough" " "
39193919
N/A3920"#commentary\cn_001_physics_sound.mp3" "[Jay Stelly] 더욱 실감 나는 물리 효과를 선사하기 위해 물체를 실제로 움직이거나 건드릴 때 나는 소리도 제대로 반영하려고 했는데요. 비록 일부러 그런 적이 없다 해도, 누구나 물체나 물질을 움직이거나 건드렸을 때 나는 소리를 익혀 왔죠. 저희도 물론 모든 것을 다 반영할 수는 없다는 것을 알았지만, 그래도 세부적인 요소에 집중해 실감 나는 물리 음향 효과를 연출하고 싶었습니다. 우선 각 물체의 충돌음과 충격음부터 만들었는데요. 이렇게 해서 나무 상자 같은 물체가 다양한 종류의 물체와 충돌할 때 이에 맞춘 소리를 연출할 수 있었습니다. 그 다음엔 충돌하는 물체의 질량이나 힘과 같은 물리적 특성에 따라 이러한 소리를 동적으로 수정하기 시작했습니다. 충돌음 연출에는 효과적이었지만, 물체가 서로 긁히는 것과 같은 다른 상호 작용에는 효과가 없었죠. 실제로 나무 상자가 벽에 긁힐 때 나는 소리와 던졌을 때 나는 소리는 다르니까요. 아마 저희만큼 나무 상자의 물리적 특성에 관해 연구를 많이 한 사람은 아무도 없을 겁니다. 이러한 상호작용에서 원하는 소리를 얻기 위해 금속과 나무, 금속과 금속 등 재질별 충돌 사운드를 구현했습니다. 이러한 사운드는 재질의 경도나 금속의 종류와 같은 세부적인 요소에 따라 동적으로 조정되었습니다. 이 시스템을 제대로 구현하려면 자잘한 수정이 많이 필요했는데, 이는 시스템을 실행한 후에야 확인할 수 있었습니다. 물체가 굴러가는 상황의 맞춤 사운드도 실험해 보았지만, 만족스러운 결과가 나오지 않아 결국 해당 기능을 삭제했죠."
N/A3921"#commentary\cn_002_ramming_with_the_buggy.mp3" "[Jay Stelly] 저희 물리 시스템은 강체를 기반으로 합니다. 즉, 물체의 변형이나 파괴를 지원하지 않죠. 물리적 물체가 무언가에 부딪혔을 때 반응을 허용하면 움직일 수 있지만, 그렇지 않으면 꿈쩍도 하지 않습니다. 그래서 버기차를 몰아 유리창을 뚫을 때는 예상대로 작동하도록 하기 위해 몇 가지 속임수를 써야 했는데요. 창이 제자리에 고정되어 있기 때문에 물리 시뮬레이션은 실제로 유모차를 창문에서 튕겨내지만, 그 대신 충돌이 발생했음을 게임 시스템에 알립니다. 게임 시스템이 파괴를 처리해서 창을 유리 조각으로 부수고 물리 시스템에 시뮬레이션을 시작하라고 지시하는 것이죠. 결정적으로 게임 시스템은 버기차의 상태를 충돌 이전의 상태로 복원하라고 물리 시스템에 지시하기도 합니다. 이렇게 하면 다음번에 물리 시뮬레이션을 할 때 버기차가 파괴된 창문을 자유롭게 지나갈 수 있게 되는 겁니다. 이 과정에서 버기가 잠시 멈췄다가 충돌 직전으로 다시 순간 이동하면서 버기의 물리 엔진에 1프레임 지연이 발생하는데요. 이 지연 때문에 Half-Life 2 플레이에 불편함을 느끼셨다면 죄송합니다. 하지만 저희도 당시에 플레이테스트를 지켜본 후, 일시적인 지연이 오히려 마음에 들었다는 결론을 내렸습니다. 충격이 더 크게 다가왔으니까요."
N/A3922"#commentary\cn_003_ramming_zombies_with_the_buggy.mp3" "[Jay Stelly] 앞에서도 몇 번 말씀드렸지만, 우리는 모두 물리적 세계에 대한 기대를 품고 있죠. 그 기대 중 하나는 차로 좀비를 치면 좀비가 공중으로 튕겨야 한다는 것이고요. 하지만 게임에서 이 효과를 연출하는 것은 현실 세계에서만큼 간단하지 않습니다. 좀비와 같은 적은 게임 성능상의 이유로 플레이 중에 단순화된 충돌 상자를 사용합니다. 이 상자는 좀비한테 꼭 맞아서 모델의 어떤 부분도 튀어나오지 않는데요. 여기서 좀비가 죽으면 더 정확한 팔다리별 충돌 상자가 있는 래그돌로 변환되는데, 이는 구현하는 데 더 큰 비용이 듭니다. 충돌 표현 방식을 이렇게 바꾸면 버기차로 좀비를 들이받을 때 프레임 지연 외에도 더 다양하고 복잡한 효과를 낼 수 있습니다. 버기차가 처음 좀비와 충돌하면 좀비의 단순화된 충돌 상자에 닿습니다. 그런 다음 게임이 좀비를 죽이면 물리 시스템이 시뮬레이션을 시작하는 래그돌로 바꾸죠. 이렇게 팔다리 충돌이 더욱 정확해지면서 좀비의 가장 가까운 부분이 버기차에서 몇 인치 떨어질 수 있게 되는데요. 그 결과 다음 물리 시스템 시뮬레이션에서 버기차가 더 이상 좀비를 밀지 않기 때문에 좀비가 중력에 의해 떨어지기 시작합니다. 버기차가 좀비에게 다시 도달하기까지 걸리는 시간은 꽤 짧지만, 이 작은 불일치로 인해 좀비를 들이받는 효과가 아쉽게 연출되었죠. 좀비가 플레이어의 시야에서 사라지는 경우가 많았거든요. 이 문제를 해결하기 위해 버기차에 맞았을 때 좀비의 충돌 상자가 받는 힘을 저장하고, 변환 후 래그돌에 동일한 힘을 적용했습니다. 또한 래그돌에 약간의 상향력을 추가해 좀비가 날아가도록 했습니다. 이러한 조정을 한 덕에 좀비가 버기차에 맞았을 때 안정적으로 접혀 더욱 실감 나게 연출되었죠."
N/A3923"#commentary\cn_004_buggy_sound_engine.mp3" "[Kelly Bailey] 버기차의 오디오는 연출하기 어려웠는데, 정말 강력한 차량이 초고속으로 달리는 듯한 느낌을 주고 싶었거든요. 맵이 그렇게 크지 않고 버기차가 1단 기어에서 완전히 벗어나지 않는 상황에서도 말이죠. 아무리 밟아도 시속 35마일 정도를 못 넘으니까요. 저희 입장을 변명하자면, 2004년 당시에는 시속 35마일도 꽤 빠른 속도였습니다. 속도도 그렇지만, 운전하는 입력도 간단하죠. 키보드 입력을 고려해서 게임을 만들다 보니 플레이어의 조작도 대부분 이분법적으로 되었는데요. 즉, 버기차가 극단적으로 가속하거나 가속하지 않고, 한 방향으로 완전히 회전하거나 회전하지 않는다는 것이죠. 그러니까 실제로 간단한 시뮬레이션을 복잡하게 표현하기 위해 오디오를 복잡하게 만들었다는 겁니다. 결국 버기차의 오디오를 위한 가짜 엔진을 만들었죠. 버기차에 자체 전송 장치를 놓은 다음, 플레이어의 입력을 물리 시뮬레이션의 데이터와 결합했습니다. 그 다음엔 시뮬레이션된 각 바퀴가 회전할 때나 접촉할 때의 토크를 측정했고, 반복되는 소리를 만들어 냈죠. 그런 다음, 이 소리를 가짜 엔진이 기어를 바꾸고 바퀴 데이터에 반응하는 상황에 조심스럽게 조합했습니다. 말하자면 다양한 것들을 계속 시도해 본 것이죠. 더 복잡한 사운드를 추가했고요. 버기차가 더 재미있고 빠르게 달리는 느낌에 대한 보상을 받을 수 있을 때까지 미세하게 조정했습니다. 플레이어는 대부분 버기차의 소리가 좋다는 말 외에는 별다른 반응을 보이지 않는데요. 저희는 바로 이 말을 들으면 엔진을 구현한다고 고생을 한 보람을 느낀답니다."
N/A3924"#commentary\cn_005_buggy_sound_design.mp3" "[Kelly Bailey] 버기차의 사운드 디자인은 오래된 1968년형 카마로의 샘플을 기반으로 했는데요. 거대한 피스톤이 달린 놀라운 V8 엔진이 있어서 적당하다 생각했거든요. 그리고 세상에 하나뿐인 소리를 내기도 해요. 저희가 찾던, 바로 그 강렬하고 본능적인 소리 말이에요. 가속을 멈출 때면 변속기에서 윙윙거리는 기계음이 정말 멋있어요. 이 소리의 조합은 이 게임의 이분법적 입력 시스템이랑 정말 잘 어울리더군요. 가상 엔진의 변속기는 실제 자동차를 모델로 하지 않았는데요. 대신 간단하면서도 플레이어가 가속 페달을 밟는 재미를 느낄 수 있는 방향으로 개발했죠. 마치 돌고 도는 에스컬레이터처럼, 끊임없이 긴장감을 조성하고 톤을 다시 시작해야 할 때마다 기어를 변경하는 톤을 계속 생성하는 식으로 말이에요. 맵이 비교적으로 작아서 플레이어가 이동할 공간이 넓지 않았기 때문에 짧은 시간 동안 가속을 재미있게 만드는 것을 목표로 삼았죠."
N/A3925"#commentary\cn_006_automating_dsp.mp3" "[Kelly Bailey] 플레이어가 듣는 모든 소리는 디지털 신호 처리(Digital Signal Processing), 줄여서 DSP라고 하는 시스템을 통해 처리되는데요. 플레이어가 있는 환경에 따라 오디오가 어떻게 변경되는지를 나타내는 시스템입니다. 예를 들어, 같은 소리라도 주차장, 작은 방, 야외에서 들릴 때는 다르게 들리죠. Half-Life 1에서는 각 공간에 대한 DSP 설정을 정의하기 위해 월드 곳곳에 보이지 않는 노드를 직접 배치했습니다. 하지만 Half-Life 2에서는 직접 배치하려면 너무 많은 시간이 소요되리라는 것을 알고 있었죠. 특히 게임 규모는 더 커졌는데 오디오 담당자는 한 명뿐이었으니까요. 그래서 플레이어 주변의 DSP 설정을 실시간으로 자동 결정하는 시스템을 만들었습니다. 우선 플레이어 주변 공간을 분석하고, 플레이어의 음량을 측정하고, 기본적으로 환경을 구성하는 재료를 검토하죠. 그런 다음 해당 공간을 25가지의 수작업 기본 DSP 유형 중 하나와 일치시키고, 몇 가지 매개변수를 조정한 뒤, 플레이어가 듣는 소리를 수정하는 매우 세부적인 DSP를 만든 겁니다."
N/A3926"#commentary\cn_007_dynamic_mixing.mp3" "[Kelly Bailey] 게임플레이 중에는 여러 사운드가 동시에 재생됩니다. 하지만 흐름상 중요한 사운드가 있기에, 이 사운드가 강조되도록 각 사운드의 볼륨을 조정하는 작업이 필요하죠. 영화에서는 이러한 사운드 믹싱이 후처리로 수행됩니다. 하지만 게임에서는 플레이어의 동작에 반응하여 실시간으로 이루어지기 때문에, 어떤 사운드가 동시에 재생될지 예측할 수 없습니다. 이를 처리하기 위해 모든 사운드를 유형별로 그룹화하고 우선순위를 지정했습니다. 게임이 진행되면 오디오 시스템은 재생 중인 사운드를 모두 모니터링하고, 우선순위가 높은 사운드가 재생될 때 그룹 내 사운드 볼륨을 낮춥니다. 이 믹싱은 조정 가능합니다. 총소리가 강조되어야 하는 장면에서는 총소리의 우선순위를 높일 수 있습니다. 특정 대사를 명확하게 들어야 하는 경우 다른 모든 사운드의 볼륨을 낮출 수도 있죠. 음악에도 똑같이 해당됩니다. 이 시스템은 미묘하지만 매우 중요한데요, 사운드스케이프가 너무 어수선해지는 것을 방지할 수 있기 때문입니다."
N/A3927"#commentary\cn_008_soundscapes.mp3" "[Kelly Bailey] Half-Life 1에서는 주변 사운드를 수동으로 배치한 다음 개별적으로 조정했는데요. Half-Life 2에서는 배경에 품질은 더 높고 직접 배치하는 수고도 덜 수 있는 배경음을 더하고 싶었죠. 그래서 사운드스케이프 시스템이라고 부르는 시스템을 구축했습니다. 사운드스케이프는 기본적으로 어떤 주변 사운드가 재생되고, 어디에서 나오는지, 특정 환경에서 어떻게 작동하는지 제어하는 작은 프로그램입니다. 파리가 날아가는 소리, 바람 부는 소리, 새, 멀리서 들리는 기차, 멀리서 들리는 전투의 소음 같은 소리 말이죠. 사운드스케이프 시스템은 이러한 사운드를 무작위로 선택하여 재생할 수 있으며, 특히 플레이어가 환경을 이동할 때 부드럽게 전환하는 중요한 작업도 할 수 있습니다. 사운드스케이프는 다른 사운드스케이프를 포함할 수 있는데, 이렇게 하면 재사용 가능한 사운드 컬렉션을 만들 수 있습니다. 예를 들어, 멀리서 들리는 전투 소리에는 소총 사격 소리, 멀리서 들리는 폭발음, 지나가는 헬리콥터 소리 등이 포함되겠지요. 이러한 사운드스케이프는 여러 개별 사운드에서 동적으로 조립되어 재생되는데, 인위적으로 반복되는 트랙의 느낌을 피할 수 있습니다. 전반적으로 사운드스케이프 시스템은 Half-Life 2의 오디오 분야에서 실제로 큰 역할을 했으며, 게임 플레이에 직접적으로 영향을 받지 않는 모든 사운드를 담당했습니다."
N/A3928"#commentary\cn_009_audio_over_distance.mp3" "[Kelly Bailey] 해안 지도의 커다란 규모 덕분에 거리에 따라 소리가 변하는 효과를 구현할 수 있는 해법을 찾을 수 있었죠. 이 맵을 예로 들자면 적이 100야드보다 멀리 떨어져 있을 수 있는데, 그정도 거리에서 들리는 총소리는 가까이 있을 때와 다르게 들려야 하죠. 저희는 사운드를 하나의 스테레오 파일에 저장하기로 했습니다. 가까운 사운드는 왼쪽 채널에, 먼 사운드는 오른쪽 채널에 저장했는데요. 그런 다음 재생 중에 플레이어와 사운드와의 거리를 기반으로 두 채널 사이에서 들리는 사운드의 비율을 크로스페이드하거나 변경합니다. 간단한 해결책이었지만 효과가 좋았고 메모리 제약 문제에도 도움이 되었죠. 이제 여러분도 어렵지 않게 직접 확인할 수 있는데요. 콤바인 병사를 향해 이동할 때 그 총소리가 어떻게 변하는지 들어보세요."
N/A3929"#commentary\cn_010_flying_vehicle_audio.mp3" "[Kelly Bailey] 게임 속 거대한 비행 적들의 사운드는 연출하는 과정이 정말 독특했는데요. 다른 적들보다 날쌘 데다 대부분 플레이어로부터 상당히 멀리 이동하죠. 또 각자 시야가 있어 매우 위험하고 말이죠. 저희는 이러한 점을 고려해 특히 폐색을 중심으로 한 사운드 연출에 신경을 썼습니다. 여러분이 적을 볼 수 있을 때와 적이 여러분을 볼 수 있을 때 말이죠. 저희는 적의 시야에 따른 상황을 사운드로 명확하게 구분하고 싶었습니다. 항공기 엔진 사운드는 동시에 재생하는 여러 개의 루프 사운드로 구성됩니다. 플레이어가 있는 공간에 따라 DSP 시스템에서 처리되는 루프도 있고, 직접 처리되지 않고 재생되는 경우도 있죠. DSP 시스템은 해당 시스템을 통해 사운드를 실행할 때 환경 반향 효과를 더합니다. 비행 물체가 무언가 뒤에 가려져 플레이어를 볼 수 없을 때, DSP 처리를 거치는 루프의 비율을 높여 해당 물체가 조금 더 멀리 있는 것처럼 들리게 합니다. 그러다 적이 물체 뒤에서 나와 여러분을 볼 수 있을 때는 직접적인 사운드를 더 많이 재생합니다. 전반적으로 소리가 멀리서 들리고 방향성이 없거나, 반대로 시야에 더 직접적으로 들어오는 느낌을 주게 되는 것이죠. 헬리콥터가 건물 뒤에서 나올 때도 그 차이를 들을 수 있는데, 여러분이 그 차이를 확실히 느낄 수 있었으면 좋겠네요."
N/A3930"#commentary\cn_011_bullet_audio.mp3" "[Kelly Bailey] 한 가지 확실한 것은 게임을 진행하면서 총알이 여러분을 많이 스친다는 것인데요. 그래서 저희는 완벽한 사운드 처리를 위해 많은 시간을 들였습니다. 안타깝게도 본 게임의 총알은 순간 이동하는 것이나 마찬가지라서 그냥 사운드를 붙이고 움직임에 의존해서 위치를 잡을 수는 없었죠. 저희는 몇 번의 실험 끝에 해결책을 찾았는데요. 우선 총알이 플레이어의 귀에 닿는 궤적에서 가장 가까운 지점을 알아낸 후 총알이 개념적으로 이 지점을 지날 정확한 시간과 위치를 계산했습니다. 그런 다음 총알이 다가오는 소리와 총알이 지나가는, 이 두 가지 다른 소리를 재생하여 도플러 효과를 연출했지요. 총알이 지나간 시간을 계산한 후 이를 기준으로 이탈 소리를 늦췄습니다."
N/A3931"#commentary\cn_012_staircase.mp3" "[Aaron Seeler] 게임 전반에 걸쳐 간단하고 직관적인 디자인 목표에서 비롯된 상황들이 있는데, 이 계단에는 그중 두 가지 목표가 있습니다. 첫 번째 목표는 요새가 깨어나는 모습을 프레임에 담아 플레이어에게 벌집을 건드렸다는 것을 보여주는 것이었습니다. 두 번째는 래그돌 시스템을 보여주는 것이었습니다. 물론 래그돌은 오늘날 표준이 되었지만, 2004년에는 시체가 사실적으로 떨어지는 것을 보는 것이 여전히 참신했는데요. 계단은 그러한 장면을 구현하기에 완벽한 무대였습니다."
N/A3932"#commentary\cn_013_alyx_and_mossman.mp3" "[Bill Fletcher] 저희는 Half-Life 2의 서사에 대한 초기 계획에서 게임성에 덜 집중하는 도전을 하고 싶었습니다. 선한 플레이어가 악한 적을 물리치는 뻔한 이야기가 아니라, 등장인물과 그들의 관계에 초점을 맞추고자 했죠. Half-Life 2의 핵심적인 역동적인 요소로서 가족을 활용하면 재미있겠다는 생각이 들었습니다. 알릭스와 모스만 사이의 갈등은 바로 이 아이디어에서 탄생했는데, 플레이어들이 공감하고 이해할 수 있는 공감대를 형성할 수 있다는 점에서 마음에 들었습니다."
N/A3933"#commentary\cn_014_exposition_board.mp3" "[Danika Rogers] 여기에 최대한 많은 스토리를 함축해서 담고자 했는데요. 게임에서 플레이어들에게 공간을 탐험하라고 가장 분명하게 알려주는 곳이기 때문이죠. 물론 주 목적은 세계 구현이긴 하지만, 저희는 여전히 일라이와 브린 사이의 관계를 강조하여 세계관의 주된 갈등의 맥락을 제공하기 위해 많은 노력을 기울였습니다."
N/A3934"#commentary\cn_015_city_17_awakens.mp3" "[David Sawyer] 기차역 부분은 원래 도시가 플레이어에게 무관심하게 느껴지도록 디자인되었습니다. 마치 고든이 이름도 얼굴도 없는 시민 중 한 명일 뿐이고, 정복당할 준비가 된 것처럼 말이죠. 하지만 공동주택 습격과 옥상 추격전이 벌어지는 동안 도시는 플레이어를 변칙적인 존재로 인식하고 움직이기 시작합니다. 이제 플레이어가 공격자의 입장이 되자 도시는 플레이어에게 모든 주의를 기울입니다. 습격 중에 처음 들린 감시 부대 PA 시스템은 이 메시지를 전달하는 데 중요한 역할을 했습니다. 주의 깊게 듣는다면 도시의 인식에 대한 많은 정보를 얻을 수 있습니다. 하지만 플레이어의 주의 없이도 우리가 목표로 삼았던 감정적인 메시지를 사운드로 여전히 생생하게 전달할 수 있었죠."
N/A3935"#commentary\cn_016_elis_lab.mp3" "[Dhabih Eng] 일라이의 실험실은 클라이너 박사의 이름을 따서 만들었습니다. 그 덕분에 더욱 손쉽게 장면의 연출을 디자인할 수 있었고, 결국 플레이어에게 반응할 기회가 더 많아지고 복잡해진 시나리오를 만들 수 있었습니다. 방 안에서 여러 캐릭터가 각자 움직이도록 하다 보니 스테이징이 까다로웠는데, 원활한 진행을 위해 많은 반복 작업과 플레이 테스트가 필요했습니다. 저희가 직접 보니 플레이어들은 보통 장면을 따라 플레이하고 싶어하는 경향이 있었는데요. 저희가 의도한 곳이 어디인지 확인하기 위한 미묘한 단서가 필요했을 뿐이죠. 마찬가지로 플레이어의 주의가 산만해지면 장면을 잠시 멈추고 플레이어가 돌아올 때까지 기다려야 했습니다."
N/A3936"#commentary\cn_017_feel_free_to_look_around.mp3" "[Dhabih Eng] 플레이어가 탐험하고 싶도록 자극하는 것과 장면의 스토리를 전하는 것 사이의 균형을 맞추는 일은 언제나 어려웠는데요. 저희는 방에 흥미로운 볼거리를 많이 넣고 싶었지만, 플레이어들은 캐릭터의 연기를 모두 확인했다는 확신이 들고난 후에 탐험하는 경우가 많았습니다. 그래서 일라이가 플레이어에게 장면 중간쯤에서 주변을 둘러보라고 말하도록 연출해야 했죠. 탐험해도 안전하다는 신호를 준 겁니다. 거기서부터 플레이어의 관심을 끄는 요소에 맞춰 제작한 미니 씬을 트리거할 수 있었습니다."
N/A3937"#commentary\cn_018_interstitial_scenes.mp3" "[Eric Kirchmer] 플레이테스트를 진행하면서 플레이어들이 목표를 놓치는 부분이 자주 발견되었는데, Half-Life와 같은 게임에서는 이런 일이 종종 발생합니다. 저희는 이 문제를 해결하기 위해 플레이어에게 방향을 안내하고 목표에 힘을 실어줄 수 있도록 틈새에 장면을 추가했습니다. 클라이너의 실험실과 같은 대규모 안무 씬의 개발 작업을 대부분 완료하고 나니 이러한 작은 씬을 간단하게 조합할 수 있었죠. 이런 순간에 캐릭터를 사용하는 것이 수동적인 스토리텔링이나 일시정지 메뉴에 알림 기능을 넣는 것에 의존하는 것보다 훨씬 효과적이라는 것을 알게 되었습니다."
N/A3938"#commentary\cn_019_overwatch.mp3" "[Josh Weier] 개발 중에는 무료 TTS (텍스트 음성 변환 도구)를 사용하여 감시 부대의 음성을 생성했습니다. 하지만 출시일이 가까워지자 실제로 TTS를 사용할 권리가 없다는 사실을 알게 되었는데요. 그래서 생성된 대사에서 저희 마음에 들었던 점을 살릴 수 있는 사람을 찾기 위해 성우들과 오디션을 진행했습니다. 얼마 지나지 않아 Ellen McClain이 완벽한 연기를 해냈죠. 녹음에 들어가서는 Ellen의 스타일에 맞줘 미리 생성한 대사를 틀어 줬어요. Ellen은 처음에는 별로 내키지 않아 했는데, 로봇처럼 연기해 달라는 주문을 받았기 때문이죠. 하지만 몇 년 후 돌아와 *Portal*을 상징하는 캐릭터인 GlaDos를 연기했을 때는 창의적으로 그 연기 톤을 활용했습니다."
N/A3939"#commentary\cn_020_box_car_joe.mp3" "[Laura Dubuk] 이 짧은 장면에는 원래 두 명의 인간 캐릭터가 등장했지만, 개발 과정에서 한 명을 보르티곤트로 대체했습니다. 보르티곤트가 인간과 공존하며 콤바인에 저항하는 모습을 보여주고 싶었거든요. 플레이어를 치유하는 능력도 추가했지만, 게임 전반에 걸쳐 이 기능을 충분히 활용하지는 못했습니다. 보르티곤트 덕분에 대화를 간결하게 유지하면서 스토리를 전할 수 있었는데요, 플레이어도 그들의 집단의식이 있어 게임의 세계관과 목표를 완전하게 이해할 수 있었죠. 보르티곤트는 집단의식 덕분에 질문을 할 필요가 없었고, 말이 없는 주인공에게 대사를 추가해야 하는 어려움을 피할 수 있었습니다."
N/A3940"#commentary\cn_021_mossman.mp3" "[Marc Laidlaw] 주디스 모스맨은 원래 Half-Life 1의 한 장면에서 등장할 예정이었던 캐릭터를 기반으로 했습니다. 이 장면은 기본 게임에서 삭제되어 Uplink에서 캐릭터 없이 다시 사용되었습니다. 주디스는 아마 Half-Life 2에서 가장 복잡한 캐릭터일 겁니다. 노바 프로스펙트 이전에도 플레이어에게 주디스에 대한 일방적인 편견을 심지 않도록 노력했죠. 특히 플레이어가 신뢰할 수 있는 두 대화 상대의 의견도 갈리는데요. 엘리는 주디스를 좋아하지만, 알릭스는 그렇지 않습니다. 저희도 관계를 복잡하게 만드는 데에는 한계가 있다는 것을 알고 있었지만, 계모와 딸이라는 관계라면 플레이어들도 쉽게 이해할 수 있을 것이라 생각했습니다. 주디스의 사상은 호불호가 갈리지만, 영웅적인 업적을 하고 있다는 것은 부정할 수 없죠. 주디스는 엘리와 알릭스를 보호하는 데 필요한 정보를 얻기 위해 이중 첩자가 될 위험을 감수합니다. 고든을 만날 거라는 예상을 하지 못했을 뿐이죠."
N/A3941"#commentary\cn_022_hands_free.mp3" "[Matt Wright] Half-Life 2가 출시될 당시 대부분의 1인칭 슈팅 게임은 플레이어에게 바로 총이나 근접 무기를 제공했지만, 저희는 빈손으로 시작하기로 했습니다. 플레이어는 무기가 없었기에 세상과 상호 작용 하는 새로운 방법을 익히면서 스토리를 자연스럽게 접할 수 있게 되었죠. 저희는 도망가던 플레이어의 입장을 역전시키고 싶었고, 적절한 시기에 무기를 제공하여 그 순간을 자연스럽게 연출했습니다. 마침내 무기를 얻을 때쯤이면 적을 쫓기 시작하죠. 싸우지 않고 물러나는 것이 최고의 전술이라는 이야기가 있긴 하지만, 다들 그 말이 틀렸다는 걸 잘 아실 겁니다. 총을 들고 적에게 뛰어드는 것만큼 좋은 전술은 없으니까요."
N/A3942"#commentary\cn_023_metrocop_scene.mp3" "[Mike Dussault] 이 장면도 메트로캅스가 악당이라는 것을 분명히 하기 위해 설계되었습니다만, 이번에는 플레이어가 무기를 가지고 있고 마침내 맞서 싸울 수 있다는 점이 다르죠. 총알로 맞서 싸우는 겁니다. 저희는 플레이어에게 정의의 사도가 된 느낌을 주고 싶었고, 이 장면도 그 연출의 일부였습니다. 메트로캅스는 게임 내 다른 콤바인과 달리 여전히 인간이기 때문에 플레이어의 행동이 단순한 분노가 아니라 정의처럼 느껴지도록 더 많은 노력을 기울여야 한다고 느꼈습니다."
N/A3943"#commentary\cn_024_moving_the_gravity_gun.mp3" "[Ted Backman] 그래비티 건을 처음 만들었을 때는 게임 중간에 등장시킬 계획이었습니다. 하지만 플레이테스트를 진행하면서 디자인의 강점을 알게 되었고 특히 그래비티 건이 좀비의 얼굴을 향해 톱날을 발사하는 기능이 더 일찍 등장해야 한다는 것을 깨달았습니다. 따라서 일라이의 실험실도 더 일찍 등장해야 했죠. 이는 중대한 변화였지만 Half-Life 2의 성공에 결정적인 역할을 했습니다. 스토리텔링과 게임플레이가 서로 얽혀 있고 어느 쪽도 항상 우선순위를 둘 수는 없으며, 서로 조화를 이루도록 해야 한다는 점의 좋은 예시이죠."
N/A3944"#commentary\cn_025_buggy_birds.mp3" "[Adrian Finol] 코스트 플레이테스트에서 한 플레이어가 집을 탐험한 후 차량으로 돌아왔을 때 우연히 새가 지나가는 것을 본 기억이 나는군요. 새에게 버기차에 가까이 가지 말라고 고함을 지르면서, 실제 새들은 종종 차에 실례를 한다고 불평했죠. 그 플레이 테스트를 본 후 토론을 통해 플레이어가 실제로 신경 쓰는 오브젝트를 플레이어와 분리한 것은 이번이 처음이라는 것을 깨달았습니다. 저희는 재미있는 생각이 떠올라 플레이테스터가 두려워하는 순간을 재현할 수 있는 시스템을 구축했습니다. 플레이어가 버기차를 잠시 놔두고 시선을 돌린 사이 차체 주변 아무 곳에 갈매기를 생성합니다. 갈매기는 시간이 지나면 아래에 있는 버기차에 일을 계속 본 뒤 플레이어가 돌아오면 날아갑니다. 당연히 플레이테스터들은 차량을 청소할 수 있기를 원했기 때문에 얕은 물로 차를 몰아 세차할 수 있는 기능을 추가했습니다. 개발이 이미 많이 진행되어 기술이 이미 갖춰진 덕분에 이 기능을 빠르게 구현할 수 있었죠. 이런 기능은 대부분 눈치채지 못하지만, 대부분의 플레이어가 한 번 이상은 발견할 수 있도록 이렇게 사소한 기능을 효율적으로 구현하고 충분히 배치했죠."
N/A3945"#commentary\cn_026_bridge_gunship.mp3" "[Adrian Finol] 건쉽 전투는 레벨 구조상 설정이 까다로웠지만 매우 만족스럽게 만들어졌습니다. 건쉽은 다리 아래쪽에 있어 플레이어 주위를 완전히 돌아다닐 수 있었으며, 세 가지 차원을 모두 활용하여 서로 다른 순간에 위아래로 이동할 수 있었죠. 특히 언제라도 엄폐물로 사용할 수 있는 대들보가 있어 건쉽의 사격이 재미있고 역동적인 시각 및 오디오를 연출할 수 있었습니다."
N/A3946"#commentary\cn_027_floor_is_lava.mp3" "[Adrian Finol] '용암 바닥'처럼 널리 이해되는 개념을 활용하여 게임플레이를 구축하니 훈련이 쉬워졌습니다. 물리 시스템 덕분에 플레이어들이 자유롭게 창의력을 발휘할 수 있다는 점이 마음에 들었는데요. 어떤 플레이어는 여러 물체로 길을 만들기도 했고, 좋아하는 금속판 두 장만 사용하는 데 집중한 사람도 있었습니다. 넘어질까 봐 조심스레 바위 위로 올라가는 길을 따라간 플레이어도 있었고, 모래 바로 위에 있는 물체 위에 앉아서 출구를 향해 곧장 간 플레이어도 있었죠. 다양한 플레이스타일이 등장했는데요. 개미귀신이 소환되면 실패한 판으로 여겨 바로 다시 시작한 플레이어도 회복을 위해 바위 위로 허둥지둥 돌아가는 것을 즐긴 플레이어도 있었습니다. 탐험 퍼즐이 될 수도 있지만 마음만 먹으면 투기장으로 바꿀 수 있다는 점도 마음에 들었죠. 그냥 모래 위로 뛰어올라 끝까지 싸운 플레이어도 있었습니다."
N/A3947"#commentary\cn_028_opportunistic_moments.mp3" "[Ariel Diaz] 게임에서 기억에 남는 순간들은 여러 게임 시스템이 어우러져 만들어집니다. 하지만 가끔 이런 순간이 항상 일어나진 않는다는 것을 깨닫기도 하죠. 저희는 더 많은 플레이어가 이런 순간을 경험했으면 좋겠다는 생각이 들 때가 많습니다. 저희는 여기서 많이 고민했는데요. 플레이어가 마주할 순간을 더 많이 알수록 연출에 더 많이 공을 들일 수 있지만, 너무 인위적으로 느껴지면 억지로 들이민 것처럼 느껴져 플레이어의 반응이 싱거울 수도 있죠. 건쉽이 파괴되는 장면은 너무 뻔하지 않으면서도 기억에 남는 순간이 될 확률을 높이기 위해 조심스레 연출한 예시입니다. 이 지역의 설계와 건쉽의 비행경로를 보면 건쉽이 파괴될 때 플레이어가 적절한 위치에 있을 가능성이 높습니다. 이때 건쉽이 차량에 부딪히는 것이 트리거되는데요. 그렇지 않으면 평소와 같이 파괴됩니다. 너무나 게임 같은 연출이긴 하지만, 플레이테스터들은 절묘한 연출 덕분에 신경을 쓰지 않는 것 같았죠."
N/A3948"#commentary\cn_029_assault_on_nova_prospekt.mp3" "[Ariel Diaz] 무한히 재생성되는 개미귀신 무리가 요새화된 콤바인 해안 기지를 공격하는 상황이니, 노르망디에서 영감을 받은 레벨을 만들고 싶었습니다. 초기 버전에서는 노바 프로스펙트로 이어지는 참호와 강력한 기관총으로 플레이어와 개미귀신이 살아남기 위해 참호 안에 머물러야 하는 상황이 등장했습니다. 기관총 사격과 참호 위를 끊임없이 뛰어다니는 개미귀신들이 짜릿한 장면을 연출했습니다. 하지만 아쉽게도 성능 예산을 맞추지 못해 결국 완전히 다른 레이아웃을 선택해야 했습니다. 하지만 탑재된 기관총은 그대로 유지되었는데, 워낙 강력해서 플레이어들이 개미귀신에게 의존하게 만드는 데 도움이 되었기 때문입니다."
N/A3949"#commentary\cn_030_buggy_physics.mp3" "[Charlie Brown] 버기차의 물리 엔진은 많은 시행착오를 거쳤습니다. 최고 속도가 약 시속 35마일에 불과했지만 속도감을 주고 싶었기 때문에 제대로 작동하도록 편법을 써야 했는데요. 터보 점프에 수직력을 추가하고 핸드브레이크를 사용하여 파워슬라이드할 때 후면에 약간의 킥을 추가했습니다. 이 연출이 없으면 속도감이 없어 버기차를 운전하는 것이 재미없어지니까요. 게다가 세상은 예측할 수 없는 물리 시스템에 의해 구동되는 혼돈으로 가득 차 있었습니다. 버기차는 어디에나 충돌할 수 있기 때문에 플레이어가 항상 버기에서 빠져나올 수 있도록 해야 했습니다. 이를 위해 실험과 플레이 테스트를 거쳤고, 결국 비현실적인 시뮬레이션을 통해 버기차의 조작이 쉬워지고 잘 전복되지 않도록 하는 방향을 선택했습니다. 무게 중심이 매우 낮고 바퀴가 자주 돌아가는 것처럼 보이지만, 실제로는 그렇지 않습니다. 저희는 이렇게 차량을 처음으로 물리적으로 구현했고, 이를 통해 많은 것을 배웠습니다. 덕분에 에피소드 2의 머슬카의 조작감을 개선할 수 있었죠."
N/A3950"#commentary\cn_031_the_bridge.mp3" "[Charlie Brown] 이 다리 구간은 밸브 사무실 바로 위에 있는 디셉션 패스 브리지에서 영감을 받았습니다. 처음에는 이 구간을 순수한 탐험 퍼즐로 만들었다가 점차 게임플레이를 늘려갔죠. 또한 플레이어의 엣지 프릭션에 대한 주요 테스트 케이스가 되기도 했습니다. 저희 이동 시스템에서는 플레이어가 표면의 가장자리에 가까워지면 감속할 때 마찰력이 미묘하게 증가합니다. 플레이어는 지금까지 눈치채지 못했는데, 아마도 낭떠러지 근처에서 느리고 조심스럽게 움직이려는 본능과 맞닿아 있기 때문일 것입니다. 하지만 이 기능은 이 부분에서 매우 중요하죠. 저희도 개발 도중에 실수로 이 고장이 나자 갑자기 모든 플레이테스터들이 반복적으로 낙사하는 것을 보고 이 사실을 깨달았습니다."
N/A3951"#commentary\cn_032_coast.mp3" "[Chris Green] 저희는 버기차를 위한 넓은 공간을 마련하는 한편 플레이어의 움직임을 제한할 방법을 고안했습니다. 해안선을 선택한 덕분에 맵 한쪽에 경계가 자연스럽게 생기면서도 트이고 광활한 느낌을 연출할 수 있었죠. 또한 콤바인이 지구의 자원을 착취한 결과를 보여주는 데도 도움이 되었죠. 플레이테스터들이 여전히 바다로 헤엄쳐 나가려고 했기에, 거머리를 추가해서 저지했습니다. 거머리는 플레이어들이 싸우거나 피할 수 있는 진짜 적이 아니라, 마법과도 같았죠. 플레이어들은 대체로 자신이 게임의 경계를 허물고 있다는 것을 이해했고, 저희도 너무 과하게 개발하지는 않았습니다."
N/A3952"#commentary\cn_033_grenade_house.mp3" "[Dave Riller] 많은 Half-Life 게임은 플레이어에게 구석구석 약간 새로운 전투 경험을 제공하는 데 중점을 두고 있습니다. 이전 게임을 약간만 수정했더라도 말이죠. 매번 플레이어의 실력을 시험할 필요는 없고, 때로는 순수하게 즐길 수 있는 재미있는 순간도 필요합니다. 이 수류탄 보관소도 그런 순간 중 하나인데, 일반적인 설정을 뒤집었다는 반전이 있습니다. 보통과는 달리 적을 위에 둬서 플레이어가 곧바로 아래에 있는 적에게 수류탄을 떨어뜨리는 구조에 변주를 준 것이죠. 무제한 수류탄 상자로 플레이어가 시나리오에 참여하도록 유도한 점이 조금 어색하긴 했지만, 상자가 부서지지 않아 다른 모든 것을 날려버렸더라도 위층까지 올라갈 수 있도록 연출했습니다."
N/A3953"#commentary\cn_034_buggy_training_course.mp3" "[David Sawyer] 이 훈련 섹션은 플레이어가 버기차를 자유롭게 몰도록 설계되었습니다. 이 수준의 차량 물리 시뮬레이션은 Half-Life 2가 출시될 당시에는 꽤 참신했는데, 저희는 플레이어가 이를 실험해 볼 수 있는 충분한 기회를 제공하고 싶었습니다. 또한 플레이어가 레이븐홈의 좁은 구역을 막 벗어난 후, 넓은 공간을 이동하는 속도감과 차 안에서의 안전한 느낌이라는 대조적인 보상을 주고 싶었고 말이죠. 터보 점프를 해야만 이 구역을 벗어날 수 있도록 설정했는데요. 플레이어가 운전에 얼마나 능숙해졌는지도 시험하는 동시에 버기차를 두고 가지 않도록 하기 위한 연출이었습니다."
N/A3954"#commentary\cn_035_ambush.mp3" "[David Sawyer] Half-Life와 비슷한 FPS를 개발할 때는 보통 플레이어가 앞의 공간을 모르도록 연출해야 한다는 어려움이 있습니다. 즉, 익숙하지 않은 지역에서 접근법을 모르는 상태로 전투가 시작되어야 한다는 것이죠. 저희는 이 문제를 해결하기 위해 다양한 방법을 사용했는데, 이 매복 장면은 좋은 예시입니다. 플레이어는 이곳에 도달하자마자 바로 이 집들 사이에서 콤바인 무리와 싸우게 되는데요. 플레이어는 전투와 탐험을 하는 동안 전장의 구조를 배울 기회를 얻게 됩니다. 그런 다음 플레이어가 이 다락방에 진입하면 두 번째 콤바인 웨이브가 등장하죠. 플레이어는 두 번째 전투에서는 이제 전장의 구조를 잘 아는 이점을 얻게 되어 더욱 전략적인 결정을 내리며 습격을 방어할 수 있게 됩니다."
N/A3955"#commentary\cn_036_bugbait_training.mp3" "[David Sawyer] 이 벌레 미끼 훈련은 다소 엉성한데, 노바 프로스펙트를 개발하다가 시간이 부족해졌으나 플레이어가 벌레 미끼를 이해해야만 진행이 가능하다 판단하여 추가했습니다. 보통은 훈련 시퀀스에 개성과 맥락을 더해 훈련이라는 느낌이 들지 않고 새로운 것을 발견하는 자연스러운 부분처럼 느껴지도록 하는데요. 하지만 여기에서는 그것을 잘 해내지 못했습니다. 벌레 미끼는 언뜻 보면 뻔한 것 같지만, 직관적으로 이해할 수는 없었죠. 지금 시점이면 게임을 진행한 지 꽤 되었으니, 플레이어도 전투 경험을 많이 쌓은 상태인데요. 훈련 시퀀스를 추가하기 전에는 벌레 미끼를 처음 얻은 플레이테스터는 다음 레벨에서 개미귀신이 눈에 띄자마자 본능적으로 바로 사살했습니다. 그때까지는 그렇게 하는 게 나았거든요. Half-Life는 보통 '일단 쏘고 본다'는 접근 방식을 장려하는데요. 노바 프로스펙트에 도착했을 때도 마찬가지로 콤바인 병사에게 벌레 미끼를 던지는 생각을 하는 대신 통상적인 무기에 의존하는 경우가 많았습니다. 그래서 저희는 벌레 미끼의 작동 방식을 보여주는 동시에 개미귀신이 공격하지 않고 플레이어 근처에만 있다는 것을 보여주기 위해 이 훈련을 추가하기로 했습니다."
N/A3956"#commentary\cn_037_vortigaunt_extraction.mp3" "[Dhabih Eng] 이 전장은 몇 가지 이유로 설계하기에 까다로웠는데요. 우선, 경비병은 근접 공격만 하기 때문에 플레이어가 경비병에게서 완전히 벗어나지 못하도록 해야 했습니다. 시험 삼아 원거리 공격을 몇 개 추가해 봤지만, 결과가 마음에 들지 않았습니다. 우스꽝스럽게 점액을 뱉어내는 공격도 있었죠. 근접 공격이 아닌 공격 중 플레이어를 향해 물리 오브젝트를 밀치는 능력이 유일하게 남았지만, 사정거리 내의 오브젝트를, 그것도 가끔만 밀칩니다. 그다음 난관은 경비병이 어디에서 죽든 보르티곤트가 시체에 도달할 수 있도록 하는 것이었는데요. 보르티곤트가 벌레 미끼를 빼내지 못하면 게임을 진행할 수가 없어서 반드시 구현해야 했습니다."
N/A3957"#commentary\cn_038_dropship_deployment.mp3" "[Doug Wood] 드롭쉽에 병사를 배치하는 작업은 꽤 까다로웠습니다. NPC가 또 다른 고체 물체 안에서 생성되어야 했기 때문인데요. 병사들은 보통처럼 이동을 시작할 수 있는 열린 공간으로 나가기 위해 생성되는 순간 컨테이너 밖으로 뛰어내리는 애니메이션을 즉시 재생합니다. 이 방법이 제대로 통하자 또 다른 문제가 발생했는데요. 능숙한 플레이어들이 컨테이너 밖에서 병사들이 나오기까지 기다리다가 애니메이션이 재생되는 동안 병사들을 쏘기만 한 것입니다. 저희는 이에 대응하기 위해 컨테이너에 포탑을 추가해 병사들이 빠져나갈 때 방어할 수 있게 했습니다. 플레이어가 특히 수류탄 등으로 간접 공격을 할 때 이점을 가지는 것을 완전히 막지는 못하지만, 오히려 전략적인 사고를 바탕으로 한 현실적인 대응을 유도할 수 있게 되었습니다."
N/A3958"#commentary\cn_039_laser_guided_rpg.mp3" "[Eric Smith] 저희는 RPG의 레이저 유도 기능 때문에 골치가 아팠는데, 플레이어에게 가르치기가 어려웠기 때문입니다. 많은 플레이테스터들이 RPG를 발사하자마자 엄폐물 뒤로 숨었기 때문에 로켓의 비행경로를 보지 못했습니다. 더 심각한 것은 로켓이 자신을 향해 돌아오는 것을 알아차리지 못했다는 것이죠. 다양한 HUD 요소와 레이저 도트 표시기를 시도해 보았지만, 그래도 대부분의 플레이어가 이러한 요소를 간과하고 적에게만 집중하더군요. 오데사의 대사에서 레이저 유도 기능을 강조하고, 건쉽이 RPG 직격탄을 격추하는 방식의 음향 및 시각 효과를 강화하는 등 가능한 한 많은 작은 개선 작업을 진행했습니다. 이러한 변경 사항 덕분에 일부 플레이어들은 기능을 더욱 잘 이해할 수 있었지만, 아직 모든 플레이어가 이해했다는 확신을 가질 수 있는 수준에는 이르지 못했습니다. 심지어 기능을 완전히 삭제하는 것도 고려했지만, 건쉽 전투에서 레이저 유도 기능이 빠지니 재미가 떨어졌습니다. 플레이어는 레이저 유도 기능 때문에 로켓이 날아가는 동안 건쉽을 시야에 유지해야 했지만, 동시에 건쉽의 시야가 확보되어 저희가 좋아하는 긴장감을 조성할 수 있었습니다."
N/A3959"#commentary\cn_040_performance_constraints.mp3" "[Eric Smith] 코스트의 마지막 전장에서는 플레이어와 시민이 뭉쳐 밀려오는 콤바인 병사들을 상대로 버티고 건쉽 전투로 마무리되는 대규모 피날레를 구상했는데요. 안타깝게도 병사들과 아군이 지형에서 이동하는 데 너무나 복잡한 계산이 필요했기 때문에 저희 성능에 맞게 전투의 규모를 계속 줄여야 했습니다. 한 번에 분대를 하나씩 등장시킬 무렵에는 이미 개발의 후반부에 들어선 뒤였죠. 더 많은 적을 수용할 수 있도록 전장의 규모를 키우기에는 너무 늦었기 때문에, 병사 수를 최소한으로 유지하기 위해 전투의 흐름을 재설계해야 했습니다."
N/A3960"#commentary\cn_041_lighthouse_gunship.mp3" "[Ido Magal] 저희는 이 건쉽 시나리오를 우리가 상상했던 대로 구현하기 위해 약간의 밑작업을 해야 했습니다. 영화에서 나올 법하게 연출하고 싶었거든요. 실제 영화였다면 주인공이 등대로 올라갈 때 건쉽이 주인공의 움직임을 예상하면서 창문을 통해 발사했겠죠. 저희는 게임에서 이것을 구현하기 위해 계단을 따라 복잡한 트리거 볼륨 여러 개를 설정했습니다. 트리거 볼륨은 플레이어의 움직임을 감지하면 건쉽이 플레이어의 고도에 맞는 새로운 비행경로를 선택하도록 지시합니다. 또한 트리거는 플레이어 바로 근처의 창문에 있는, 적 AI가 즉시 적대적으로 인식하는 보이지 않는 게임 오브젝트인 과녁을 활성화하여 건쉽이 창문을 향해 발사하도록 합니다. 이러한 AI와 스크립팅의 조합은 Half-Life 전투 시나리오의 핵심입니다. AI는 NPC의 전반적인 적응형 행동을 관리하고 스크립팅은 각 시나리오에 맞춰 다양항 요구 사항을 만듭니다."
N/A3961"#commentary\cn_042_crane.mp3" "[Jakob Jungels] 크레인을 제대로 구현하기 위해서는 많은 미세 조정이 필요했습니다. 강체 물리 엔진과 파괴 기술의 한계를 고려했을 때, 그렇게 강력한 물리적 힘을 발생시키는 것은 항상 위험했죠. 자석의 예를 들자면, 플레이어가 기대한 만큼 완벽한 움직임을 구현하지 못했습니다. 하지만 크레인이 고정되어 있었기 때문에, 저희는 범위 내에서 모든 것을 신중하게 선택하고 필요에 따라 미세 조정할 수 있었습니다. 다행히 대부분의 플레이어는 크레인의 미완성된 부분을 눈치채지 못하는 것 같았죠. 아마도 애매하게 현실적인 물리 엔진의 크레인과 상호 작용하는 것이 얼마나 신기했는지 짐작할 수 있을 것입니다."
N/A3962"#commentary\cn_043_flashlight_power.mp3" "[Jeff Lane] Half-Life 2에서 달리기와 플래시 모두 HEV 슈트의 힘을 소비하도록 한 결정은 논란의 여지가 있었습니다. 처음에는 달리기만 슈트의 전력을 사용했는데, 짧은 순간 동안만 속도가 증가했기 때문에 타당했습니다. 반면 플래시는 꺼질 걱정 없이 사용할 수 있었는데요. 하지만 플레이테스트를 해 보니 문제가 발생했습니다. 플레이어들이 종종 손전등이 여전히 켜져 있다는 사실을 깨닫지 못한 채 어두운 곳을 떠난 것이죠. 코스트처럼 밝고 트인 지역에서는 성능의 한계 상 손전등을 계속 켜두는 것을 감당할 수 없었기 때문에 게임 자체에서 손전등을 끌 방법이 필요했습니다. 전력을 제한하는 해결책이 간단하기도 했고, 어두운 지역에 약간의 긴장감을 더하는 이점도 있었습니다. 이제 어떤 리소스를 사용해야 하는가의 문제가 남았는데요. 이미 슈트 전력을 만든 상태에서, 손전등만을 위한 새로운 리소스로 UI를 어지럽히고 싶지 않았습니다. 플레이어가 전력을 소비해 더 다양한 능력을 사용하면서 균형을 맞추게 하면 재미있겠다는 생각도 했죠. 이는 게임을 디자인할 때 불완전한 해결책들 사이에서 선택을 할 때가 있음을 보여주는 좋은 예입니다. 달리기와 플래시가 자원을 공유하는 아이디어가 내키지는 않았지만, 여러 리소스가 UI를 복잡하게 만드는 것도 원치 않았죠. 에피소드 2에서는 슈트의 전력을 소모하는 다른 요소를 추가할 계획이 없었기에, 결국 손전등에 별도의 자원을 부여하기로 결정했습니다."
N/A3963"#commentary\cn_044_open_world_loot.mp3" "[Jeff Lane] 코스트가 워낙 트인 곳이다 보니 아이템 보상을 배치하는 방식에 새로운 문제가 생겼습니다. Half-Life 게임에서는 보통 플레이어에게 탐험한 대가로 보상을 주는데요. 정상 경로를 밟다가 옆으로 삐져나온 부분이 보일 때, 시간을 내서 찾아보면 쓸만한 아이템을 획득하는 방식이죠. 코스트 맵을 처음 플레이테스트하기 시작했을 때 야외 공간 구석에 보상을 숨겨두었습니다. 하지만 이렇게 하니 버기차를 활용하기가 더 불편해지더군요. 공간이 넓어서 무언가가 들어있을 것 같은 작은 공간이 항상 많았고, 플레이어들도 버기차를 계속 멈추고 내려 수색에 나섰으니까요. 레벨의 페이스가 끊어져 재미가 덜해진 것이죠. 그래서 여기저기 흩어져 있던 보상들을 제거했습니다. 하지만 그러자 새로운 문제가 발생했는데요. 플레이어에게 버기차를 꺼내면 좋은 시기를 알려줘야 한다는 문제 말이죠. 고민 끝에 규칙을 정했습니다. 모든 인간 구조물에는 항상 게임플레이 콘텐츠와 탐험 보상을 숨기는 한편 순수한 자연 구역은 비워두어야 한다는 것이었습니다. 플레이어 여러분께 직접 말씀드릴 수는 없었지만, 플레이어의 가정과 잘 맞아떨어졌고, 이와 같은 부분을 통해 일관되게 강화했습니다."
N/A3964"#commentary\cn_045_gas_station.mp3" "[Jeff Lane] 저희는 이 조우를 위해 원대한 계획을 세웠습니다. 플레이어가 휘발유 탱크에 불을 질러 모든 것을 불태울 수 있는 주유소를 만드는 것을 상상했죠. 플레이어가 맹렬한 불길에서 차를 몰고 도망치는 모습도 상상했습니다. 하지만 2003년에는 예산과 성능에 큰 제약이 따랐고, 코스트라는 거대한 레벨에 맞춰 주유소를 점점 더 작고 단순하게 만들어야 했죠. 저희가 계획했던 역동적인 화재 시스템은 구현할 수도, 더 이상 구현할 필요도 없어졌습니다. 한 번의 연출에 기울일 수 있는 노력도 한계가 있으니까요. 결국 원래 비전에서 가스통이 폭발하는 부분만 남았습니다."
N/A3965"#commentary\cn_046_buggy_introduction.mp3" "[John Cook] 버기차가 처음 등장할 때 플레이어가 그냥 타고 도망치는 것보다 더 매력적인 것을 원했는데요. 크레인이 그 역할을 해 주었죠. 무엇보다 플레이어가 버기차가 전복될 때 회복하는 방법을 배우는 것이 제일 중요했는데, 마침 이 시퀀스는 플레이어를 그 상황에 놓죠. 압박 속에서 훈련하는 것은 언제나 쉽지 않지만, 개미귀신의 습격 때문에 버기차에 머물러야 한다는 것을 강조하고 싶었습니다. 그래서 개미귀신이 우글거리도록 두었고, 또 시민 몇 명이 기관총으로 지원하도록 했습니다. 게다가 크레인을 조작하기 직전에 먼저 인양되는 소소하지만 재밌는 경험도 할 수 있죠."
N/A3966"#commentary\cn_047_crossbow.mp3" "[John Cook] 플레이어는 여기서 석궁을 처음으로 얻을 수 있는데요. 돌아보면 석궁을 게이트에 넣지 않았다는 게 좀 놀랍죠. 플레이어는 여기서 차를 타고 석궁이 있는 곳을 지나갈 수 있는데요. 저희는 그럴 가능성을 줄이기 위해 플레이어가 유모차에서 내리도록 장애물과 유리한 지점을 설정했습니다. 플레이어가 석궁과 아이템 상자를 발견하도록 유도한 것이죠. 플레이테스트를 하니 거의 모든 플레이어가 멈춰 서서 석궁을 얻었지만, 플레이테스트보다는 실제 플레이가 더 중요했죠. 코스트가 시작될 때부터 플레이해 온 플레이테스터는 게임 초반부터 플레이해 온 플레이테스터보다는 아직 모험심이 많으니까요. 그래서 몇 레벨 앞쪽에 석궁을 하나 더 배치했습니다. 노바 프로스펙트로 가는 길 바로 옆에 말이죠."
N/A3967"#commentary\cn_048_rollermines.mp3" "[Josh Weier] 롤러마인은 버기차를 운전하는 플레이어를 위협할 수 있는 적으로서 등장했습니다. 버기차를 탄 플레이어는 결국 완전히 물리적으로 구현된 개체가 되기 때문에, 물리적으로 구현된 적도 있으면 재미있겠다는 생각이 들었죠. 이미 맨핵을 통해 이 접근 방식으로 월드와 흥미로운 방식으로 상호 작용하는 적을 만들 수 있는 가능성을 봤고 말입니다. 그래서 저희는 스스로 토크를 걸어 움직이는 공인 롤러마인을 만든 후, 추격전이 재미있을 때까지 동작을 반복했습니다. 롤러마인 하나는 버기차에 그다지 위험하지 않지만, 특히 절벽 근처에서 쌓이면 이야기가 달라집니다. 또한 플레이어가 걸으며 이동할 때에도 잘 작동하도록 하여 레벨 디자이너가 롤러마인을 통해 몇 가지 추가 조우를 연출할 수 있도록 하였습니다."
N/A3968"#commentary\cn_049_sandtrap_thumper.mp3" "[Laura Dubuk] 플레이어는 섬퍼의 보호를 받으며 제공되는 폭약통으로 안전하게 개미귀신을 상대할 수 있습니다. 하지만 이건 사실 곧 있을 개미귀신 경비병 전투에 대한 힌트인데요. 다들 비슷한 전술로 공략하는 그 전투 말입니다. 중력건으로 폭발물을 발사하는 등의 방법을 쓸 수도 있지만, 꾸준히 쓰지 않으면 까먹기 쉽습니다. 게다가 다양한 방법으로 공격할 수 있다는 것을 고려하면, 이 방법을 쓰지 않은지 시간이 꽤 지났을 수도 있죠. 따라서 여기서 경비병과 마주하기 전에 이 능력을 다시 사용할 것을 은근히 제안하고 있는 것입니다."
N/A3969"#commentary\cn_050_coast_kickoff.mp3" "[Marc Laidlaw] 이 장면은 개발 후반부에 레이븐홈과 코스트를 연결하기 위해 만들어졌습니다. 보이시나요? 이 게임의 결합부는 나중에 합쳐지는 경우가 많습니다. 이 경우에는 최대한 시간과 리소스를 아껴야 했는데, 화면상에서 알릭스한테 애니메이션을 적용할 시간도 없었죠. 이런 장면은 재미있게 만들기 어려운데, 여긴 실패한 것이나 마찬가지입니다. NPC가 캐릭터나 씬에 캐릭터를 추가하지 않고도 표지판처럼 취급될 때 어떤 일이 벌어지는지 보여주는 좋은 예시이죠. 결국 게임의 흠이 보이면서 쉽게 잊히는 순간이 됩니다. 그런데 게임 개발은 원래 이런 겁니다. 넉넉하지 않은 시간을 잘 활용할 결정을 해야 하는 것이죠. 클라이너의 실험실과 일라이의 실험실이 훨씬 더 중요했기 때문에 저희는 여기에 노력을 집중했습니다."
N/A3970"#commentary\cn_051_odessa_cubbage.mp3" "[Marc Laidlaw] 오데사 커비지는 적절하게 활용된 카메오 캐릭터입니다. 오데사는 유쾌하고 미묘한 재미가 있지만, 자신만의 세상에서 살고 있지요. 자기 시나리오를 떠나지 않기 때문에 돋보일 정도로 과장될 수 있습니다. 우선 게임의 삭제된 부분에서 모델을 가져왔고, 저희가 받은 스팸 메일의 제목을 따서 이름을 지었습니다. 원래 노르웨이 어부를 모델로 삼았는데, 영국인 느낌이 나지 않아 콧수염을 붙였더니 바로 오데사라는 캐릭터가 탄생했습니다. 말투, 콧수염 등 모든 것이 가짜인 사기꾼인데요. 절대 자신을 위험에 빠뜨리지 않을 테니 고든에게 RPG를 건네주고 정확히 어떻게 사용하는지 설명하기에 완벽한 인물이죠."
N/A3971"#commentary\cn_052_28_transitions_later.mp3" "[Marc Laidlaw] 어두운 터널을 전환 공간으로 활용하는 레벨을 몇 번 만들고 나니, 전환처럼 보이지만 다른 무언가를 담고 있는 레벨을 만들어 플레이어의 기대를 뒤엎을 수 있다는 것을 깨달았습니다. 저희도 2002년에 개봉한 28일 후를 매우 재미있게 봤는데요. 곧바로 어두운 터널 중 하나에서 점점 긴장되는 좀비 조우 장면을 만들고 싶었습니다. 작업은 빠르게 진행되었고, 결과에 만족했습니다. 몇 년이 지나고 28일 후의 작가 Alex Garland를 만났습니다. Alex도 Half-Life 2를 즐겼다고 하는데, 저희는 이 섹션이 28일 후에서 영감을 얻었다고 솔직히 말했지요."
N/A3972"#commentary\cn_053_finest_mind_of_his_generation.mp3" "[Marc Laidlaw] 여기 절묘하게 만들어진 중간 장면이 또 하나 있네요. 플레이어에게 모래를 피해 다니도록 지시하려고 만들었는데요. 이전에 만든 장면은 스토리보다는 기능에 집중했지만, 이 장면이 나올 무렵에는 저희도 좀 더 편해졌고, 이 순간에 대해 특별히 생각하는 과정을 즐기기 시작했습니다. 이렇게 캐릭터에게 표지판 이상의 역할을 주면서 더 흥미롭고 재미있는 장면을 만들 수 있었습니다. 출시 후 라즐로는 어마어마한 팬층을 확보했는데, 플레이어들이 무엇을 고수할지 예측하는 것이 얼마나 어려운지 떠올릴 수 있었습니다."
N/A3973"#commentary\cn_054_bridge_playtesting.mp3" "[ Matt Boone ] 다리 섹션은 항상 플레이테스트에서 하이라이트였는데, 테스터들도 플레이할 때마다 격하게 반응했습니다. 천천히 대들보를 넘어가면서 긴장하는 모습이 역력히 보였죠. 시간이 지남에 따라 다리를 건널 때 난관을 추가한 덕분에 플레이테스트도 더욱 재미있어졌습니다. 다리를 가로지르는 기차가 덜커덕거리며 플레이어를 흔드는 것부터 중간에 안전한 피난처처럼 보였던 오두막에 갑자기 나타난 헤드크랩까지. 플레이테스터들이 스트레스를 받는 모습을 보니 재밌기도 했지만, 저희도 사람이니 미안하기도 했죠. 플레이어는 다리를 건넌 후 안도의 한숨을 쉬고 콤바인 방어막을 해제한 후 아래쪽으로 다시 건너야 한다는 것을 깨달았습니다. 두 번째 건널 때 지루함을 느끼지 않도록 대들보에서 플레이어와 함께할 건쉽을 추가하기로 했습니다."
N/A3974"#commentary\cn_055_thumper_final_stage.mp3" "[Matt Boone] 저희는 섬퍼의 마지막 등장이 마음에 들었는데요, 역할이 바뀌기 때문이죠. 플레이어를 든든하게 지키던 섬퍼가 적이 되어 개미귀신 부대를 막게 되었으니까요. 하지만 사실 여기까지 오기 전에 섬퍼에 대해 더 잘 학습시킬 걸 후회됩니다. 코스트 초반에서는 플레이어가 섬퍼를 부분적으로만 이해해도 괜찮았지만, 플레이어가 처음으로 벌레 미끼를 써 보고 있기 때문에 이제는 위해졌으니까요. 이 첫 섬퍼가 개미귀신이 전진하는 것을 막는다는 것을 깨닫지 못한다면 벌레 미끼의 작동 방식을 오해할 수 있습니다. 첫 번째 벙커에 있는 병사들에게 벌레 미끼를 던진 후 개미귀신이 도착하지 않으면 미끼가 쓸모없거나 예상대로 작동하지 않는다고 결론 내리고 대신 무기를 다시 사용하게 될 테니까요."
N/A3975"#commentary\cn_056_buggy_tools.mp3" "[Matt Wright] 저희는 버기차가 단순한 이동 수단 그 이상이 되기를 바랐고, 결국 총을 장착하기로 했습니다. Half-Life 1에서 마음에 들었지만 Half-Life 2에서는 자리를 찾지 못했던 무기인 타우 캐논을 선택했는데요. 타우 캐논은 벽을 관통할 수 있어 레벨 디자인이 까다로워졌고, 결국 코스트에서만 쓸 수 있도록 제한했습니다. 벽을 관통하는 무기를 추가하면 레벨 디자인이 훨씬 어려워집니다. 또한, 버기차 뒤쪽에 탄약 상자를 장착하여 코스트 전역에서 무제한으로 기관단총 탄약을 사용할 수 있도록 했습니다. 이는 특히 모래에서 무한히 생성되는 개미귀신 때문에 고전한 플레이테스터들에게 큰 도움이 되었죠."
N/A3976"#commentary\cn_057_antlion_guard.mp3" "[Matt Wright] 이 전장에서 플레이어가 개미귀신 경비병을 처치하지 못하는 경우가 가끔 있었습니다. 탄약이 떨어지고 사용 가능한 모든 오브젝트를 잘못 사용하여 중력건으로 발사할 것이 아무것도 없는 경우였는데요. 이 문제를 해결하기 위해 관문 위 포탑에 시민을 추가했습니다. 플레이어가 갇혀도 시민을 믿고 경비병을 처치할 수 있었죠."
N/A3977"#commentary\cn_058_terrain_and_performance.mp3" "[Mike Dussault] 전투를 개발할 때 종종 성능의 제약을 받았는데요. 특히 지형에서의 전투에서는 더욱 그러했습니다. NPC는 움직일 때 작은 공간을 여러 번 탐사하며 자신이 선택한 경로를 안전하게 이동할 수 있는지 판단합니다. 이해하기 쉽게 설명드리자면, 앞이 안 보이는 상황에서 계속 앞에 막대기를 짚으며 길이 잘 보이는지 확인한다고 상상해 보세요. 월드 지오메트리가 복잡해질수록 이러한 탐사 효율도 더 크게 떨어집니다. 저희의 지형 변위 시스템은 다른 평면보다 훨씬 많은 폴리곤을 사용하여 고르지 않은 표면을 만듭니다. 즉, 코스트의 지형에서 이동하는 NPC들은 다른 지역에서보다 리소스를 많이 사용했고, 이러한 제약 때문에 게임의 이 부분에서 많은 전투를 벌일 수 있는 규모도 어쩔 수 없이 제한되었습니다."
N/A3978"#commentary\cn_059_area_portals.mp3" "[Mike Dussault] 코스트를 개발하면서 직면한 성능 문제 중 하나는, 적어도 2003년 당시 기준으로 매우 세부적인 내부를 갖춘 건물을 포함하여 트인 공간을 처리하는 것이었습니다. 플레이어가 밖에 있을 때는 건물 내부의 리소스를 낭비하지 않으면서 해당 공간을 렌더링하는 데 예산을 최대한 많이 할당하고 싶었습니다. 하지만 우리가 모든 창문과 문을 기꺼이 내려놓지 않았다면 플레이어는 여전히 내부를 볼 수 있었습니다. 이 문제를 해결하기 위해 지역 포털이라는 기능을 만들어 열린 모든 창문과 문에 하나씩 배치했습니다. 영역 포털은 건물 내부의 평면 이미지를 미리 계산합니다. 플레이 도중 플레이어가 일정 거리 떨어져 있으면 영역 포털은 미리 계산된 이 이미지를 창문이나 문 위에 표시하므로 실제 내부 렌더링을 건너뛸 수 있습니다. 플레이어가 다가가면 지역 포털의 이미지와 건물의 실제 콘텐츠 사이를 부드럽게 크로스페이드합니다. 지역 포털과 여러분 뒤에서 스스로 닫힌 문을 신중하게 활용한 덕에 코스트에서 성능과 연출을 잡을 수 있었지요."
N/A3979"#commentary\cn_060_buggy_removal.mp3" "[Miles Estes] 저희는 플레이어가 버기차를 내려놓도록 유도하는 지점에 도달했다는 것을 명확히 표시하고 싶었습니다. 코스트 지역 곳곳에서 플레이어들이 버기차를 내려놓았다가 다시 돌아오는 일이 잦았고, 플레이테스터들은 조금이라도 가능성이 보이면 버기차를 가지고 가려 시도했습니다. 이 작은 차고 장면은 주로 플레이어가 운전을 마치고 도보로 이동할 것임을 명확하게 알리기 위해 만들어졌습니다."
N/A3980"#commentary\cn_061_d2_coast_04.mp3" "[Randy Lundeed] 사실 이 맵은 크레인과 다른 요소들이 존재하기 전에 저희가 코스트에서 처음으로 만든 지역이었습니다. 물이 빠지고 해저에 녹이 슬어 있는 배는 저희가 제일 처음 구상한 아트 디렉션이습니다. 저희는 몇 년 후인 2003년 E3 데모에서 이 맵을 선보였는데, 당시에도 게임플레이의 많은 부분이 아직 개발 중이었죠. 저희는 당시에 시연한 내용에서 유용한 영감을 얻어 코스트 구역 전체를 만들기 시작할 수 있었습니다."
N/A3981"#commentary\cn_062_transition_tunnels.mp3" "[Randy Lundeen] 저희는 코스트를 만들기 위해 레벨 전환을 처리하는 방법을 개발해야 했습니다. 레벨을 옮기려면 플레이어가 레벨을 떠날 때 전환 공간에 있는 모든 것을 저장하고 불러온 후 다음 레벨에서 복원해야 합니다. 무엇보다 전환 영역에서 플레이어가 볼 수 있는 모든 것을 저장하고 복원해야 한다는 것이 중요합니다. 공간이 외부에 있더라도 말이죠. 이러한 이유로 저희는 전환 공간을 최대한 작고 폐쇄적으로 유지하려고 합니다. 대부분의 게임에서는 작은 방이 이런 용도에 적합합니다. 하지만 해안에서는 다른 해결책이 필요했습니다. 몇 번의 실험 끝에 우리는 어두운 터널에 자리를 잡았습니다. 터널은 사실적인 방식으로 재사용할 수도 있었지만, 끝에 밝은 조명 플레어를 추가해 완전히 다른 레벨에 있어 렌더링할 수 없는 구역을 숨길 수도 있었습니다."
N/A3982"#commentary\cn_063_sniper_alley.mp3" "[Robin Walker] 게임 트랙의 이 부분은 개발 후반에 추가되었습니다. 일라이의 실험실과 레이븐홈을 코스트 이전으로 옮긴 뒤였죠. 게임을 선형적으로 만들었다고 생각할 수도 있지만, 실제로는 세 그룹으로 나뉘어 서로 다른 섹션을 동시에 작업했습니다. 대부분 게임 중반부터였죠. 각 그룹의 첫 번째 패스는 다음 단계로 넘어가기 전에 해당 섹션의 핵심을 파악하는 데 중점을 두었습니다. 그런 다음 전체 게임을 개략적으로 구성한 후 각 섹션을 다시 검토하여 다듬었습니다. 다른 영역에서 성공한 요소는 추가하고 쓸모없는 요소는 제거했습니다. 레이븐홈처럼 섹션을 통째로 옮긴 경우도 있었죠. 그러다가 레이븐홈을 옮긴 후, 여러분이 지금 진입하고 있는 구역인 코스트와 연결하기 위한 새 건물이 필요했습니다. 이 짧은 섹션은 시간상의 제약을 고려해 저격수나 콤바인 병사와 같은 기존의 검증된 게임플레이 요소를 사용하여 구성되었습니다."
N/A3983"#commentary\cn_064_battery_finding.mp3" "[Robin Walker] 저희는 더 다양한 오브젝트가 몰린 Half-Life 2의 게임플레이 공간에서 특정 아이템을 찾도록 하는 것이 흥미로울 것이라고 생각했습니다. 특히 아이템이 말이 되는 위치에 있다면 말이죠. 이렇게 한 덕에 플레이어는 아이템을 찾을 때 지역을 주의 깊게 관찰하고 추론하거나,무력을 사용해서 억지로 찾을 수도 있었죠. 자동차와 배터리의 모델이 이미 있었기 때문에 자연스럽게 플레이어들이 탐험할 수 있는 작은 폐차장을 만들게 되었습니다. 또 무력으로 수색하기를 선호하는 플레이어를 위해 예상 밖의 장소에 배터리 몇 개를 추가로 숨겨두었습니다. 이 퍼즐도 다른 아이템 기반 퍼즐과 마찬가지로 플레이어가 배터리를 잃어버릴 경우를 대비해 안전장치가 필요했습니다. 어떤 일이 벌어지는지 보고 싶다면 절벽에서 배터리를 모두 던져 보세요."
N/A3984"#commentary\cn_065_boathouse.mp3" "[Scott Dalton] 저희는 Half-Life 1에서 다양한 AI 적들이 서로 싸우는 부분에서 얻어갈 것이 많다는 것을 발견했습니다. 적끼리 이뤄지는 교전은 구경하기도 재미있고, 위협을 받고 있지 않아 적의 행동을 훨씬 쉽게 관찰할 수도 있죠. 개미귀신과 콤바인 병사들 사이의 이 첫 만남은 버기차로 무언가를 들이받을 수 있는 재미있는 장면으로 만들어졌지만, 섬퍼를 강조하는 역할도 합니다. 저희는 플레이어가 병사들이 섬퍼로 개미귀신을 막는 것을 보면서 섬퍼의 용도를 이해하기를 바랐습니다. 병사들이 섬퍼 근처에 머물면서 개미귀신과 교전하면서 섬퍼의 위력을 보여주는 연출이 마음에 들었습니다."
N/A3985"#commentary\cn_066_buggy_theft.mp3" "[Scott Dalton] 저희는 코스트의 마지막 부분을 만들면서, 콤바인이 플레이어의 버기차를 훔치도록 설정했습니다. 논리적으로 말이 안 되는 설정이었지만, 플레이테스트를 여러 번 하며 플레이어들이 버기차에 강한 애착을 갖는 모습을 보고 나니, 그 유대감을 살리고 싶어지더군요. 이 기능을 구현하니 플레이테스터들이 콤바인이 버기차를 훔쳤다며 소리를 지르기 시작했습니다. 멋지게 성공했다는 것이죠. 절벽 위에서 사격하는 병사는 플레이어의 시선과 관심을 끌어 버기를 실은 드롭쉽을 생성하기 위한 장치일 뿐입니다. 20년이 지난 지금, 이 장면을 보면 얼마나 어처구니없는 설정인지 새삼 깨닫게 됩니다."
N/A3986"#commentary\cn_067_snipers.mp3" "[Ted Backman] Half-Life 2 개발팀은 규모가 크지 않았기 때문에, 애셋 생성에 많은 비용을 들이지 않으면서 새로운 게임플레이를 만들 방법을 끊임없이 고민했습니다. 저격수가 좋은 예시인데요. 실제 모델이 없고 레이저 빔만 있기 때문에 아트나 애니메이션을 추가할 필요가 없었습니다. 저격수가 죽으면 콤바인 병사 래그돌이 생성된 후 창밖으로 날아갑니다. 저희는 이렇게 단순한 구조의 저격수를 통해 독특한 게임플레이를 많이 얻었습니다. 특히 게임 속 물리 객체와의 상호 작용 방식이 매우 마음에 들었죠. 플레이어는 적 근처의 폭발성 물체를 이용하는 데 익숙하므로 플레이어가 엄폐했을 때 이 구도를 뒤집는 적이 등장하게 된 것이 적절하다고 생각했습니다."
N/A3987"#commentary\cn_068_buggy_model.mp3" "[Ted Backman] 버기차 모델은 최종 버전에 도달하기 전까지 여러 차례 수정을 거쳤습니다. 보기에도 좋고 실감 나게 움직이는 디자인을 만들려고 했지만, 예상치 못한 문제가 발생했습니다. 숙련된 FPS 플레이어를 포함한 많은 플레이테스터들이 버기차 모델을 운전하는 동안 멀미를 느꼈다는 것입니다. 다행히 시뮬레이션을 조정하는 동시에 버기차 모델을 수정하는 것이 도움이 된다는 것을 발견했습니다. 모델이 가리는 부분이 많을수록 멀미가 더욱 심해졌죠. 그래서 플레이어들이 멀미를 느끼지 않을 때까지 모델, 그러니까 차체의 부분을 점점 더 많이 제거했습니다. 특히, 사라진 차대를 통해 지면을 볼 수 있게 된 것이 눈에 띄는 차이를 만들었습니다."
N/A3988"#commentary\cn_069_antlion_design.mp3" "[Ted Backman] 콤바인은 초기 디자인 단계에서 구상한 여러 핵심 외계 종족 중 하나였습니다. 그 외에 종교가 있는 곤충형 종족도 있었는데, 개미귀신이 속한 종족이죠. 저희는 이후 코스트를 개발하면서 개미귀신을 헤드크랩처럼 젠 차원문을 통해 들어오는 해충으로 보기 시작했습니다. 실제로 젠에서 온 것은 아니지만, 바퀴벌레처럼 자신들이 들어가는 모든 세계의 구석구석을 습격하는 해충 말이죠."
N/A3989"#commentary\cn_070_explosive_barrels.mp3" "[Brian Jacobson] 여기서 1인칭 슈팅 게임의 필수 요소인 폭약통이 새롭게 등장하는데요. 권총으로 폭약통을 두 발 쏘면 통에 불이 붙으면서 일종의 시한폭탄이 됩니다. 또 세 발 맞으면 즉시 폭발하죠. 플레이어는 이런 방식으로 상황에 따라 폭발을 지연시키거나 즉시 폭발시킬 수 있습니다. 플레이어는 폭약통을 바나클에 끼운 다음 두 번 쏘아 적의 무리를 안전하게 처리할 수 있습니다. 지연 폭발을 통해 일종의 폭약통 도미노를 만들 수도 있었죠. 폭약통은 Half-Life 시리즈 팬들의 사랑을 받았지만, 저희 개발진도 폭약통이 정말 마음에 들어서 무수하게 넣고 싶었습니다."
N/A3990"#commentary\cn_071_ragdoll_magnets.mp3" "[ Dario Casali ] Half-Life 2의 물리 엔진은 전투를 더욱 흥미진진하게 만드는 다양한 도구를 제공했습니다. 예를 들어, 적의 공격이 빗나갈 경우, 주변의 부서지기 쉬운 물체를 향해 공격 방향을 미묘하게 조정하여 마치 액션 영화 속 장면처럼 아수라장을 연출할 수 있었습니다. 또, 물리 엔진을 활용하여 힌트를 더했는데요. 게임 전반에 걸쳐 '래그돌 자석'이라고 부르는 효과를 적용하여 적의 시체가 절벽에서 떨어지거나 철로에 떨어지는 등 흥미롭고 극적인 연출을 더 했습니다."
N/A3991"#commentary\cn_072_helicopter_peekaboo.mp3" "[Dave Riller] 저희는 이번 챕터 전반에 걸쳐 콤바인 공격 헬리콥터를 핵심 적으로 차근차근 등장시키고 싶었습니다. 끈질기게 공격하는 헬리콥터는 그 자체로 하나의 캐릭터가 되었죠. 귀를 기울이고 머리 위를 보면 엔진 소리가 들리고 철로를 따라 멀리 날아가는 모습이 보입니다. 이 첫인상은 작은 복선일 뿐이며, 시간이 지남에 따라 그 존재감이 더욱 두드러지진 후에 결국 적이 되어 상대하게 됩니다."
N/A3992"#commentary\cn_073_iterative_passes.mp3" "[David Speyrer] 운하와 레이븐홈의 도보 구역과 같은 일부 챕터는 여러 번의 음모를 거쳐 개발되었습니다. 이런 방식으로 지도를 넘기면 음모마다 지도에 고유의 터치를 더 하니 경험의 다양성도 높아지고 흥미로운 순간의 밀도도 높아진다는 것을 알아냈죠. 운하의 도보 구역에서 첫 번째 패스는 전반적인 경험과 몇 가지 주요 비트와 함께 아트 방향과 플레이어 경로를 확립했습니다. 하지만 팀 전체 알파 플레이테스트에서 긴장감이 부족하고 진행도 단조로웠다는 것을 알아냈는데요. 두 번째 패스에서 맵을 만졌을 때는 긴장감을 조성하는 데만 집중하여 순간순간 시나리오의 밀도를 크게 높였습니다."
N/A3993"#commentary\cn_075_pistol_design.mp3" "[Josh Weier] 표준 권총은 게임의 주력 무기로, 처음 익히는 원거리 무기이기도 하고, 게임 내내 안전한 거리에서 물리 엔진이나 파괴 가능한 물체와 상호 작용할 수도 있죠. 권총의 반응성을 개선하고 사용하는 재미도 더할 수 있도록 특이한 재발사 메커니즘을 적용했는데요. 플레이어의 입력 속도에 맞춰 빠르게 발사되는 겁니다. 플레이어는 총이 입력에 즉시 반응하는 것을 느낄 수 있고, 더 빨리 클릭할수록 더 빨리 쏠 수 있는 거죠."
N/A3994"#commentary\cn_076_shatterglass.mp3" "[Josh Weier] 플레이어 툴킷에 메커니즘이 적은 초기 레벨을 디자인할 때 보니, 이 깨지기 쉬운 유리와 마찬가지로 새로운 기술적 기능을 대신 강조하는 것이 매력적이더군요. 깨지는 효과를 위해 유리를 작은 사각형 그리드로 나누어 어느 것이 온전하고 깨진지 추적하고 충분한 사각형이 더 이상 연결되지 않으면 더 큰 섹션을 날려버릴 수 있었습니다. 각 사각형은 근처 사각형의 상태에 따라 저마다의 텍스처로 렌더링되었고, 이렇게 깨진 유리와 온전한 유리 사이에 날카롭고 톱니 모양의 가장자리가 만들어졌습니다. 이제 웬만한 게임에서 유리가 깨지는 걸 볼 수 있지만, Half-Life 2를 만들 때는 흔하지 않았고, 저희도 현실적이고 역동적으로 깨지는 것을 구현할 수 있어 좋았습니다."
N/A3995"#commentary\cn_077_lambda_caches.mp3" "[Laura Dubuk] 엄밀히 따지자면 첫 번째 람다 은닉처는 클라이너의 실험실에 있지만, 플레이어가 직접 찾는 것은 이게 처음입니다. 저희는 플레이어에게 탐험을 장려하고 숨겨진 자원을 찾을 수 있는 장소를 알려주기 위해 람다 은닉처를 추가했습니다. 저항군이 지하 반란의 일환으로 은닉처를 배치했다는 가상의 내용을 담았죠. Half-Life에서는 레벨 디자인에 따라 보급 상자의 내용물이 미리 정해져 있었습니다. HL2에서는 레벨 디자이너가 설정한 목표 자원을 기반으로 플레이어에게 당시 부족한 물건을 제공하는 적응형 아이템 상자를 도입했습니다."
N/A3996"#commentary\cn_078_scanners.mp3" "[Kerry Davis] 스캐너는 게임 개발자로서 디자인하기 까다로웠는데요. 디스토피아적인 분위기 속에서 콤바인을 억압적인 감시 국가로 표현하는 데 도움이 되었다는 점은 마음에 들었지만, 실제로 플레이어를 향해 총을 쏘는 것은 원치 않았습니다. 일정한 높이 이점을 가진 작고 기동성 있는 적을 하늘로 조준하여 공격하는 재미는 살릴 수 없었거든요. 하지만 스캐너가 스토리에서 맡은 역할이 마음에 들었기 때문에 전투에서 주로 눈이 되어 주변 적에게 플레이어의 존재를 알리는 역할을 하기로 했습니다. 병사들의 음향 효과로 이 기능을 강화했죠. 그 외에는 밝은 빛으로 플레이어를 괴롭히고, 충분한 피해를 입으면 가끔 급강하 공격만 할 수 있도록 했습니다."
N/A3997"#commentary\cn_079_surface_properties.mp3" "[Ariel Diaz] 플레이어가 미끄러운 진흙 위를 걸을 때 맞춤 발소리가 재생됩니다. 이는 표면 속성이라는 시스템으로, 재질 유형을 기반으로 플레이어가 밟거나 총에 맞았을 때 발생하는 소리와 기타 효과를 결정하죠. 개발 초기에는 진흙 위를 걸을 때 플레이어의 움직임을 느리게 하는 효과가 있었는데요. 하지만 출시 버전에서는 게임이 너무 어려워진다고 판단되어 삭제되었습니다."
N/A3998"#commentary\cn_080_combat_entrances.mp3" "[Dario Casali] 모퉁이를 돌아 들어간 새 구역에 적이 가만히 서 있기만 한다면, 사격장처럼 생동감도 없고 어색한 느낌이 들겠죠. 그래서 저희는 적을 배치할 때 더욱 흥미롭고 역동적인 방식으로 적의 계획과 의도를 전달하려고 했습니다. 마치 이 병사들이 고든이 나타나기 전부터 계획이 있는 것처럼 말이죠. 여기서 도시 경찰은 사전에 지정한 시퀀스를 통해 공간으로 뛰어내리고, 게임 후반부에서는 비슷한 방식으로 래펠링을 활용합니다. 적이 실제로 어디에서 오는지는 결국 플레이어가 스스로 이야기를 하므로 중요하지 않죠. 결국 전투에는 설정에 함축된 이야기가 있어야 한다는 것을 알게 되었어요. 매복이나 기습, 급습이나 돌격 등의 시나리오에서 거의 동일한 적 AI를 사용하지만, 플레이테스터들은 모두가 다르다고 느꼈습니다."
N/A3999"#commentary\cn_081_mounted_gun_gallery.mp3" "[Dave Riller] 여기서 짚고 넘어갈 것이 여러 개 있는데요. 우선 플레이어는 포탑이 뒤에 있는 상자를 부수는 것을 보고 위협을 정면으로 돌파하는 대신 하수도를 이용해 극복하라는 것을 깨닫게 됩니다. 마침내 포탑에 다다르면 사격장에서 콤바인 병사와 급강하 스캐너를 상대로 사용하는 것을 즐기죠. 또한 플레이어들을 밀어붙이고 챕터 후반부에 다시 등장할 미사일 발사형 콤바인 APC도 등장하기 시작합니다."
N/A4000"#commentary\cn_082_barnacle_bowling.mp3" "[Josh Weier] 여러 디자인 요소가 어떻게 상호 작용 매트릭스를 형성하며 플레이어에게 기억에 남는 시나리오를 만들어낼 수 있는지 보여주는 만족스러운 사례군요. 바나클, 물리 시뮬레이션, 미끄러운 진흙 표면 속성, 그리고 마지막으로 폭약통까지, 지금까지 직접 경험했던 모든 요소가 어우러져 '바나클 볼링'이라고 부르는 순간을 만들어냅니다."
N/A4001"#commentary\cn_083_barnacle_introduction.mp3" "[Mike Dussault] 바나클은 처음 접했을 때 혼란스러울 수 있기 때문에, 플레이어에게 안전한 거리에서 바나클의 행동을 보여주는 방식으로 소개하고 싶었습니다. '자연 다큐멘터리'처럼 먹고 먹히는 장면을 통해 이를 구현하기로 했습니다. 하지만 늘 그렇듯, 이 장면도 플레이어에게 확실하게 보이도록 만들기 위해 많은 수정을 거쳐야 했죠."
N/A4002"#commentary\cn_084_physics_in_puzzles.mp3" "[Eric Smith] 게임 초반의 간단한 시스템을 익히도록 나중에 나오는 복잡한 시스템을 활용하는 경우가 많습니다. 처음으로 등장하는 물리 기반 장치인 시소 퍼즐은 사실 나중에 운하에 나오는 복잡한 세탁기 퍼즐에서 파생되었는데요. 시소는 질량과 경사의 원리는 동일하지만, 플레이어가 간단한 방식으로 직접 상호 작용 하며 게임의 물리학을 이해하는 데 도움이 되고 이후 퍼즐을 더 쉽게 풀 수 있습니다. 또한 이 퍼즐은 시멘트 블록의 배치와 플레이어의 무게 모두를 해법에 포함시키는 물리 시스템의 아날로그적 특성을 잘 보여줍니다."
N/A4003"#commentary\cn_085_combine_attack_helicopter.mp3" "[Brian Jacobson] 다들 이미 눈치채셨을 텐데요, 여기서는 운하 챕터의 메인 보스인 콤바인 공격 헬리콥터가 정식으로 등장합니다. 이 헬기는 플레이어의 엄폐물을 끊임없이 파괴하기 때문에, 총에 맞아 쓰러지지 않으려면 앞으로 나아야 합니다. 저희는 이 시퀀스가 위험하다는 긴장감을 선사하고 싶었습니다. 헬리콥터가 직접 맞서기에는 너무 강력해 보이게 하며, 운하의 마지막 지점인 저수지에서 마지막 대결이 벌어질 때까지 그 위력을 계속 유지하고 싶었죠. 이를 위해 구체적인 게임플레이 목표에 따라 헬리콥터의 움직임을 크게 제한했습니다. 이 맵은 헬리콥터 사격 시 엄폐물 사이를 약진하는 형태로 설계되었는데, 전장 위 하늘에 고리 모양의 길을 만들었습니다. 헬리콥터는 항상 이 고리를 따라 플레이어로부터 가장 먼 지점까지 이동하기 때문에, 시야에도 잘 띄고 적절한 지점에 엄폐물을 배치하기가 더 쉬워졌습니다."
N/A4004"#commentary\cn_087_explosive_barrel_factory.mp3" "[David Speyrer] 이 방은 그야말로 폭약통 천지인데, 저희도 이 세계의 타당성을 어디까지 끌어올릴지에 대해 선의의 토론을 활발하게 했습니다. 솔직히 말해서, 현실 세계에서는 폭약통이 하나뿐이라 해도 너무 많은 것 같습니다. 현실 세계에서는 총을 쏘더라도 통이 폭발해서는 안 되기도 하고 말이죠."
N/A4005"#commentary\cn_088_rising_water.mp3" "[Dhabih Eng] 이곳의 부유교와 나무 스풀은 플레이어가 부력을 활용할 수 있다는 것을 안내합니다. 이 경우에는 퍼즐보다는 플레이어가 물리 시스템과 상호 작용 하는 재미를 주려고 했는데요. 하지만 나중에 운하에서 이 게임플레이 요소를 재활용하여 에어보트의 경사로를 높였죠."
N/A4006"#commentary\cn_089_manhack_matt.mp3" "[John Morello] 저희는 이 녀석을 '맨핵 맷'이라고 불렀습니다. 플레이어에게 17번 지구의 숨겨진 구석구석에 수백 명의 시민들이 살고 있다는 느낌을 주고 싶었습니다. 플레이어는 이 시점에서 시민을 본 지 꽤 되기도 했고, 저희가 만든 최초의 물리 기반적인 맨핵이 얼마나 중요한지 보여주고도 싶었습니다. 원래는 도시에 플레이어가 맨핵을 날려 가상의 시민들을 공격할 수 있는 비디오 아케이드를 추가하려 했는데요. 결국 플레이어는 맨핵과 시민들이 진짜라는 것을 알게 되죠. 콤바인의 점령이 더욱 구체화되면서 비디오 아케이드를 넣자는 아이디어는 이상하게 느껴졌고 결국 무산되었습니다."
N/A4007"#commentary\cn_090_fighting_motion_sickness.mp3" "[David Speyrer] 초기 플레이테스트에서 많은 플레이어가 에어보트를 운전하다가 멀미를 했는데요. 이 문제를 해결하려고 노력하던 중 몇 가지 요인을 발견했습니다. 에어보트가 시야에 들어오는 것을 줄인 것이 도움이 된다는 것을 알게 되었고, 그래서 모델을 여러 번 움직여 축소했습니다. 프레임 속도를 일정하게 유지하는 것도 도움이 되어 이 섹션의 성능을 주시하는 것이 중요했습니다. 하지만 뷰롤을 제거하여 에어보트가 어떤 작업을 수행하든 더 안정적인 수평선을 유지할 수 있다는 점이 제일 중요했죠. 팀의 한 프로그래머는 멀미에 취약했지만, 해결책을 찾고 있는지 평가하기 위해 여러 번 플레이테스트를 해보겠다고 용감하게 제안했습니다. 플레이테스트를 마친 후 적어도 한 번은 토했을 거라 확신합니다. 그분의 숭고한 희생 덕분에 게임이 완성된 겁니다."
N/A4008"#commentary\cn_091_headcrab_canisters.mp3" "[Jeff Lane] 나중에 레이븐홈에서 중고 헤드크랩 통을 볼 수 있는데요. 저희는 콤바인에서 통을 어떻게 사용하는지 설명하기 위해 여기에서 통을 보여주기로 했습니다. 콤바인이 젠 동물군을 무기로 만들어 인간을 상대로 사용했다는 설정이 있죠. 이 섹션에 굴을 판 헤드크랩이 새로 추가되었는데, 이는 더 넓은 영역으로 확장되며 헤드크랩 공격으로 죽어간 시민의 판잣집을 보여주게 되었습니다."
N/A4009"#commentary\cn_092_airboat_intro.mp3" "[John Morello] 여기서 플레이어는 게임의 첫 번째 차량인 에어보트를 얻을 수 있습니다. 저희는 플레이어가 다음 단계로 넘어가기 전에 얼마든지 에어보트 운전을 안전하게 연습할 수 있는 공간을 만들고 싶었습니다.이 전장에는 점프와 트릭을 할 수 있는 지점이 넘치는데요. 전장을 독성 점액으로 채워 플레이어가 에어보트를 두고 걸어서 앞으로 나아가지 못하도록 방지했습니다."
N/A4010"#commentary\cn_093_zombie_surprise.mp3" "[Jeff Lane] 이 하수관에는 약간 짓궂은 점프 스케어가 있습니다. 플레이어가 온통 집중하고 호기심에 가득 차서 여기로 들어올 때, 물속에서 좀비가 갑자기 튀어 나와 거의 항상 플레이테스터들을 겁에 질리게 하죠. 한 명은 의자에서 완전히 떨어졌는데, 저희는 그걸 보고 성공했다고 자축했습니다."
N/A4011"#commentary\cn_094_airboat_time.mp3" "[Dave Riller] 차량과 도보로 이동하는 시간의 적절한 균형을 찾는 데 약간의 노력이 필요했습니다. 최고 속도로 운전하면 세계를 빠르게 탐험할 수 있는데, 초기 플레이테스트에서는 이 때문에 탐험하고 게임의 세부적인 부분을 보는 게 어렵다는 느낌을 받았습니다. 너무 빠른 차량 때문에 세계를 탐험한다는 Half-Life의 핵심 가치를 희생할 수는 없었죠. 이를 해결하기 위해 플레이어가 나가서 세부적인 요소가 밀집된 작은 구역을 탐색할 진을 새롭게 사용하는 방법을 배우고 있었는데요. 에어보트 수 있는 지점을 주기적으로 추가했습니다. 또한 발전한 물리 엔밖의 이러한 지점에서 상자를 물에 떨어뜨리거나 통을 결합하여 경사로를 올리는 것과 같이 물리적인 발견 요소를 더할 수 있었습니다. 이를 통해 플레이어는 다양한 방식으로 수면이나 물리 엔진과 상호 작용을 할 기회를 얻었죠."
N/A4012"#commentary\cn_095_floating_supplies.mp3" "[Josh Weier] 알파 플레이테스트에서는 운하 곳곳에 중 보급품 상자들이 흩어져 떠 다녔고, 플레이어가 에어보트로 부숴 안에 있는 보급품을 획득할 수 있었습니다. 게임적인 요소가 꽤 짙은 시스템이었지만, 플레이어가 이동 중에도 보급품을 획득할 수 있도록 하여 게임플레이의 흐름을 유지하는 데 도움이 되었습니다. 이 전제를 더욱 현실적으로 만들기 위해 보급품 상자들이 플레이어가 찾기 쉽도록 뜨게 된 배경을 담고 싶었습니다. 시민들이 보급품 상자를 떨어뜨리는 이 장면은 이 배경을 더 설득력 있게 전달하는 동시에 운하를 더욱 생동감 있게 만들어 주죠. 또, 수많은 조연 캐릭터가 돕도록 하여 플레이어가 더욱 영웅적이고 중요한 존재라는 느낌을 강조할 수 있었습니다."
N/A4013"#commentary\cn_096_grenade_intro.mp3" "[Brian Jacobson] 저희는 이 콤바인 기지를 수류탄을 마음껏 던지며 연습할 수 있는 공간으로 만들었고, 수류탄이 바닥날 염려 없이 자유롭게 사용할 수 있다고 알려주기 위해 수류탄이 무한하게 나오는 상자를 추가했습니다. 신나게 던질 수 있도록 말이죠. 이곳의 전투 인카운터는 플레이어가 수류탄을 쓰기에 좋도록 광범위한 마크업을 사용하여 병사 AI를 엄폐물로 안내합니다. 마지막 지역에서도 동일한 무한 수류탄 기술을 사용해 포탑 배치 문제를 해결할 수 있습니다. 그렇지 않으면 직접 공격이 훨씬 더 어려워지니까요. 밝은 빨간색 빛과 입자 흔적이 수류탄에 추가되어 플레이어가 수류탄을 던지든 콤바인 병사의 궤적을 피하든 훨씬 쉽게 궤적을 추적할 수 있게 되었죠."
N/A4014"#commentary\cn_097_puzzle_layers.mp3" "[Dave Riller] 플레이어는 다행히도 디자이너의 의도를 전혀 알지 못하는 경우가 많아서 퍼즐을 정말 다양하고 놀라운 방식으로 접근합니다. 단순해 보이는 퍼즐도 성공하기 전까지 수없이 많은 실패를 겪을 수 있죠. 운하 문을 여는 이 퍼즐도 마찬가지였는데, 여기서 힌트와 단서를 많이 남길 필요가 있었습니다. 불꽃이 튀는 휠을 보면 보통과는 다른 방법으로 문을 열어야 한다는 것을 알 수 있죠. 까마귀 몇 마리가 플레이어의 시선을 해답 쪽으로, 여기서는 진자 위에 있는 대들보 묶음으로 돌립니다. 수류탄 쓰는 법을 어느 정도 익힌 시점이니, 저희도 플레이어가 수류탄을 던져 나무 지지대 구조물을 부수길 바랐습니다만, 충분히 명확하지 않았는데요. 그래서 폭약통을 추가해 더 명확한 힌트를 주었습니다. 하지만 일부 플레이어들은 퍼즐을 풀고 나서도 문이 열려 있다는 사실을 깨닫지 못해서 다른 출구를 찾아 기지 안쪽을 계속 돌아다녔죠. 그래서 저희는 원래 문제였던 부서진 문을 떠올리도록 해야 했습니다. 연기와 경보, 회전하는 불빛을 추가하니 마침내 플레이테스트에서 좋은 결과를 꾸준히 볼 수 있었죠."
N/A4015"#commentary\cn_098_metrocop_strafing.mp3" "[Doug Wood] 에어보트 레벨의 초기 디자인은 도시 경찰의 압박 속에서 좁은 기동을 해야 하는 것을 목표로 했습니다. 도시 경찰의 사선 사격 패턴은 플레이어들이 총알을 피해 빠르게 지나가도록 의도된 것이었습니다. 하지만 내부적으로 \"오버워치\"라고 불리는 검토 과정에서 반격할 수단 없이 총에 맞는 것에 좌절감을 느낀 플레이테스터가 보이더군요. 에어보트가 강력하고 막을 수 없다는 느낌을 원한다고 했습니다. 저희는 이러한 피드백을 바탕으로, 도전을 맞는 게 아닌 강력해졌다는 느낌을 주는 방향으로 초점을 다시 맞췄습니다. 공격을 피하는 것이 아닌 빠른 속도의 전투, 속도, 그리고 장벽 돌파로 전환한 것이죠."
N/A4016"#commentary\cn_100_mounted_gun.mp3" "[Jeff Lane] 이 기관총은 저수지에서의 마지막 전투에서 공격 헬리콥터를 효과적으로 상대할 수 있는 방법을 플레이어에게 훈련시키기 위해 추가되었습니다. 이 시점까지 플레이어의 무기가 헬리콥터에 통하지 않았고, 더 강력한 무기로 상대해야 한다는 것을 알려야 했기 때문에 반드시 넣어야 했죠. 플레이어가 이 순간 엄청난 압박을 받고 있었기 때문에 플레이테스트에서는 효과가 미미했는데요. 그래서 플레이어에게 실제로 피해를 주고 있다는 느낌을 주는 파티클 효과와 사운드를 개발하게 되었습니다."
N/A4017"#commentary\cn_101_357_intro.mp3" "[Josh Weier] 매그넘은 발사 속도가 느린 일반 권총과는 달리, 더욱 신중하고 계산된 방식으로 사격하여 표적에 상당한 피해를 입히도록 설계되었습니다. 이전 버전의 매그넘은 탄착군이 다소 불규칙했는데, 커다란 권총의 무게와 방아쇠 당김 민감도를 잘 살렸다고 생각했죠. 하지만 이렇게 되니 신중하게 조준하여 사격했지만 총알이 빗나가며 흥미를 쉽게 잃는 상황이 발생했습니다. 이 문제를 해결하기 위해 첫 번째 탄환은 완벽하게 명중하지만 이후 사격할 때마다 명중률이 점점 낮아지도록 조정했습니다."
N/A4018"#commentary\cn_102_helicopter_bombing_run.mp3" "[Bryan Jacobson] 에어보트를 운전하며 이동하다 맞을 수 있는 위험 요소가 또 나왔네요. 헬리콥터는 폭탄을 투하할 때 플레이어 앞에 머물려고 하며, 플레이어가 뒤로 물러나면 가만히 체공하면서 플레이어를 공격하게 됩니다. 언젠가 플레이테스트에서 파이프 이음새 사이로 폭탄이 떨어져서 꽤 영화 같은 순간을 연출한 적이 있는데요. 플레이테스터가 긍정적인 반응을 보였기 때문에 저희도 매번 이런 일이 일어나도록 연출하기로 했습니다. 저희는 이후 유기적인 개발 과정에 이 단계를 더하게 되었는데요. 플레이테스트에서 가끔 예상 밖의 멋진 일이 발생하기 때문에 이를 더 안정적으로 구현할 수 있는 방법을 찾는 것이죠."
N/A4019"#commentary\cn_103_smokestack_collapse.mp3" "[Doug Wood] 저희는 Half-Life라는 시네마틱 액션 게임을 만들면서 항상 거대하고 화려한 파괴 장면을 만들고 싶었지만, 결국 구현할 수는 없었습니다. Half-Life 2의 물리 엔진에서 상자처럼 작은 물체를 조각내는 시스템이 도입되었는데, 저희는 이걸 보고 훨씬 더 큰 규모의 파괴 장면을 만들고 싶다고 생각했습니다. 저희는 이윽고 떨어지는 굴뚝을 조각내는 실험을 시도했습니다. 대중적인 느낌을 더할 때까지 실험을 거듭한 후, 모델을 개선하고 효과를 강조하기 위해 연기와 음향 효과를 많이 추가했습니다. 마침내 거대하고 화려한 파괴 장면을 만들어낼 수 있었죠. 결국 저희 물리 엔진 덕분에 이 장면을 간신히 구현할 수 있었습니다. 요즘 기준으로는 다소 촌스럽게 보일 수도 있지만, 당시에는 정말 멋진 경험이었습니다. 시뮬레이션이 매번 매번 다르게 구현되었기 때문에, 플레이어의 이동 경로를 큰 파편으로 완전히 막지 않도록 여러 가지 조치를 취해야 했습니다. 이 장면이 성공한 덕분에 저희도 에피소드 2에서 선보일 훨씬 더 충실한 시네마틱 물리 파괴 효과에 대해 많이 기대했죠."
N/A4020"#commentary\cn_104_washing_machine_puzzle.mp3" "[David Speyrer] 저희는 개발 후반에 세탁기 물리 퍼즐을 만들었습니다. 플레이테스트에서 플레이어가 헬리콥터의 끊임없는 압박으로 인해 잠시 쉬어갈 시간이 필요하다는 것을 알게 된 후였죠. 이와 같은 페이스 조절을 통해 플레이어의 흥분을 가라앉히고 피로감이나 지루함을 덜어주어 절정의 순간을 더욱 강조할 수 있습니다. 플레이어가 헬리콥터를 정말 위협적으로 만들기 위해 쏟아부은 저희 노력에 격하게 반응한다는 것은 긍정적인 신호였지만, 헬리콥터로 인한 스트레스를 관리하지 않으면 피로가 쌓여 흥분이라기보다는 단조로움처럼 느껴지기 시작할 수 있죠. 플레이어는 원래 이 지역을 빠르게 지나갔지만, 이렇게 햇빛과 운하가 멋진 곳에서 액션을 잠시 멈추고 퍼즐을 풀면서 조용한 시간을 보내도록 하기에 좋은 장소라고 판단했습니다. 중량과 도르래를 처음으로 사용한 퍼즐 자체는 결국 게임 내 다른 곳에서 다른 물리 탐색 퍼즐을 탄생시켰습니다."
N/A4021"#commentary\cn_105_airboat_changeup.mp3" "[Jeff Lane] 플레이테스터들로부터 에어보트에서 좀 더 다양한 게임플레이를 원한다는 이야기를 들었습니다. 게임의 이 시점까지는 플레이어가 헬리콥터와 다른 적들을 상대로 반격할 수 있는 실질적인 방법이 없었기 때문에, 새로운 무기를 도입하고, 그에 따라 페이싱을 변경하고 다음에 일어날 일을 위한 무대를 마련하는 것이 옳다고 느꼈습니다. 이후 지역에서는 새 무기를 익히기 위한 사격 연습도 추가했죠. 에어건 발사체에 물리력이 추가되자 목표물을 날릴 수 있게 되었고, 덕분에 플레이어 입장에서도 압도적으로 강력하게 느껴졌습니다. 그 당시에도 헬리콥터를 상대로 전투를 플레이테스트할 때, 많은 테스터들은 여전히 무적이라고 생각했습니다. 테스터들은 앞서 콤바인 기총으로 헬리콥터에 피해를 줄 수 있다는 것을 설명하려는 저희 노력을 알아차리지 못했습니다. 이 문제를 극복하기 위해 가장 확실한 조치를 취했는데요. 총을 가져오는 터널 바로 바깥에 헬리콥터를 배치하고 총을 쏠 수 있고 사격해야 한다는 점을 분명히 했습니다. 물론 효과가 있었죠."
N/A4022"#commentary\cn_106_donkey_kong_barrel_ramp.mp3" "[Eric Smith] 배수 경사로라는 이 특정 구역은 원래 흥미로운 레벨 구조물로 시작되었습니다. 하지만 플레이테스트를 진행하면서 보니 에어보트를 경사면 위로 밀어 올리는 재미가 있었고, 그 경험을 더욱 풍부하게 만들어 줄 요소를 더 추가했습니다. 도시 경찰이 플레이어를 향해 통을 떨어뜨리는 장면도 있었는데, 이는 고전 아케이드 게임인 동키콩을 떠올리게 하는 요소였습니다."
N/A4023"#commentary\cn_107_lambda_cache_interlude.mp3" "[Danika Rogers] Half-Life는 궁극적으로는 선형적인 게임이지만, 저희는 항상 플레이어 경로를 세분화하고 레벨 규모에서 비선형성을 만들 방법을 찾고 있습니다. 좀비와 헤드크랩 매복으로 대체된 이 람다 저장소는 완전히 선택적이며, 운하를 통과하는 장면에 비선형성을 더하기 위해 만들어졌습니다."
N/A4024"#commentary\cn_108_skybox_time_of_day.mp3" "[Eric Kirchmer] 이 챕터에서는 스카이박스와 안개 색상이 점진적으로 변합니다. 이는 플레이어가 운하와 챕터를 이동하면서 시간이 흘렀음을 시각적으로 표현하기 위한 것인데요. 서로 반대 방향으로 배치된 두 개의 안개 색상 값은 태양이 비스듬히 비치는 듯한 착시 효과를 만들어냅니다. 이 시점에서 해가 지는 모습을 볼 수 있습니다. 마지막으로 헬리콥터 전투가 펼쳐지고, 스카이박스에 해가 지고 레이븐홈이 보입니다."
N/A4025"#commentary\cn_109_helicopter_megabomb_origin.mp3" "[Brian Jacobson] 메가폭탄 헬리콥터 공격은 프로그래머가 실수로 폭탄 투하 재사용 대기시간을 삭제해 헬리콥터가 수백 개의 폭탄을 한꺼번에 떨어뜨리는 버그를 기반으로 했습니다.너무 멋있어 보여서 마지막 함선 폭격 공격을 위해 계속 유지하기로 결정했죠."
N/A4026"#commentary\cn_110_helicopter_final_battle.mp3" "[Dave Riller] 저희는 이 지역을 플레이어와 콤바인 공격 헬리콥터의 최후의 결전을 위한 전장으로 설계했습니다. 클라이너의 실험실을 나와 지하로 도망간 후부터 끈질기게 쫓아오던 적을 마침내 제거할 기회죠. 이 지역은 완벽한 결과를 위해 여러 차례 수정되었습니다. 빠른 속도의 차량 전투를 위한 충분한 공간, 매끄러운 이동을 위한 충분한 공간, 그리고 안정적인 성능이 필요했죠. 또한, 전투에 적합한 시각적 명확성을 위해 강렬하지만 너무 요란하지 않은 연출을 썼으며, 헬리콥터가 파괴된 후에도 뇌리에 남는 장면을 연출하고 싶었습니다."
N/A4027"#commentary\cn_111_airboat_wreckage.mp3" "[David Speyrer] 원래는 댐을 뛰어넘는 도중 에어보트를 파괴했기 때문에, 이 레벨은 플레이어가 애지중지하던 에어보트의 잔해 속에 있는 모습으로 시작되었습니다. 팀 전체 플레이테스트에서 다들 오랜 시간을 함께했던 에어보트를 잃어서 실망했는데요. 내부에서도 그 상실감이 과연 가치 있는 경험인지에 대해 뜨겁게 논쟁했습니다. 결국 플레이어가 언젠가 에어보트를 다시 탈 수 있도록 에어보트를 그대로 두기로 결정했습니다. 전설에 따르면 에어보트가 아직도 플레이어를 기다리고 있다고 하네요."
N/A4028"#commentary\cn_112_arena_exit_gate.mp3" "[Quintin Doroquez] 플레이어가 앞으로 나아가기 전에 헬리콥터를 물리치게 하려고 출구 게이트를 높이는 휠 메커니즘이 특별히 추가되었습니다. 우리는 흔히 이런 요소를 플레이어를 '게이팅'한다고 하는데요. 즉, 필요한 작업을 완료할 때까지 디자인 요소를 사용해 진행을 방해하는 것이죠. 여긴 아예 문으로 막아 놨고 말입니다."
N/A4029"#commentary\cn_113_blocking_tutorials.mp3" "[Adrian Finol] 때때로 우리는 플레이어가 무언가를 배웠는지 확인해야 합니다. 적어도 인생이 아니라 게임 개발에서는 보통 플레이어가 지식을 증명해야 열 수 있는 일종의 문 뒤에 가두곤 하죠. 저희는 이런 문을 자연스러운 것으로 위장해서 게임이 멈춘 것 같은 느낌이 들지 않도록 하려고 했습니다. 물론 시간이나 자원이나 환경적 상황 자체가 이를 어렵게 만들 수 있는데요. 이 경우에는 플레이어에게 물건을 옮기는 방법을 가르쳐야 했기 때문에 간단한 스태킹 퍼즐이 넣는 방법이 최선이었습니다. 좀 더 복잡한 디자인을 테스트했지만 결국 플레이어가 배워야 할 실제 내용을 가르치는 데 효율성이 떨어졌죠."
N/A4030"#commentary\cn_114_natural_storytelling.mp3" "[Bill Van Buren] 기차역 전반에 걸쳐 세계 구축과 스토리텔링 목표를 달성하려면 너무 '게임처럼' 느껴지거나 튜토리얼이 필요 없는 자연스러운 대화를 전달할 수 있는 방법이 필요했습니다. 플레이어가 NPC에게 다가가서 자세히 살펴보는 경향이 있다는 것을 알게 되었고, 그래서 이를 NPC들이 플레이어를 인지하고 대사를 전달할 수 있는 기회로 삼았습니다. 이로 인해 상호작용이 단순하게 유지되었는데, 마침 시민들의 활기가 넘치거나 활기가 넘치지 않았기에 필수적이었습니다. 이 접근법의 단순성은 Half-Life의 핵심 스토리텔링 목표 중 하나인 플레이어의 관심에 반응하는 내러티브를 만드는 것과도 일맥상통했습니다. 어떤 플레이어는 세세한 내용까지 파헤치고 싶어하는 반면, 다른 플레이어는 다음에 무엇을 해야 할지 알고 싶어하기도 합하죠. 저희는 Half-Life에서 게임의 진행을 방해하지 않으면서 플레이어가 플레이하는 스토리를 제어하려고 합니다. 또한 구현이 덜 복잡한 기능일수록 더 많이 포함할 수 있죠."
N/A4031"#commentary\cn_115_trainstation.mp3" "[Charlie Brown] Half-Life 게임의 초반부는 항상 플레이어에게 새로운 세계를 소개하는 동시에 상호 작용을 하는 방법을 가르쳐야 하기에 중요한데요. 플레이어는 무슨 일이 일어나고 있는지, 주요 캐릭터가 누구인지, 어떤 위협에 직면하게 될지, 그리고 이들이 모든 상황에 어떻게 어우러지는지 빠르게 파악해야 합니다. 무엇보다 재미와 몰입감을 최대로 선사해야겠죠. 이 문제를 해결하려면 많은 반복 작업과 플레이테스트가 필요합니다. 특히 게임의 큰 그림을 구성하는 작은 순간에는 더욱 그렇습니다. 이 섹션에서는 몇 가지 주요 순간과 게임 디자인 문제와 계획대로 진행되지 않았던 몇 가지 플레이테스트에 대해 알아보겠습니다."
N/A4032"#commentary\cn_116_physics_objects.mp3" "[David Sawyer] 지금은 기억하기 힘들겠지만, Half-Life 2가 나왔을 당시에는 이 쓰레기 같은 게임 속 작은 물체는 대개 정적이었습니다. 즉, 실제로 움직이지 않았거나, 움직였다 하더라도 매우 단순한 형태였죠. 운이 좋으면 부딪히면 스프라이트로 흩어질 수도 있었습니다. 이 초기 기차역 섹션의 목표 중 하나는 Half-Life 2에서 적절하면서 물리적으로 실제로 구현된다는 걸 플레이어에게 확실히 보여주는 것이었습니다. 집어 들거나, 떨어뜨리거나, 던지거나, 부수거나, 다른 힘에 의해 움직이는 등 무엇이든 할 수 있다는 것을 말이죠. 여기서는 기차가 도착할 때 사소하게 쓰레기가 날아가는 것을 보여주는 것부터 시작합니다. 더 구체적으로 말하면, 보이지는 않지만 플레이어가 기차에서 내리면 작동하는 볼륨도 있습니다."
N/A4033"#commentary\cn_117_blocking_tutorials_3.mp3" "[Eric Smith] 이 튜토리얼 공간에서 두 번째로 실패한 것은 잘못 가르친 사례, 즉 의도치 않은 것을 실수로 플레이어에게 가르쳐버린 경우입니다. 이는 광범위한 플레이 테스트 없이는 피하기 어려울 수 있는데요. 왜냐하면 게임은 개발자가 의도하지 않아도 항상 가르쳐주기 때문입니다. 나중에 기차역에서 이에 대한 좀 더 극단적인 예를 다루도록 하겠습니다. 플레이어가 무기를 사용하거나 게임의 일반적인 요소와 상호작용 하는 방법을 잘못 알게 된 경우와 같이 잘못 가르친 경우는 반드시 고쳐야 합니다. 하지만 이건 좀 더 미묘했죠. 플레이어에게 물체를 움직이는 법을 가르치는 동시에 물리 물체를 쌓아 공간을 탈출하는 방법도 가르쳤으니까요. 보통은 괜찮습니다만, 퍼즐이 나중에는 나오지도 않는 데다 관련 없는 것을 가르치면 정신만 복잡해지고 나중에 유용한 것을 쉽게 기억하기 어려워지죠. 설상가상으로 플레이 공간을 벗어나기 위해 물건을 쌓아두는 것은 나중에 문제가 되었고, 이를 여러 영역에서 적극적으로 방지해야 했습니다. 게임에는 물리 기반 오브젝트가 너무 많기 때문에 천장을 어디에나 두지 않고 이러한 동작을 차단하는 방법을 쓸 수는 없었죠. 결국 저희는 플레이어들이 이 초반 학습 부분에 신경을 많이 쓰지 않길 바랐고, 플레이테스트에서 나중에 플레이어의 진행이 막혔을 때 그 점을 떠올리지 않도록 했습니다."
N/A4034"#commentary\cn_118_welcome.mp3" "[Gabe Newell] 저는 Gabe Newell이고 Half-Life 2에 다시 오신 것을 환영합니다. 출시된 지 무려 20년이 지났습니다. 이 기념 업데이트에서 저희는 커뮤니티의 요청을 최대한 많이 반영하려고 노력했습니다. 팬 여러분께서 가장 많이 요청하신 사항은 아니었지만, 많은 분들이 해설 모드를 원한다는 말씀을 자주 들었기에 마침내 그 기능을 추가하게 되어 기쁩니다. Half-Life 2 개발의 많은 세부 사항을 기억하는 것도 어려웠지만, 10년 된 컴퓨터 코드를 열어보고 당시에 무슨 생각을 했는지 궁금해하는 것도 쉽지 않았습니다. 개발자 해설과 함께 오래된 버그도 정리하고 처음보다 더 나은 상태로 유지하려고 노력했습니다. 그리고 이번에는 적어도 결과가 어떻게 되었는지 알 수 있다는 점이 큰 위안이 되네요. 해설 노드를 들으려면 떠 있는 해설 기호 위에 조준선을 놓고 사용 키를 누르세요. 해설 노드를 멈추려면 회전하는 노드 위에 십자선을 맞추고 사용 키를 다시 누르세요. 그리고 어떻게 생각하시는지 알려주세요. gaben@valvesoftware.com으로 연락 주시면 됩니다. 감사합니다. 즐거운 시간 보내세요!"
N/A4035"#commentary\cn_119_metrocop_shoving_citizens.mp3" "[Josh Weier] 아직 몇 걸음밖에 안 걷지 않았는데 이미 해결해야 할 문제가 있습니다. 플레이어가 나중에 상대하게 될 적인 도시 경찰을 소개하면서 게임 속 세상을 엿볼 수 있게 하는 것이죠. 도시 경찰과 시민, 나아가 플레이어의 관계를 간단하고 명확하게 보여주는 순간입니다. 동시에, NPC가 세상의 사물과 자연스럽게 상호 작용하는 방식을 보여줌으로써 핵심 물리 시뮬레이션이 있음을 강조하려 했습니다. 가방끼리 부딪쳐 떨어지는 장면은 당시로서는 매우 새로운 경험이었죠. 여러 목표를 결합한 기차역에서의 순간이 가장 성공적이었습니다. 게임이 교훈을 주기 위해 멈추는 것이 아닌, 자연스럽게 움직이는 느낌을 준 것입니다."
N/A4036"#commentary\cn_120_fall_damage.mp3" "[Kerry Davis] 플레이어에게 행동 방법을 가르치는 것은 게임에서 반드시 해야 할 일입니다. 하지만 자신감 있는 결정을 내리려면 좀 더 미묘한 규칙도 이해해야 하는데요. 이 짧은 순간은 그중 두 가지를 다루고 있습니다. 우선 플레이어가 낙상을 입지 않고 떨어질 수 있는 높이가 있고요. 둘째로 게임의 '어휘', 즉 게임이 플레이어와 소통하는 방식이 조금 소개되고 있습니다. 플레이어들은 낙상을 입을까 봐 걱정하기도 하지만 뒤로 물러설 수 없는 발걸음을 내디딜까 걱정하기도 합니다. 그래서 여기서는 떨어지는 편이 안전하기도 하고, 또 떨어져야 진행이 된다는 의미로 밑에 상자를 뒀습니다. 또 상자가 부서지면 물리 시뮬레이션이 강조되기 때문에 플레이어는 큰 물체도 부서질 수 있다는 것을 처음 보게 될 것입니다."
N/A4037"#commentary\cn_121_sweeping_vortigaunt.mp3" "[Laura Dubuk] 스토리텔링의 또 다른 중요한 순간이자 물리 시스템이 잘 드러난 사례로군요. 보르티곤트가 이 새로운 세계에 어떻게 등장하는지 보여주는데, Half-Life 1에서 적으로 나왔던 것과는 다르죠. 기차역의 수많은 순간처럼, 캐릭터가 물리 시스템과 자연스럽게 상호작용 하는 모습을 끊임없이 탐구한 결과로 보르티곤트가 바닥을 쓰는 모습이 탄생한 겁니다. 굳이 이제 적이 아니라고 말할 필요 없이, 바닥을 쓸고 시뮬레이션 된 물체들을 떨어뜨리는 모습만 보여줘도 되는 것이죠. 가만히 청소하는 친구를 쏠 플레이어는 없을 테니까 말입니다."
N/A4038"#commentary\cn_122_blocking_tutorials_2.mp3" "[Robin Walker] 이 튜토리얼에는 주목할 만한 두 가지 문제점이 있는데요. 우선, 플레이어는 모든 상자를 창밖으로 던져서 게임을 망칠 수 있는데, 이는 분명 좋지 않습니다. 이렇게 되면 꼼짝 못 하고 게임 자체를 진행할 수 없어 수정이 필요한 버그가 발생하죠. 상자가 아닌 플레이어가 통과할 수 있도록 창이나 상자 크기를 조정하면 깔끔하게 해결할 수 있는데요. 문제는 출시를 앞둔 개발 후반에서야 이 방법을 알아냈고, 이런 간단한 변경으로도 게임을 진행할 수 없는 문제가 또 발생할 수 있다는 것이죠. 또 이 문제는 순전히 이론적이었고, 플레이테스터가 실제로 상자를 다 던진 적은 없었습니다. 이 디자인 공간에 대한 플레이테스트는 순조롭게 진행되었고, 플레이어는 필요한 것을 배우고 계속 진행했습니다. 게임 후반에 방의 디자인을 변경했다면 오히려 예상하지 못한 문제가 발생해 실패했겠지요. 그래서 결국 거창한 방법이 아닌, 간단한 방법으로 문제를 해결했습니다. 궁금하다면 상자를 모두 창밖으로 던져보고 무슨 일이 일어나는지 살펴보세요."
N/A4039"#commentary\cn_123_playground.mp3" "[Brian Jacobson] 놀이터를 활용하면 도시 환경을 중심으로 물리 시뮬레이션을 자연스럽게 강조할 수 있을 것 같다는 이야기가 나왔는데요. 브린 박사의 이야기를 유심히 들었다면 인류가 콤바인에 항복하면서 치러야 했던 대가를 떠올릴 수도 있을 겁니다. 재미있는 물리 효과를 가진 놀이터 구조물 몇 개를 골라 튜닝을 시작했습니다. 당시 기준으로 첨단 물리 시뮬레이션을 사용했지만, 항상 수동 튜닝이 필요했는데요. 완전히 시뮬레이션 된 객체가 플레이어나 정적 세계 지오메트리처럼 약간 또는 아예 시뮬레이션 되지 않은 객체와 상호 작용 해야 했기 때문입니다. 시뮬레이션이 구현 작업의 많은 부담을 감당할 수 있다고 생각하기 쉽지만, 20년이 지난 지금도 그런 경우는 드뭅니다. 개발 후반 놀이터를 제작하면서 미끄럼틀의 마찰력을 제대로 조절할 수 없어 플레이어가 아예 올라갈 수 없도록 사다리를 부쉈죠. 하지만 아직 사다리 바로 앞까지 걸어갈 수는 있습니다. 결국 웃는 건 언제나 플레이어죠."
N/A4040"#commentary\cn_124_pick_up_that_can.mp3" "[Charlie Brown] 튜토리얼의 맥락을 살피고 그 상황이 벌어지는 스토리 시나리오를 만들면 설명을 위해 게임을 멈추는 차원을 넘을 수 있습니다. 튜토리얼에 서사를 더할 수 있는 것인데요. 여기서는 물체 던지기 튜토리얼과 반응을 선택할 수 있는 내러티브 설정이 결합하여 등장합니다. 도시 경찰이가 시민들을 아무렇지도 않게 학대하는 모습을 지켜본 후, 플레이어를 비슷한 위치에 놓는 것이 옳다고 느꼈습니다. 시민에게서 기대한 반응을 직접 나타낼 수 있는 것이죠. 플레이테스트에서 대부분의 플레이어가 캔을 집어 올리라는 요청을 수락하거나 거절했지만, 그 상황을 아예 피하려는 플레이어도 있었죠. 처음에는 순응하다가 굴욕감을 느끼면 보복하는 사람도 있었습니다. 플레이어의 행동과 공간 자체 측면에서 상대적으로 제한된 순간을 유지함으로써 저희도 플레이어의 웬만한 선택에 적절하게 반응할 수 있었습니다."
N/A4041"#commentary\cn_125_promises.mp3" "[Danika Rogers] Half-Life 게임 초반에 저희의 목표 중 하나는 플레이어에게 앞으로 벌어질 일을 예상할 수 있도록 암시하는 것인데요. 비디오 게임도 영화부터 TV 프로그램, 책 같은 훌륭한 엔터테인먼트와 마찬가지로 어떻게든 이런 장치가 있죠. Half-Life 게임에서는 다양한 형태의 암시가 등장합니다. 흥미로운 것을 살짝 엿볼 수 있게 해주는 것 같은 간단한 암시도 있고, 도시 경찰과의 상호 작용처럼 좀 더 복잡한 암시도 있습니다. 플레이어를 무력한 위치에 놓음으로써 플레이어가 이후 마침내 통쾌하게 복수한다는 암시를 주기도 했죠."
N/A4042"#commentary\cn_126_exploration.mp3" "[David Sawyer] 저희는 도시 경찰에 의해 기차역으로 몰린 플레이어에게 탐험할 기회를 주고 싶었습니다. 이 광장에서는 다양한 방법으로 시민이나 도시 경찰, 스캐너, 도시 인프라와 상호작용 할 수 있는데요. 저희는 명확한 튜토리얼 없이도 상호작용을 통해 계속해서 세계관을 만들 수 있도록 하는 것을 목표로 삼았고, 실제 교육 없이도 자연스럽게 작동할 때까지 개선했습니다."
N/A4043"#commentary\cn_127_early_game_exploration.mp3" "[David Speyrer] 이 광장까지 오는 동안 경로가 워낙 명확하고 간단해서 굳이 신경 쓸 필요가 없었을 텐데요. 하지만 여기서는 탐험을 장려하고 싶어서 진행 방향을 모호하게 만들었습니다. 예상하셨겠지만 길을, 아니, 방향감각을 잃어버릴 수 있게 되죠. 특히 플레이어가 아직 게임의 안내 신호를 익히고 있는 게임 초반에 이런 변화를 주면 더욱 어렵게 느껴질 수 있습니다. 여기에서는 NPC 시민은 지나갈 수 있지만 플레이어는 못 지나가는 강제 필드 체크포인트 때문에 더욱 복잡해져서 많은 플레이테스터 우회할 방법을 찾고 싶어 했는데요. 결국 광범위한 테스트를 통해 조명과 레이아웃과 나무 상자로 앞 골목의 적절한 노출 정도를 찾을 수 있었습니다. 여기서 나무 상자는 플레이어가 제대로 가고 있다는 표시이자 은근한 힌트이기도 했죠."
N/A4044"#commentary\cn_128_strider.mp3" "[Doug Wood] 이 단순한 순간은 게임 후반부에서 이 거대한 존재를 마주하게 될 것을 암시하는데요. 이처럼 단순한 장면조차도 플레이어의 통제력을 빼앗지 않는다는 Half-Life의 목표 때문에 플레이테스트를 많이 반복해야 합니다. 짐작하시겠지만, 최대한 많은 플레이어가 적절한 시점에 적절한 곳을 바라보도록 하려면 많은 세부 조정이 필요합니다. 거리의 레이아웃과 도시 경찰 장면은 모두 플레이어의 시선을 유도하도록 설정되어 스트라이더가 등장하기에 완벽한 구도를 형성합니다."
N/A4045"#commentary\cn_129_physics_simulation.mp3" "[Jay Stelley] Half-Life 2는 처음에 기능적인 타사 물리 시뮬레이션을 사용했지만, 이 시뮬레이션을 게임에 적용하기 전에 디자이너들의 야망을 충족시킬 때까지 몇 년을 들여서 추가 작업을 거쳤습니다. 출시 가능한 수준의 품질과 성능을 유지하는 것이 그 과정에서 어려운 일이라는 것을 알고 있었지만, 실제로 무엇을, 어느 정도까지 구현해야 하는지를 파악하는 것이 더욱 까다로웠죠. 모든 것을 구현할 수는 없고, 가능하다고 해도 오히려 구현하지 않는 편이 게임 디자인상 더 나은 이유도 있었거든요. 대부분은 플레이어의 경험을 개선하기 위해 의도적으로 시뮬레이션을 조정합니다. 하지만 플레이어의 의도와 일치하기 때문에 보통 눈에 띄지 않죠. 예를 들어 플레이어와 큰 오브젝트 간의 충돌을 비활성화하여 좁은 공간에서 회전할 수 있도록 했습니다. 또 콤바인 라이플의 보조 발사를 조정하여 콤바인 볼을 적 쪽으로 부드럽게 유도하여 더 효과적으로 사용할 수 있도록 했죠."
N/A4046"#commentary\cn_130_physics_simulation_2.mp3" "[Jeff Lane] 게임 디자인이나 기타 제약이 물리 시뮬레이션에 영향을 미치는 영역에서는 시뮬레이션이 끊어지지 않도록 추가 조정이 필요한 경우가 많았습니다. 예를 들어, 개발 초기에는 플레이어 개체에 대한 시뮬레이션을 늘리는 실험을 해보았는데요. 즉, 월드의 물리 시뮬레이션에 플레이어의 움직임을 훨씬 더 많이 포함하는 것이죠. 이렇게 하면 덜 정교하게 움직이는 것처럼 느껴질 수 있다는 것을 알았지만, 그만큼 독특한 경험을 선사하고 싶었습니다. 하지만 덜 구현된 버전에 맞게 움직임을 조정하니 한 가지 큰 문제가 생겼는데요. 플레이어가 평소 속도로 움직이는 데 필요한 물리력이 너무 커서 다른 구현 오브젝트와 충돌하면 그 충격으로 사망할 수 있다는 것이었습니다. 여러 번 해결책을 찾아 봤지만 결국 마음에 드는 해결책을 찾지 못했고, 결국 덜 구현된 움직임으로 돌아갔습니다. 하지만 그렇다고 더 쉬운 것도 아니었는데요. 플레이어와 오브젝트의 구현 수준이 다르다 보니, 서로 상호 작용하는 방식에 새 문제가 생겼습니다. 하지만 저희가 구현하고 싶던 조작감을 정확하게 선사할 수 있었죠."
N/A4047"#commentary\cn_131_playtesting.mp3" "[John Morello] 플레이테스트는 게임 제작의 핵심입니다. 플레이어가 어떻게 반응할지, 우리가 만든 것에서 무엇을 얻을지 완벽하게 예측할 수 없기 때문이죠. 그래서 저희는 개선할 점을 익히기 위해 테스트를 거치는 겁니다. 플레이테스트 중에는 플레이어가 막혔을 때도 귀띔을 전혀 하지 않는데, 어차피 게임이 출시되면 플레이어 곁을 지킬 일이 없기 때문입니다. 테스터가 플레이테스트 중이라는 사실을 완전히 잊고 집에서처럼 플레이하도록 하는 것이 목표입니다. 방해가 발생하면 데이터가 왜곡될 수 있으니, 진행을 방해하는 버그가 있거나 드물게 너무 혼란스럽게 행동하는 플레이어의 생각을 물어봐야 하는 경우에만 개입하게 됩니다."
N/A4048"#commentary\cn_132_playtesting_anecdote_1.mp3" "[Matt Boone] 플레이어의 생각이나 경험에서 얻은 교훈이 무엇인지 결코 확신할 수 없다는 것을 떠올리게 한 플레이테스트가 생각나네요. 게임 초반에서 문을 열려다 막힌 테스터가 있었는데, 키보드 설정을 몇 번이고 켰는데요. 무엇을 찾고 있냐고 물으니, 그분이 방금 얻은 아이템으로 문을 열 수 있다 생각하여 인벤토리 컨트롤을 찾고 있다고 답하더군요. 그 테스터는 오브젝트를 수집하고 떨어뜨렸지만, 게임의 진행 방식을 오해하고 있었습니다. 오브젝트를 누른 상태에서 사용 키를 누르면 아이템이 바로 아래로 떨어지면서 인벤토리로 이동한다고 믿은 것인데요. 저희는 중력 때문이라는 것을 알았지만, 그분의 생각도 이해할 수 있었습니다. 당시 일부 어드벤처 게임에서는 그런 식으로 아이템을 보이지 않는 인벤토리로 밀어 넣었거든요. 저희는 게임에 인벤토리가 없다고 설명한 후 테스트를 계속했습니다. 나중에 이 문제를 해결해야 할지 고민했지만, 다른 플레이테스터들은 같은 혼란을 겪지 않았고, 저희 해결책도 필요 이상으로 강경했기 때문에, 건드리지 않아도 괜찮다고 판단했습니다. 하지만 이 사건을 통해 아무리 미묘하고 간과하기 쉬운 세부 사항이라도 플레이어를 현혹할 수 있다는 것을 다시 한번 깨닫게 되었죠."
N/A4049"#commentary\cn_133_cratebaby.mp3" "[Scott Dalton ] 이 작은 아기 인형은 긴 역사가 있습니다. 저희는 몇 달 동안 내부 테스트를 하면서 일종의 도전을 고안했는데요. 47회차 플레이를 더 재미있게 하고 싶었거든요. 인형을 근처의 파란 상자에 넣고 게임 내내 얼마나 멀리 가지고 다닐 수 있는지 보았습니다. Half-Life 2가 출시된 후 커뮤니티도 각자 스토리와 규칙을 가지고 cratebaby를 가지고 다니기 시작했고 말이죠. 여기서 영감을 얻어 몇 년 후 에피소드 2를 작업하는 동안 에피소드 전체에서 '노움 촘스키'라는 정원 노움을 가지고 다녀야 하는 '작은 로켓맨' 업적을 만들었지요. 촘스키는Left 4 Dead 2의 '노움 보호' 업적에서 다시 등장하는데, 암흑 축제 캠페인을 클리어하는 동안 노움을 들고 다니는 업적 말이죠. 게임 개발자 입장에서 플레이어와 이렇게 상호 작용하면 보람을 느낀답니다. 저희는 이론을 염두에 두고 게임을 디자인하지만, 플레이어가 게임을 직접 플레이하기 전까지는 상황이 어떻게 전개될지 전혀 알 수 없으니까요."
N/A4050"#commentary\cn_134_the_citadel.mp3" "[Eric Kirchmer] 저희는 플레이어가 17번 지구를 처음으로 볼 때 지배력을 가진 요새의 강조하고 싶었습니다. 콤바인이 인류를 완전히 장악했다는 것을 보여주기 위해서였죠. 또한 출발점에서부터 여정의 끝을 보여주며 목표를 확실하게 제시하고 싶었습니다. 하지만 플레이테스터들이 거대한 요새를 놓치는 경우가 많았습니다. 컴퓨터 모니터에서는 원근감이나 크기를 재현하기 까다로운데요. VR로 게임을 해본 적이 있다면 규모가 더 자연스럽게 느껴졌을 겁니다. 어쨌든, 이 경우에는 플레이어 위에 요새가 있는 위치도 도움이 되지 않았는데, FPS 게임은 플레이어가 정면이나 발아래에 집중하도록 유도하기 때문일 수 있습니다. 플레이어가 요새를 볼 확률을 높이기 위해 새가 그쪽으로 날아가도록 했습니다. 이렇게 플레이어의 시야를 넓힐 수 있는 요령을 발견하게 되었죠."
N/A4051"#commentary\cn_135_close_captions.mp3" "[Yahn Bernier] Half-Life 2 개발 중에 Half-Life 1을 넘어선 자막 시스템보다 접근성을 강화하자는 의견이 있었습니다. 대사뿐만 아니라 모든 게임 사운드를 완전히 캡처할 수 있는 폐쇄 자막 시스템을 요청했죠. 이는 예상보다 훨씬 어려웠는데요. Half-Life 2는 사운드가 다양했기 때문에 자막을 만들기 전에 분류부터 해야 했습니다. 우선순위 지정도 중요했는데요. 대사는 눈에 띄어야 했고 화자를 명시해야 했죠. 먼 곳에서 벌어지는 전투와 같은 배경음은 일부 레벨의 분위기를 만드는 데 중요했지만, 근처에서 적이 총을 쏘는 경우에는 그렇지 않았습니다. 레벨 디자이너는 종종 다른 맥락에서 사운드를 재사용했기 때문에, 한 영역에서는 자막이 필요하지만 다른 영역에서는 필요하지 않은 경우가 있었습니다. 결국 게임의 모든 사운드는 HTML의 축소판 같은 자체 자막 데이터를 갖게 되어 각자의 시각적 스타일을 제어할 수 있었습니다. 자막 데이터도 오디오 파일처럼 메모리에 보관하기에는 너무 컸기에, 이를 효율적으로 처리하기 위해 비동기 캐싱 시스템을 구축했습니다."
N/A4052"#commentary\cn_136_the_raid.mp3" "[David Sawyer] 플레이어가 안에 있는 동안 도시 경찰이 아파트를 습격하는 앞 구간은 제대로 하기 위해 많은 반복이 필요했습니다. 사람들은 다양한 방식으로 게임을 진행하기 때문에 일반적으로 Half-Life는 플레이어가 스스로 속도를 조절할 수 있도록 디자인합니다. 위협적으로 보이지 않는 것은 무시하고 달리는 플레이어도 있고, 조직적으로 모두 찔러 보는 플레이어도 있습니다. 따라서 특정 페이스를 강요해야 할 때마다 플레이어가 그 속도를 인지하고 자연스럽게 따라 플레이하도록 하는 것은 항상 어려운 일입니다. 이번이 처음이기 때문에 플레이어에게 빠르게 움직여야 한다는 점을 분명히 하기 위해 많은 노력을 기울여야 했고, 여기서는 탐색할 시간이 없습니다."
N/A4053"#commentary\cn_137_materials_and_shaders.mp3" "[ Gary McTaggart ] Half-Life 2는 3D 그래픽에서 텍스처에서 소재와 셰이더로 산업이 옮겨가는 중요한 전환기에 출시되었습니다. Half-Life 1에서는 모든 표면에 텍스처가 있었습니다. 기본적으로 표면의 폴리곤에 래핑된 이미지였습니다. 하지만 불과 5년 후인 Half-Life 2에서는 모든 표면에 소재와 셰이더가 모두 있었습니다. 셰이더는 표면이 렌더링되는 방식을 사용자 지정하는 코드 덩어리였죠. 소재는 표면이 물리적으로 어떻게 동작하고 게임 플레이 기능에 어떻게 반응하는지에 대한 속성을 정의했습니다. 또한 셰이더가 렌더링에 사용할 텍스처 및 기타 매개변수에 대한 참조도 포함했습니다. 결과적으로 아티스트와 디자이너는 사물의 모양과 동작을 훨씬 더 많이 제어할 수 있었습니다. 그러나 여기에는 단점이 있었는데요. Half-Life 1은 CPU만 있는 컴퓨터에서 실행할 수 있었지만 Half-Life 2에는 소재와 셰이더에 필요한 계산이 GPU 하드웨어에 맞게 특별히 설계되었기 때문에 GPU가 필요했습니다. 여기의 굴절 유리문은 맞춤 셰이더의 명확한 예이지만, 장면의 모든 표면은 실제로 모두 셰이더를 실행하고 있는 것이죠."
N/A4054"#commentary\cn_138_the_raid_2.mp3" "[Miles Estes] 플레이어가 전진하도록 압박감을 느끼게 하는 것 외에도, 습격 자체도 실수가 없도록 해야 했습니다. 플레이어가 습격대를 피하거나 도시 경찰을 지나쳐 돌아갈 방법을 없애야 했죠. 진짜 문제는 플레이어가 장면을 깨려고 하는 것이 아니라, 많은 플레이어가 처음 받는 위협에 당황하여 아무 방향으로나 달려가는 것이었습니다. 이 순간에는 섬세한 균형이 필요합니다. 실감 나는 위험과 심장이 쫄깃한 긴장감을 놓치지 않으면서, 힘겹지만 한 번 만에 탈출할 수 있도록 해야 했죠. 이를 위해 앞의 길을 막지 않았고, 이전 층을 통과했던 길을 연상시켰습니다. 앞뒤에 나타나는 위협을 제어하여 압박감을 유지하면서도 플레이어가 추적자보다 앞서 나갈 수 있는 충분한 시간을 제공하도록 트리거를 신중하게 배치했지요."
N/A4055"#commentary\cn_139_health_and_no_hud.mp3" "[Dave Riller] 옥상 추격 장면은 디자인하기 까다로웠는데요. 게임플레이에 걸림돌이 되지 않게, 플레이어가 한 번에 통과할 수 있도록 만들고 싶었습니다. 하지만 플레이어가 가만히 있지 않도록 적당한 위기감도 주고 싶었습니다. 문제는 HEV 슈트가 없으면 플레이어가 HUD를 사용할 수 없어, 피해량이나 남은 체력을 표시할 방법이 없었다는 것인데요. 몇 가지 실험을 거친 후, 화면 테두리에 붉은색 빛으로 피해를 표시하는 체력 시스템을 개발했습니다. 플레이어들은 저희 기대대로 이에 반응하며 계속 움직였고, 추격전은 의도한 대로 전개되었습니다. 마지막으로 빛이 금방 꺼지도록 체력을 빠르게 재생했지요. 이렇게 플레이어가 달리도록 유도하고, 초반에 머뭇거리거나 망설였다는 이유만으로 마지막에 유탄에 맞아 사망하는 일이 없도록 했습니다."
N/A4056"#commentary\cn_140_playtesting_anecdote_2.mp3" "[Jakob Jungels] 다음 섹션에서는 플레이어가 쓰러진 후 알릭스가 구출할 수 있도록 연출해야 했습니다. 시간과 자원이 제한되어 전투를 최대한 단순화했는데요. 기존 시스템을 재활용하고 일반 전투 시퀀스처럼 진행되도록 했으며, 플레이어가 '죽었을' 때 맞춤 이벤트가 발생하도록 했습니다. 몇 차례의 플레이테스트를 거쳐 타이밍을 조정한 후 다음 단계로 넘어갔습니다. 하지만 출시가 가까워졌을 때, 한 플레이테스터가 계속해서 빠른 저장을 한 뒤 실패했다고 생각될 때마다 바로 빠른 불러오기를 하는 문제가 발생했습니다. 도시 경찰에게 맞았을 때 알릭스가 개입하기 전에 빠른 불러오기를 열 번 이상 반복했고, 결국 저희가 멈춰 달라고 부탁했죠. 개발 단계의 마지막 버그 수정 단계에서는 게임에 심각한 영향을 미치는 문제만 수정해야 했습니다. 사소한 조정도 중요한 문제를 일으킬 수 있으니까요. 대부분의 플레이테스터가 이 문제를 겪지 않았기 때문에 이런 예외적인 상황은 드물다는 것을 알고 보수적인 수정 몇 개만 적용했습니다. 넉다운과 알릭스의 첫 대사 사이의 지연 시간을 단축하고, 페이드아웃 색상을 검은색 대신 흰색으로 변경했습니다. 플레이어가 검은색을 죽음과 연관시킬 만큼 충분히 죽지 않아 결국 그다지 효과적이지 않았지만요. 장면이 재생되는 몇 초 동안 빠른 불러오기를 막는 것도 고려했지만, 이렇게 하면 빠른 불어오기가 영구적으로 꺼지는 버그가 발생할 수 있다는 점이 우려되었습니다."
N/A4057"#commentary\cn_141_character_reactions.mp3" "[Ariel Diaz] 캐릭터가 어떤 것에 어떻게 반응해야 할지 파악하는 것은 끊임없는 도전이었습니다. 핵심은 게임이 항상 플레이어의 입력에 반응하도록 하는 것입니다. 하지만 게임의 모든 반응은 플레이어에게 보상으로 받아들여질 수 있죠. 따라서 캐릭터가 어떤 것에 반응하고 무엇을 무시하는지를 통해 플레이어는 게임이 어떤 종류의 입력을 기대하는지 알 수 있습니다. 결과적으로 연구실에서 장치를 조작하는 것처럼 더 많이 반응하기를 바라는 것에는 반응하고, 클라이너의 얼굴을 상자로 계속 때리는 것처럼 덜 반응하기를 바라는 행동은 무시했습니다. 농담이 아니라 5분 동안 쉬지 않고 때리는 테스터가 있었어요."
N/A4058"#commentary\cn_142_choreography.mp3" "[Bill Fletcher] Half-Life 2의 스토리텔링을 전달하기 위해 내부적으로는 안무의 줄임말인 Choreo라고 불린 시스템을 구축하고 반복 작업했습니다. 처음에는 대본을 모르는 배우가 있는 상태에서 연극을 쓰고 있다고 상상하는 것이 유용하더군요. 나머지 배우들을 제어하고, 무대 주위를 움직이고, 연기를 전달하고, 대사를 말할 수 있는 시스템이 필요했습니다. 이 문제를 해결하려면 다른 배우들이 감독의 명령과 플레이어의 위치와 행동에 대한 역동적인 반응을 매끄럽게 조합해야 했습니다. 플레이어가 무엇을 하느냐에 따라 장면의 어느 부분에서든 길이를 늘이거나, 축소하거나, 심지어 일시 중지해야 할 수도 있기 때문에 타이밍이 중요한 문제가 될 것이 분명했습니다."
N/A4059"#commentary\cn_143_phoneme_extraction.mp3" "[Bill Fletcher] FacePoser에 Phoneme Editor라는 중요한 도구가 내장되어 있었는데요. 성우의 대사를 처리하고 음소를 추출하여 캐릭터의 기본적인 립싱크 애니메이션을 생성하는 도구였죠. 주인공의 경우, 애니메이터들은 이를 기반으로 각 대사에 대한 고품질의 맞춤형 애니메이션을 제작하고 얼굴 전체 애니메이션을 통합했습니다. 하지만 역동적인 Choreo 장면에서는 애니메이터들이 배우의 나머지 신체가 어떻게 움직이는지 정확히 알 수 없었습니다. 따라서 FacePoser에서 Choreo 명령과 타이밍을 신중하게 레이어링하는 동시에 배우가 플레이어에게 동적으로 반응하는 능력을 유지해야 했습니다."
N/A4060"#commentary\cn_144_delivery.mp3" "[Ken Birdwell] 주요 Choreo 장면에서 정보와 유대감의 적절한 균형을 맞추기 위해 작업과 플레이테스트를 많이 반복했습니다. 장면마다 플레이어에게 많은 정보를 전달해야 했지만, 단순히 폭로만 내뱉는 캐릭터를 등장시킬 수는 없었죠. 그렇게 하면 인물이 아닌 이정표로 여길 테니까 말입니다. 시간을 들여 캐릭터들이 서로 소통하여 플레이어가 관계를 관찰할 수 있도록 해야 했습니다. 그와 동시에, 플레이어가 자리를 비운 사이 일어난 모든 일을 이해할 수 있도록 세계를 확장해야 했습니다. 이 모든 작업은 빠르면서도 신중하게 진행해야 했습니다. 서사에 덜 몰두하는 플레이어들도 게임을 즐기도록 해야 했으니까요. 애니메이션을 통해 캐릭터 간의 유대감을 효과적으로 전달할 수 있었으며, 종종 순간의 깊이를 과장하지 않고 빠르게 전달하기도 했습니다. 유머를 사용한 경우도 많았는데, 상황이 너무 무거워지면 잠시 설정을 깨면서 플레이어의 긴장을 풀어줄 수 있었습니다."
N/A4061"#commentary\cn_145_alyxs_kiss.mp3" "[Ken Birdwell] 알릭스가 일라이의 뺨에 입맞춤하는 장면은 짧지만 중요했습니다. 결국 플레이어에게 일라이를 구해달라고 부탁하고, 일라이에게 마음을 써주도록 요구하게 되는데요. 이러한 유대감을 형성하기 위해 알릭스와 일라이 사이의 따뜻한 애정을 표현해야 했습니다. 과장되지 않고 진정성이 느껴지는 장면을 위해 대사를 과장하거나 지나치게 과장된 연출을 사용하지 않았는데요. 이 순간의 미묘한 부분들을 반복하며 적절한 분위기를 만들어낼 수 있었습니다."
N/A4062"#commentary\cn_146_storytelling.mp3" "[Bill Van Buren] Half-Life 1 스토리텔링의 핵심 원칙은 몰입감을 조성하는 것이었는데요. 이로 인해 플레이어로부터 통제권을 거의 빼앗지 않거나 플레이어의 아바타를 과묵하게 유지하는 제약을 스스로 걸었죠. 이로 인해 스토리텔링이 어려워지긴 했지만, Half-Life 2에서는 이러한 한계를 그대로 유지하는 것이 중요하다고 느꼈습니다. 저희는 이러한 원칙을 지킴으로서 더 깊고 상호 작용적인 스토리텔링을 해낼 수 있기를 바랐습니다."
N/A4063"#commentary\cn_147_archetypes.mp3" "[Bill Van Buren] 저희는 캐릭터를 통해 Half-Life 1과 Half-Life 2 사이의 서사적 연결을 만들고 싶었습니다. 플레이어가 친숙하게 느낄 수 있도록 Half-Life 1의 원형이 드러나는 캐릭터를 만들려고 했죠. 마치 잘 기억나지 않지만 Half-Life 1에서 분명히 만난 적이 있다는 느낌을 주고 싶었습니다. 가장 상징적이라고 생각한 과학자 모델을 기반으로 클라이너 박사를 만들었고, 성격은 Half-Life 1 과학자들을 정의한 목소리와 연기를 가진 Hal Robins에게서 따 왔다고 할 수 있죠. 어느 날 클라이너 박사라는 캐릭터를 파악하려고 애쓰고 있을 때 일어난 일인데요. 우연히 건물의 다른 층 사무실의 회계사와 엘리베이터를 같이 탔는데, 클라이너의 얼굴을 봤죠. 그분의 얼굴을 보니 클라이너 박사의 얼굴로 완벽하더군요. 다행히 비디오 게임 캐릭터를 만드는 데 필요한 사진을 찍어도 되냐는 요청을 기꺼이 들어줬습니다."
N/A4064"#commentary\cn_148_tone.mp3" "[Bill Van Buren] 캐릭터와 대화에 적절한 분위기를 조성하는 것이 중요했습니다. 플레이어를 존중하며 유쾌하게 소통하고자 하는 한편, 플레이어에게 종속된 듯한 분위기는 피하고자 했는데요. 특히 알릭스는 캐릭터의 강점을 해치지 않으면서도 플레이어를 도와야 했기에 이 균형을 맞추는 것이 매우 어려웠습니다. 플레이어가 알릭스를 존중하는 것이 매우 중요하다고 생각했거든요. 플레이어는 알릭스와 일라이와의 관계를 동기로 삼고 있었기 때문에, 플레이어가 알릭스를 돕고 싶도록 호감을 심어줘야 했습니다. 또한 브린과 콤바인이 보이는 적대감과 대조되는 동료 간의 따뜻함과 동지애를 표현하여, 플레이어가 앞으로의 전투에서 정당한 분노를 표출하도록 유도하고 싶었습니다."
N/A4065"#commentary\cn_149_voice-actors.mp3" "[Bill Van Buren] Half-Life 2에서 더욱 반응적이고 다차원적인 캐릭터를 만들기 위해 성우들과의 작업 방식을 발전시켜야 했습니다. Half-Life 1의 NPC 대화의 대부분은 지시가 있는 대본을 읽는 것으로 충분했지만, Half-Life 2에서는 배우들이 캐릭터를 정의하고 생동감을 불어넣을 기회를 더 주기로 했습니다. 배우들에게 게임 세계관과 캐릭터가 사는 환경, 다른 캐릭터와의 관계를 통해 스토리 맥락을 훨씬 더 많이 보여줬습니다. 이 모든 정보를 연기에 결합하여 상상 이상으로 캐릭터를 끌어올릴 수 있는 배우가 필요했습니다. 주연 배우와 여러 번 세션을 진행하며 캐릭터를 소화하고 점점 발전시킬 수 있도록 했습니다. 캐릭터들이 소통하는 장면의 경우, 더 자연스럽게 연결되며 흘러가도록 다른 배우들의 연기를 통해 신호를 보내는 경우가 많았습니다. 저희는 녹음할 대본과 계획을 가지고 스튜디오에 도착했지만, 배우가 자신감을 갖고 캐릭터와 연기에 대한 자신의 아이디어를 마음껏 펼칠 수 있도록 했죠. 애니메이터들이 더빙 세션에 참여하는 것도 매우 중요했는데, 캐릭터의 대사와 신체 동작, 표정을 엮어 안무 장면을 완성하는 역할을 맡았기 때문입니다. 애니메이터들도 성우와 함께 작업한 후 보니 장면 전개 방식을 계획하는 능력이 더욱 발전했다고 말했습니다."
N/A4066"#commentary\cn_150_citizens.mp3" "[Bill Van Buren] 저희는 17번 지구의 인간 시민과 도시 밖의 세계를 디자인할 시기에 다양한 인종, 연령, 성별을 포함하기로 했습니다. 이를 통해 콤바인이 전 인류를 노예로 만들었다는 이야기를 담아낼 수 있었을 뿐만 아니라, 게임을 플레이하는 사람이라면 누구나 콤바인에 맞서 단결한 저항군의 모습을 보도록 하는 것도 중요했죠. 평소에 알고 지내는 사람들을 모델로 참고해 시민을 만들려고 했지만, 결국 시애틀 타임즈 광고 광고를 보며 저희가 상상했던 범위의 얼굴을 찾을 수 있었습니다."
N/A4067"#commentary\cn_151_alyx.mp3" "[Dhabih Eng] 알릭스의 디자인을 완성하는 것은 큰 도전이었습니다. 저희는 플레이어가 알릭스를 존중하고 아껴주길 바랐습니다. 게임 중반에는 일라이를 구하는 것이 플레이어의 핵심 목표였고, 알릭스 부녀의 관계에도 관심을 기울인다면 그 목표에 더욱 쉽게 관심을 가지게 될 것을 알고 있었습니다. 저희는 의도적으로 알릭스가 콤바인이 통제하는 세계에서 정통하고 유능하며 공감대를 형성하는 동시에 매력적이고 카리스마 있는 존재로 등장하도록 디자인하고, 대사를 쓰고, 성우를 캐스팅했습니다. 2000년대 많은 게임에서 등장했던 객채와 과장된 표현이나 성적 대상화를 피하고자 했는데요. 그렇게 되면 캐릭터에 대한 저희 목표가 훼손될 수 있다고 생각했기 때문입니다."
N/A4068"#commentary\cn_152_lab_interactivity.mp3" "[Dhabih Eng] 안무 장면에서는 플레이어를 잠시 가두어 캐릭터와 내러티브에 집중할 수 있도록 했습니다. 스토리에 깊이 빠져든 플레이어부터 1초 이상 가만히 있을 수 없는 플레이어까지 다양한 플레이어를 위해 화면에 흥미로운 디테일이 끊임없이 흘러나와야 한다고 생각했죠. 환경 전체에 내러티브 요소를 분산시켰고, 일부는 플레이어가 장난감처럼 직접 만져볼 수 있는 인터랙티브 형태로 만들었습니다. 앞으로 텔레포터가 고장 날 것을 암시하는 선인장 미니 텔레포터 등을 통해 스토리텔링을 추가하기도 했죠. 여기서 균형을 섬세하게 맞춰야 했는데요, 볼거리에만 치중하면 플레이어가 장면의 핵심을 놓치기 쉽기 때문입니다. 결국 클라이너 실험실은 첫 번째 주요 안무 장면이었기 때문에 상호 작용성을 안전하게 적용했습니다. 이후 일라이의 실험실에서는 더욱 심도 있게 적용하여 캐릭터가 플레이어가 무엇을 만지는지 주의 깊게 살피도록 했습니다."
N/A4069"#commentary\cn_153_gestures.mp3" "[Doug Wood] 각 캐릭터에는 제스처라는 간단한 애니메이션 라이브러리가 있었는데, 다른 신체 동작 위에 쉽게 겹쳐 적용할 수 있었습니다. 원래는 게임 전체에서 애니메이션을 재사용할 수 있는 예비용으로 계획했지만, 실제로는 더욱 다양하게 활용할 수 있다는 것을 알게 되었습니다. 사람은 특정 동작을 반복하는 경우가 많은데, 이러한 동작은 각자의 개성을 드러내는 지표가 될 수 있죠. 결과적으로 제스처 라이브러리는 각 캐릭터의 본질을 담아내 애니메이션 팀원들이 해당 캐릭터의 특징을 통합적으로 이해하는 데 도움이 되었습니다. 덕분에 애니메이터들은 제작 과정에서 종종 필요했던 특정 캐릭터의 작업을 서로 공유하기가 훨씬 수월해졌습니다."
N/A4070"#commentary\cn_154_interactive_storytelling.mp3" "[Erik Johnson] Half-Life 2 개발을 시작했을 당시 스토리텔링은 보통 충실도가 높고 선형적이었거나 충실도가 낮고 상호 작용이 필요한 방식이는데요. 훌륭한 스토리텔링을 자랑하는 게임은 있었어도 플레이어가 그 중심에 놓인 적은 없었습니다. 플레이어가 직접 스토리의 한복판에 들어가거나, 상호작용하거나, 일부를 자세히 들여볼 수 없었던 것이죠. 그 목표는 우리를 흥분시켰지만, 이걸 구현할 방식이나 실현하는 데 필요한 기술이 무엇인지는 아직 몰랐습니다. Half-Life 1에서 다양한 스토리텔링 기술을 개발하긴 했지만, 대부분 플레이어 앞에서 선보였고 저희가 목표로 했던 상호 작용성과 충실도가 부족했습니다. 클라이너의 실험실은 인터랙티브 스토리텔링이 실제로 어떻게 작동할지 알아보기 위한 시험용 섹션으로 만든 것이지요."
N/A4071"#commentary\cn_155_monitors.mp3" "[Ido Magal] Half-Life 2와 에피소드에서 스토리텔링을 위해 모니터를 많이 사용했는데, 너무 많아서 저희가 생각해도 웃길 정도입니다. 문제는 모니터가 너무나 유용하다는 것인데요. 다른 곳에서 발생하는 이벤트를 보여줌으로써 세계를 확장하는 데 환상적이며, 캐릭터들이 플레이어의 위치에 어떻게 도달했는지 설명할 필요 없이 쉽게 대화할 수 있는 방법이 되니까요. 스토리를 쓴 적이, 특히 다양한 캐릭터가 등장하는 스토리를 쓴 적이 있다면 모든 캐릭터가 같은 장소에 모이는 자연스러운 이유를 만들려고 할 때 좌절감을 느끼셨을 겁니다. 이때 모니터를 통해 알릭스가 순간이동한 다음 일라이의 실험실에 빠르게 나타나 모든 것이 현실적이고 연결된 것처럼 느껴지게 한 방식이 정말 마음에 들었습니다."
N/A4072"#commentary\cn_156_scene_interactivity.mp3" "[Jeff Lane] 안무 장면의 특정 지점에서는 플레이어가 행동을 취해야 하는데요. 단순히 플레이어에게 할 일을 주며 참여를 유도하는 것 외에도 몇 가지 중요한 목적을 달성했죠. 첫째, 플레이어가 주변 환경 때문에 주의가 산만해졌을 때 계속 진행할 수 있도록 했습니다. 플레이어가 행동을 마칠 때까지 안전하게 '일시 정지'하여 다시 돌아와 집중할 수 있도록 한 겁니다. 동시에 플레이어를 필요한 위치에 배치할 수 있었는데, 장면을 구성하고 중요한 것을 보았는지 확인하는 데 유용했죠. 어떤 경우에는 이런 순간을 통해 훈련까지 시키며 두 배로 유익하게 흘러가기도 했습니다. 여기에서 플레이어는 게임 후반 퍼즐을 풀 수 있도록 플러그와 소켓과 상호 작용하는 법을 배우게 됩니다."
N/A4073"#commentary\cn_157_kleiners_lab.mp3" "[Marc Laidlaw] 클라이너의 실험실은 저희가 처음 작업한 스토리텔링이었고, 파악하는 데 제일 오래 걸리기도 했습니다. 플레이어를 게임에 몰입시키는 역할 외에도, 결국 스토리텔링 측면에서 개발팀의 통일된 비전이 된 것이죠. 플레이어를 중심으로 캐릭터와 내러티브 전달을 구축하기 시작하면서 의문점이 많아졌는데, 모두 위험하지만 중요한 난관처럼 느껴졌습니다. 플레이어가 장면에서 중요한 정보를 추론할 수 있는지, 이 캐릭터에 관심을 갖게 할 수 있는지, 스토리에 대한 몰입도가 다른 플레이어는 어떻게 맞출지, 이러한 장면을 제작하는 데 얼마나 많은 비용이 들고, 또 얼마나 더 필요할지 말이죠. 이 외에도 더 많았지만, 장면을 충분히 구축하고 많은 플레이테스터와 테스트하기 전까지는 답할 수 없었습니다. 실망스럽게도, 이러한 질문은 상당한 작업을 수행하기 전까지는 웬만한 부분보다 답할 자신이 없었죠. 충실도가 낮은 프로토타입으로 게임플레이 아이디어를 테스트할 수는 있지만, 회색 블록 단계에서 플레이어가 스토리텔링에 관심을 두지 않는다면, 캐릭터가 완전히 구현된 후에도 관심을 가질 것이라는 보장은 없으니까요."
N/A4074"#commentary\cn_158_characters.mp3" "[Marc Laidlaw] Half-Life 1에서의 경비원과 과학자는 개인보다는 원형이라 할 수 있는데요. 당시 우리가 달성할 수 있는 시각적 충실도에 맞게 추상적으로 묘사한 캐릭터였으니까요. 하지만 Half-Life 2에서 기술이 향상되면서 실제로 묘사할 수 있게 되었습니다. 캐릭터 모델의 시각적 충실도가 높아지고 애니메이션도 개선되어 실제로 관심을 가질 수 있는 개별 캐릭터를 만드는 데 집중할 수 있을 것 같았죠. 실제 대화를 쓰고 캐릭터가 게임의 대사가 아닌 현실적이고 실감 나는 대화처럼 느껴지는, 이상적으로는 이야기를 진행할 수 있는 대사를 썼습니다. 개발을 시작한 지 몇 년 후인 2001년, Japan Studio의 Ico에서 영감을 얻었죠. 애니메이터가 감독한 게임인데, 캐릭터에 의존해 플레이어와의 주요 연결 고리로 활용하는 방식에 감명을 받았고, 저희도 계속해서 진행할 용기를 얻었습니다."
N/A4075"#commentary\cn_159_writing.mp3" "[Marc Laidlaw] Half-Life 1 시대에도 FPS 게임의 플레이어 목표는 여전히 명백히 사악한 적과 싸워 물리치는 것이었습니다. Half-Life 1처럼 시각적 충실도가 낮을 때는 플레이어가 캐릭터에게 관심을 갖도록 하기가 어려웠는데요. Half-Life 2에서는 캐릭터 충실도를 개선할 계획이었기 때문에 캐릭터를 이야기의 원동력으로 삼는 데 한 번 도전해보고 싶었습니다. 저희의 목표는 플레이어의 동기가 캐릭터와 일치하도록 하는 것이었습니다. 즉, 플레이어가 캐릭터 자체와 희망과 두려움에 관심을 가지고, 그들이 성공하기를 바라도록 하는 것이었죠. 이를 염두에 두고 캐릭터와의 대화에 대한 접근 방식을 구성할 수 있었습니다. 저희는 플레이어들이 같은 감정을 느끼기를 바라며 서로를 좋아하고 아끼는 캐릭터를 만들었습니다. 이 캐릭터들은 포용성이 느껴지는 방식으로 상호 작용할 것입니다. 마치 플레이어를 오랜 친구이자 오랜만에 만난 동료로 여기는 것처럼 말이죠. 캐릭터들이 서로 현실적인 감정적 유대감을 보인다면 플레이어와도 감정적인 유대감을 형성할 수 있을 거라 믿었습니다."
N/A4076"#commentary\cn_160_animation.mp3" "[Miles Estes] 여러 개별 애니메이션 레이어를 사용하여 캐릭터가 실제 사람처럼 움직이게 하려면 많은 기술적 반복이 필요했습니다. 시선을 돌려 무언가를 바라보거나 특정 장소로 걸어가는 것과 같은 간단한 동작도 플레이어와 Choreo 명령의 요구 사항에 동적으로 반응해야 하는 필요성이 더해지면서 더욱 복잡해졌죠. 예를 들어 방향을 돌려 무언가를 바라볼 때는 캐릭터가 눈, 머리, 어깨, 상체 또는 전신을 원하는 조합으로 사용하여 대상을 향할 수 있도록 완전히 분리해야 했습니다. Half-Life 1에서는 인간 캐릭터의 몸이 상반부와 하반부로 분리되어 아예 다른 방향을 바라보면서 걸을 수 있었는데요. 하지만 이러한 접근 방식은 Half-Life 2의 캐릭터에게는 너무 추상적이었습니다. 대신 애니메이터들은 나침반의 모든 여덟 방향을 향해 걷는 애니메이션을 만들었는데, 이 애니메이션은 런타임 시 매끄럽게 블렌딩 될 수 있었습니다."
N/A4077"#commentary\cn_161_faceposer.mp3" "[Yahn Bernier] 저희는 Choreo 시스템을 구동하기 위해 FacePoser를 만들어 주로 활용했습니다. 정확한 명칭은 아니지만, 애니메이터들이 타임라인을 따라 장면의 전체 구조를 배치할 수 있도록 해주는 프로그램이었죠. 타임라인에는 캐릭터들을 위한 일련의 Choreo 명령과 그 명령을 수행하는 데 필요한 모든 정보가 포함되어 있었습니다. 이러한 명령을 타임라인에 배치함으로써 애니메이터들은 캐릭터가 한 가지 사물을 바라보면서 다른 인물에게 말을 걸고, 다른 장소로 걸어가는 동작을 동시에 구현할 수 있었습니다. 하지만 타임라인은 고정된 선형적인 시퀀스가 아니었습니다. 캐릭터는 명령을 따르면서도 주변 환경에 동적으로 반응해야 했습니다. 플레이어가 방해가 되면 캐릭터가 특정 장소로 이동하는 데 더 오랜 시간이 걸리거나, 다른 캐릭터가 플레이어 때문에 대사를 전달하지 못하는 경우 대사를 전달하기 위해 기다려야 할 수도 있었습니다. FacePoser를 통해 다양한 레이아웃, 대사 전달 방식, 타이밍을 시도하며 장면을 빠르게 반복할 수 있었습니다. 이처럼 빠르게 실험하고 조정할 수 있는 능력은 캐릭터와 서사적 목표를 달성하는 데 적합한 연기를 찾는 데 매우 중요한 역할을 했습니다."
N/A4078"#commentary\cn_162_choreo_commands.mp3" "[Yahn Bernier] 이 디버그 시각화는 장면 전체에서 캐릭터가 받는 가장 일반적인 두 가지 Choreo 명령을 보여줍니다. 내부적으로 look-at과 move-to라고 하는데요. 캐릭터에게 바라볼 대상을 하나 또는 둘 이상 지정한 후 현재 상태를 고려하여 가장 적절한 대상에 집중하도록 합니다. 동시에 특정 위치로 이동하고 특정 방향이나 물체를 향하도록 하는 move-to 명령을 줄 수도 있습니다. 이렇게 간단해 보이는 명령조차도 매우 복잡한데요. 예를 들어 키보드를 두드리면서 대사를 하는 동시에 플레이어가 들고 있는 물체를 봐야 할 수도 있죠. 재생 중에 플레이어가 어디에 있을지 예측할 수 없어서 이런 장면을 제작하기 위해 장면의 각 요소를 별도의 조각과 레이어로 나누어야 했습니다. 그런 다음 플레이어의 동작에 따라 재생 중에 필요에 따라 다시 결합하거나 아예 중단할 수도 있었죠."
N/A4079"#commentary\cn_163_antlions.mp3" "[Kerry Davis] 플레이어가 코스트 곳곳을 버기차로 운전해야 했기에, 어디서나 나타나 플레이어를 버기차 안이나 근처에 묶어두며 끊임없이 위협할 수 있는 적이 필요했습니다. 개미귀신이 모래에서 생성되도록 하는 것이 정답이었죠. 개미귀신은 기동성이 뛰어나서 인간형 적들과 달리 잠시나마 버기차를 따라잡을 수 있었습니다. 게다가 개미귀신을 차로 미는 쾌감도 있고 말이죠."
N/A4080"#commentary\cn_164_thumpers.mp3" "[에이드리언 피놀] 가능하다면 플레이어가 스스로 무언가를 알아냈다고 느끼게 하는 것이 매우 중요합니다. 일련의 게임플레이 요소를 단순하게 나열하는 것보다는, 게임 속 세계에 생동감을 더해야 한다는 것이죠. 일부 플레이어가 요소를 완전히 놓쳐도 상관없다면, 더 미묘한 접근 방식을 취할 수 있는데요. 섬퍼를 디자인할 때 이런 접근 방식으로 플레이어가 마주칠 가능성이 있지만 강제로 보게 하진 않도록 연출했습니다. 상황을 인지할 수 있도록 다양한 시각적이거나 청각적인 단서와 개미귀신의 반응을 포함했죠. 모든 플레이어가 이를 알아낼 것이라는 보장은 없지만 플레이테스트 결과 대부분이 알아챘습니다."
N/A4081"#commentary\cn_165_d2_coast_09.mp3" "[Aaron Seeler] 코스트 개발 후반에 이르니 게임 코드가 레벨 디자인보다 훨씬 앞서는 시점에 이르렀는데요. 그래서 게임플레이 프로그래머들은 코딩을 더 할 겸 Half-Life 2를 출시하는 데 도움이 될 새로운 작업을 찾고 있었습니다. 주로 코스트 레벨이 요구하는 수준이 높아서 그랬는데요, 레벨 디자이너들도 엄청난 규모와 광범위한 지형 사용 때문에 큰 부담을 느꼈습니다. 그래서 게임플레이 프로그래머들은 소규모 전투를 디자인하기 시작했죠. 이후 레벨 디자이너들의 의견을 들어서 프로그래머들이 따로 준비한 조우 이벤트 3개를 합쳐 출시를 준비하는 데 필요한 모든 마무리 작업을 거친 후 이 레벨을 만들었습니다."
N/A4082"#commentary\cn_166_final_scene.mp3" "[Bill Van Buren] 브린의 사무실에서 열리는 마지막 대결을 위해 어쩔 수 없이 플레이어를 포드에 가두긴 했지만, 그 덕에 다른 곳과 비교해 캐릭터에 더 집중할 수 있게 되었습니다. 이 장면에서는 모든 캐릭터 스토리의 결말이 등장하는데, 플레이어를 이 시점에 가두면 진정한 감동을 받을 수 있죠. 대사와 성우의 연기와 애니메이션의 조합이 절정을 이루는 장면입니다. 제작자 입장에서 꽤 까다로운 장면이었는데요. 적절한 블로킹과 모션을 설정하고, 모든 개별 애니메이션과 따로 녹음한 성우의 연기가 적절한 시기가 이어지며 감정적인 시너지를 불러일으켜야 했기 때문이죠. 극적인 시너지 효과를 내기까지 많은 튜닝이 필요했지만, 결국 모든 캐릭터가 실제로 서로 연결된 듯한 느낌을 받았습니다."
N/A4083"#commentary\cn_167_end_game_scramble.mp3" "[Dave Riller] 원래는 게임 후반부에 훨씬 더 큰 규모의 안무 장면을 추가할 예정이었는데요. 하지만 안무팀은 게임 전체에 걸쳐 남아 있는 방대한 스토리텔링 작업 때문에 매우 바빴습니다. 요새 게임플레이 음모팀은 작업 부담을 덜기 위해 게임을 마무리할 게임플레이 챌린지를 만들어 달라는 요청을 받았습니다. 퍼즐이든, 전투든, 무엇이든 말이죠. 그 결과 브린 보스전은 기존의 중력건 게임 시스템과 약간의 맞춤 안무를 활용하여 매우 짧은 시간 안에 완성된 작품을 만들어냈습니다."
N/A4084"#commentary\cn_168_combine_portal_effects.mp3" "[Gary McTaggart] 저희 개발 프로세스의 핵심은 모든 팀원이 게임의 어느 부분에든 자신의 기술을 기여할 수 있도록 하는 것입니다. 최종 전투 게임플레이를 확립한 후, 아트 팀과 시각 효과 프로그래머들의 도움을 통해 콤바인 본거지로 향하는 포털의 표현 방식과 게임 마지막 부분의 정지 시간 효과를 더욱 발전시킬 수 있었습니다. 콤바인 포털 효과에는 물에 사용했던 것과 유사한 굴절 셰이더가 사용되었죠."
N/A4085"#commentary\cn_169_citadel_entrance.mp3" "[Jeff Lane] 저희는 요새로 가는 길을 거꾸로 만들었습니다. 내부 구조는 완벽한 외관을 위해 아트 프로토타입으로 만들어졌죠. 플레이어가 스트리트워 맵의 하수관에서 오신다는 걸 알고 있기에 요새 입구로 가는 길에 미끄러지고 점프하는 구간을 만들었습니다."
N/A4086"#commentary\cn_170_citadel_steep_landing.mp3" "[Randy Lundeen] 요새는 개발 후반에 제작되었는데, 처음에는 게임플레이에 대한 명확한 비전이 없었습니다. 이런 경우가 은근히 많은데요. 개발은 보통 게임 디자인을 위주로 진행되지만, 콤바인 요새처럼 초기에 내리는 중요한 창의적인 선택은 최종본에 맞게 구체적으로 디자인해야 합니다. 이전 챕터를 장대한 전투로 마무리했으니, 요새에서 다른 톤으로 마무리하는 것이 더 보람 있을 것이라고 생각했습니다. 더 어렵게 만들고 싶었다 해도, 이렇게 늦게 새 시스템과 NPC를 만드는 건 너무 위험했습니다. 처음엔 기차를 타고 콤바인 병력의 중심을 지나 브린의 사무실까지 가면서 수동적으로 이야기를 구경하게 할 계획이었습니다. 하지만 그 계획을 세운 후 며칠 동안 중력건 시스템의 프로토타입을 만들었는데요. 최후반에서 게임 디자인의 전반적인 균형을 해치지 않으면서 무적이 되고 싶은 플레이어의 바람을 충족시킬 수 있을 것이라고 생각했습니다. 저희는 그 결과에 즉각 만족했고, 곧 중력건을 도입하기 위해 다시 설계했습니다. 플레이어가 이전처럼 최후반부에 고전하는 것이 아닌, 신처럼 느껴질 수 있도록 하고 싶었거든요. 적을 마음대로 잡고, 벽에서 콘솔을 뜯어낼 수 있도록 말입니다. 결국, 요새는 화려함과 힘의 해방이라는 두 가지 개념을 결합하여 구현했습니다."
N/A4087"#commentary\cn_172_lightmap_pass.mp3" "[Mike Dussault] 요새의 내부는 형태가 비교적 간단하지만 콤바인 메탈 소재와 드라마틱한 조명 덕에 웅장한 규모가 잘 드러납니다. 중요하고 흥미로운 표면에서는 라이트맵 해상도를 높였고, 완전히 그림자가 드리우거나 멀리 있는 표면에서는 낮췄죠. 또한 요새의 공간이 넓었기에, 라이트맵 표면이 불필요하게 커지면 성능이 크게 저하되었습니다. 개발 막바지에 다다르자 요새 레벨 전반에 걸쳐 시각적 흥미와 성능에 맞게 이 값을 최적화했습니다. 해머 레벨 에디터에 표면을 럭셀 밀도로 표시하는 새로운 기능이 추가된 덕에 작업이 더 수월해졌죠."
N/A4088"#commentary\cn_173_super_gravity_origins.mp3" "[Brian Jacobson] 저희 개발진은 이 시점에서 중력건 설계에 확신을 가지게 되었습니다. 플레이어에게 무적이 된 느낌을 주고 싶었기에, 슈퍼차저 버전을 만들기 시작했습니다. 이 무기가 요새 게임플레이의 핵심이 될 정도로 만족스럽게 만들어지기까지 그리 오래 걸리지 않았습니다. 프로토타입도 하루 만에 만들었죠. 물리 엔진이 완성되자, 이 엔진을 이전의 한계를 뛰어넘어 재미있는 결과를 얻을 수 있는 새롭고 흥미로운 방법을 찾을 여유가 생겼습니다. 프로토타입에서는 물리 시뮬레이션 오브젝트로 수백 파운드나 나가는 매우 무거운 수박을 썼는데, 최종본에서는 결국 콤바인 볼로 대체했죠."
N/A4089"#commentary\cn_174_combine_energy.mp3" "[Brian Jacobson] 프로토타입에서는 수박이 날아다녔지만, 충격과 폭발 효과음을 그럴듯하게 발전시킨 뒤에는 에너지 볼로 변경했습니다. 수박을 벗어난 수준에서 반복 작업을 시작하면서, 군인을 재미있게 처리하는 방법 외에 다양한 장비를 강화하거나 약화하는 퍼즐 요소로도 에너지 볼을 사용할 수 있다는 것을 깨달았습니다. 개발 후반부에는 당시 사용하던 AR2 보조 발사가 마음에 들지 않았고, 다들 콤바인 볼을 좋아했기 때문에 AR2 보조 발사에 바로 결합했습니다. 돌이켜 볼 때마다 게임에서 독립적으로 작동하는 요소가 문제를 해결하기 위해 늦게나마 결합되는 모습은 항상 놀랍습니다."
N/A4090"#commentary\cn_175_combine_wall_and_balls_training.mp3" "[Ido Magal] 플레이어들은 플레이테스트에서 콤바인 볼이 병사들을 분해한다는 사실과 구체가 사라지는 이유를 알아내지 못했습니다. 처음에는 콤바인 볼에 적에 튕기는 경향을 부여해 병사가 더 자주 분해되도록 하여 이 문제를 해결하려고 했습니다. 하지만 결국 이 효과가 격렬한 전투 중에만 발생하고, 스트레스를 받을 때는 새로운 것을 거의 익힐 수 없기에 플레이어가 인지하지 못했다는 것을 깨달았습니다. 이를 해결하기 위해 콤바인 볼을 잡아야만 열리는 역장이 있는 느슨한 훈련실을 추가했습니다. 이 환경은 콤바인 볼이 역장을 끄는 원리를 보여주고 콤바인 볼을 병사들에게 발로 차서 분해시키는 것을 훈련하기 위해 만들어졌는데요. 하지만 플레이테스트에서는 그 효과가 미미했습니다. 저희 노력에도 불구하고 여전히 투사체의 분해 효과를 잘 인지하지 못한 플레이어도 있었거든요. 시간도 부족했고 플레이어가 여전히 강력하다고 느끼고 있었으니, 플레이어가 수월하게 공략할 수 있는 이유를 완벽히 알지 못해도 괜찮다고 판단했습니다."
N/A4091"#commentary\cn_176_weapon_strip.mp3" "[Josh Weier] 저희는 초중력건을 도입한 후, 플레이어들이 기존 무기로 돌아가는 것을 원치 않았기에 유일하게 합리적인 선택을 했습니다. 바로 기존 무기를 분해하는 것이었죠. 콤바인처럼 불가사의하고 초자연적인 존재를 주적으로 설정한 덕분에, 분해기를 가지고 있다는 것을 납득할 수 있었습니다. 안 될 것도 없죠. 만약 어떤 이유에서든 레벨 중간에 장비를 다시 배치해야 한다면 결합기를 쓰도록 하면 되고 말입니다."
N/A4092"#commentary\cn_177_breen_monologue.mp3" "[Marc Laidlaw] 우리 모두는 다른 것에서 영감을 받기 때문에, 진정으로 무에서 창작되는 것은 없습니다. 여기 요새 모니터에 나오는 브린의 독백은 고전 명작인 Thief 2에서 영감을 받았습니다. 이 게임의 악역은 플레이어가 몰래 돌아다니는 동안 도발하죠. 방식은 사뭇 다르지만, 근본적인 개념은 비슷합니다. 하지만 고 Robert Culp의 연기 덕분에 이 순간을 제대로 살릴 수 있었는데요. 정말 완벽하게 연기했습니다. Robert는 브린의 대사 하나하나를 섬세하고 감각적으로 해석해 캐릭터를 정말 특별하게 살렸습니다. Robert Culp와의 녹음은 모두에게 편했는데요. 대본을 들고 엔지니어가 녹음만 하면 됐거든요. 여기서 얻을 수 있는 교훈은 나의 재능을 능가하여 배울 점이 있는 사람들과의 협업이 중요하다는 것입니다. 대사를 어떻게 전달해야 하는지, 특정 순간이 어떻게 흘러가야 하는지에 대해 고정된 생각을 가지면 안 됩니다. 대신 재능 있는 사람들이 장면을 더 잘 살릴 수 있다 믿으며 협업하는 것이 중요하죠."
N/A4093"#commentary\cn_178_dissolved_weapons.mp3" "[Quintin Doroquez] 콤바인 병사가 중력건으로 래그돌을 당하면 모든 콤바인 무기가 사라지도록 설정했는데, 여기엔 두 가지 이유가 있습니다. 우선 플레이어가 무기를 주워서 사용하지 못하도록 하기 위해, 또 이 맵에서의 성능을 향상시키기 위해서입니다. 게다가 플레이어가 게임을 진행할 때 쓰러진 병사의 래그돌 시체를 제거하는 래그돌 관리자가 추가되었습니다."
N/A4094"#commentary\cn_179_elevator_fight.mp3" "[Brian Jacobson] 플레이어가 무적이라는 느낌을 선사하고 싶었지만, 엘리베이터 통로에 치열한 전투를 추가하고 싶은 유혹을 떨칠 수 없었습니다. 엘리베이터가 도착하기를 기다리는 전투는 저희 구상보다 더욱 어려워졌습니다. 플레이테스트를 진행하면서 난이도를 낮췄지만, 실제로 밸런스를 맞추기에는 시간이 부족했습니다. 플레이어가 그렇게 큰 위험에 처한 적은 없었지만, 병사를 많이 등장시키며 실제보다 더 치열하다는 착각을 선사했지요."
N/A4095"#commentary\cn_180_replacing_the_prefabs.mp3" "[Jeff Lane] 콤바인 에너지 볼은 구성이 단순한 편인데, 끊임없이 튀는 물체를 고정하는 역장이 있습니다. 하지만 플레이테스트에서 에너지 볼이 제멋대로 이리저리 튕기고 움직이며 저희가 설정한 역장을 벗어나는 버그가 반복되었습니다. 당시 조립 기술의 한계로 인해, 에너지 볼이 있는 모든 요새 레벨에서, 모든 위치에서 여러 번 직접 재조립해야 했습니다."
N/A4096"#commentary\cn_181_strider_fight.mp3" "[Ted Backman] 요새의 초기 프로토타입 중 하나에는 초중력총으로 스트라이더를 붙잡는 기능이 포함되어 있었고, 스트라이더와의 전투는 한동안 총으로 스트라이더를 붙잡을 만큼 가까이 접근하며 진행되었습니다. 개발 막바지, 특히 스트리트 워에서 혈투를 벌인 후 스트라이더를 붙잡으면 너무 약해지는 느낌이 들었는데요. 그래서 스트라이더를 콤바인 볼로 처치하는 방식으로 전투를 변경했습니다. 스트라이더를 끌고 다니는 대신 토막 내 날려버릴 수 있도록 모델 부품을 추가했죠. 스트라이더가 이렇게 연출되는 것은 게임 내에서 이 시점이 유일합니다."
N/A4097"#commentary\cn_182_getting_in_the_pod.mp3" "[Dhabih Eng] 여기에서 시작되는 포드 상승 시퀀스에서는 장면과 플레이어 시야를 완전히 제어해야 했습니다. 평소 신조와는 반대로 플레이어의 제어권을 제한한 것인데요. 이 마지막 단계에서는 타협한 보람이 있었다고 느꼈습니다. 플레이어는 이 시점에서 제어하기 어려울 정도로 막강한데요. 그래서 어쩔 수 없이 무력화해야 했습니다. 저희는 장면에 남은 모든 캐릭터가 플레이어에 집중하도록 하며 대화하도록 연출했습니다. 또한 그 과정에서 환경에 대한 약간의 설명을 제공할 수 있었습니다. 여기 요새를 통과하는 열차에 아트까지 제작했지만 주 게임에서 잘린 적이 등장하는데요. 아늑한 포드를 타면서 처리되는 스토커와 크랩 신스의 모습을 안전하게 엿볼 수 있습니다."
N/A4098"#commentary\cn_183_turrets.mp3" "[Mike Dussault] 포탑은 플레이어가 벌레 미끼를 가지고 있을 때 유용한 디자인 도구였는데, 개미귀신이 정면으로 접근하는 것을 완전히 막을 수 있기 때문이죠. 플레이어가 벌레 미끼를 던져 진행하는 것이 아닌, 개미귀신이 따라올 수 있도록 돌아다니면서 포탑부터 무력화하도록 유도할 수 있었습니다. 포탑이 개미귀신을 쓸어버리는 광경이 정말 통쾌하기도 했고 말이죠."
N/A4099"#commentary\cn_184_grenade_puzzle.mp3" "[Aaron Seeler] 이 퍼즐은 간단하지만, 무한 수류탄 상자가 경로에서 살짝 뒤쪽에 위치해 있어 진행을 못하는 경우가 많이 보였습니다. 플레이어는 이 시점에서 무제한 탄약 상자를 활용해 퍼즐을 푸는 것에 완벽히 적응했기 때문에, 수류탄 상자를 보고 수류탄으로 퍼즐을 풀어야 한다는 것을 바로 알아챘을 것입니다. 저희는 플레이어들이 먼저 조금 더 생각해 보길 바랐는데요. 결국 창문을 통해 책상에 놓인 수류탄이 살짝 보이도록 하여 퍼즐의 열쇠를 은근슬쩍 보여줬습니다. 또한 플레이테스트에서 플레이어가 창문을 살피기 위해 접근하다가 수류탄을 습득하는 버그를 발견하는 데도 도움이 되었죠."
N/A4100"#commentary\cn_185_allied_turrets_balancing.mp3" "[Adrian Finol] 동맹군 포탑을 중심으로 이 전투의 균형을 맞추는 것은 어려운 일이었습니다. 여기서 새로 추가된 요소인 포탑을 무시한다면, 많은 부분이 이전과 유사하기 때문에 게임플레이가 중복되는 것처럼 느껴질 수 있습니다. 저희는 플레이어가 포탑을 전략적으로 사용하도록 유도하고 싶었지만, 배치 위치에 따른 결과가 너무 대조적으로 갈렸습니다. 조율과 맞춤 병사 AI 로직을 활용하니 도움이 되었는데요. 병사들은 수류탄을 던지거나 측면을 공격하여 포탑을 무너뜨리는 데 능숙해졌습니다. 이러한 변경 사항 덕분에 포탑의 배치보다는 유지에 더 중점을 두게 되었는데, 언제라도 방해를 받을 수 있기 때문이죠. 플레이테스트에서 다양한 반응이 나왔는데, 너무 어렵다는 플레이어도 있었지만 이 전투가 제일 재미있다는 반응도 있었습니다. 시간이 부족하여 결국 조금 더 쉽게 조정해 출시했지만, 최종 밸런스에는 만족하지 못했죠."
N/A4101"#commentary\cn_186_meeting_mossman.mp3" "[Ariel Diaz] 배신 장면 이후 플레이어와 알릭스가 모스맨과 재회하는 과정은 까다로웠습니다. 많은 플레이어가 모스맨을 보자마자 사살하려고 했으니까요. 다른 스토리 전개를 개발할 시간이 부족했기에 이를 허용할 수 없었습니다. 하지만 이 선택지를 막고 있다는 것을 드러낼 수는 없었기에, 플레이어가 이러한 선택을 시도할 가능성을 줄이는 데 주력했습니다. 방탄유리는 이 장면에서 알릭스와 모스맨이 대화할 시간을 벌어주는데, 이 대화에서 모스맨을 사살하는 것이 옳지 않다는 알릭스의 의견이 분명해집니다."
N/A4102"#commentary\cn_187_eli_in_pod_choreography.mp3" "[Ken Birdwell] 이 장면의 대사는 노바 프로스펙트를 구상하는 동안 집필과 녹음을 거쳤습니다. 당시 알릭스와 고든이 감옥에서 순간이동으로 빠져나올 것은 알고 있었지만, 구체적인 내용은 정해지지 않았기 때문에 최종 내용에 상관 없이 포괄적인 대사를 써야 했습니다. 그래서 플레이어의 행동보다는 알릭스의 취약성과 부녀 관계에 더 집중하기로 했습니다. 이야기 자체보다는 감정이 장면을 더 잘 이끌어가기를 바랐죠. 궁극적으로는 플레이어가 이 캐릭터들에 대해 관심을 갖고, 알릭스에게 중요한 것을 우선시하도록 만들고자 했습니다."
N/A4103"#commentary\cn_188_mossman_and_eli.mp3" "[Bill Van Buren] 이 Choreo 씬에는 상당한 반복이 필요했습니다. 플레이어의 컨트롤을 제한하지 않으면서도 씬 중간에 반전을 주고 싶었습니다. 플레이어가 방해하지 못하도록 하면서 그 반전을 분명하게 표현하기 위해 섬세한 균형을 맞춰야 했습니다. 플레이어가 알릭스를 따라 콘솔로 이동한 경우, 플레이어가 돌아섰을 때 무슨 일이 벌어졌는지 이해해야 했습니다. 가만히 서서 모스맨을 지켜봤다면, 미리 개입해야 한다는 생각을 하지 않으면서 상황을 이해해야 했습니다. 타이밍을 제대로 잡기 위해 조정과 플레이테스트를 많이 거쳤지만, 결국 주의를 산만하게 하는 요소를 조합하여 중요한 순간을 빠르게 전달한 후 이벤트가 끝난 후에야 설명을 전달했습니다."
N/A4104"#commentary\cn_189_nova_prospekt_entry.mp3" "[Danika Rogers] 플레이어가 전투가 치열한 레벨 두 개를 완료한 직후이기에, 플레이어가 진입하는 순간부터는 페이스를 늦추고 싶었습니다. 이 초기 레벨은 플레이어가 노바 프로스펙트 내부의 구조를 탐험할 수 있도록 페이스를 조절하기 위해 디자인되었습니다. 여기서 포탑 게임플레이를 도입하기 시작했는데, 처음에는 적으로, 나중에는 플레이어가 사용할 수 있는 도구로 활용했습니다. 이 레벨의 대부분은 개발 초기 노바 프로스펙트의 외관을 집중해서 디자인했을 당시 제작했던 프로토타입과 아트 공간을 재활용하여 제작되었습니다."
N/A4105"#commentary\cn_190_turret_training_exit.mp3" "[Doug Wood] 이 쓰레기 더미와 어수선한 계단 아래로 내려가는 길은 플레이어들이 포탑을 가져오는 것을 꺼리게 하려고 설계되었습니다. 포탑을 가져온다고 해서 문제가 생기지는 않지만, 그럴 가능성을 낮추고 싶었습니다. 포탑을 가지고 다니는 것을 불편하게 만드는 것은 이상적인 디자인이 아니지만, 장치가 아예 없는 것보다는 나았습니다. 많은 플레이테스터들이 게임이 무언가를 말하려는 것 같다고 느끼자 결국 포기하고 포탑을 치워버렸습니다."
N/A4106"#commentary\cn_191_allied_antlions.mp3" "[Eric Kirchmer] 노바 프로스펙트의 전투에서는 끊임없이 재생성되는 개미귀신 무리가 포탑과 병사를 공격하는데, 저희는 시간을 들여 플레이어의 역할을 알아내야 했습니다. 플레이어는 이미 콤바인 병사를 많이 상대했기 때문에 전투가 전투보다는 눈이 즐거운 퍼즐처럼 느껴지도록 하기로 했습니다. 이를 염두에 두고 플레이어가 개입할 때까지 안정적인 상태를 유지하도록 설정했는데요. 물론 적을 직접 사살하여 전세를 개미귀신에게 유리하게 바꿀 수 있지만 벌레 미끼를 사용하는 보람을 선사하고 싶었습니다. 플레이어가 적에게 벌레 미끼를 던졌을 때 개미귀신이 추가로 생성되어 전투에 빠르게 쏟아져 나왔는데요. 그 결과로 벌레 미끼를 쓴 보람을 느낄 수 있도록 눈이 즐거운 대학살이 벌어지게 되었습니다."
N/A4107"#commentary\cn_192_laser_mines.mp3" "[Erik Johnson] 노바 프로스펙트에 레이저 트립마인을 도입한 건 정말 즐거웠습니다. 레이저 트립마인은 Half-Life 1에 등장했는데요, Half-Life 2에는 넣지 못했지만 퍼즐 요소로나마 자리 잡았다는 점이 좋았습니다. 특히 플레이어가 개미귀신을 몰고 왔을 때 일종의 도덕성 테스트 역할을 한다는 점이 마음에 들었죠. 트립마인 너머로 즉시 벌레 미끼를 던져 개미귀신을 희생하거나, 다른 도구로 트립마인을 안전하게 제거할 때까지 개미귀신을 아낀 경우도 있었습니다. 저희는 판단하지 않았죠."
N/A4108"#commentary\cn_193_final_turret_arena.mp3" "[Erik Johnson] 아군 포탑 사용과 같은 게임플레이 요소의 아크를 구축할 때, 종종 아크의 최종 지점을 나타내는 프로토타입을 먼저 만듭니다. 플레이테스트에서 아크가 통한다는 것이 확인될 때까지 해당 프로토타입을 반복합니다. 그다음 해당 요소를 소개하고 플레이어의 실력을 향상시키기 위해 과정을 거슬러 올라가 아크 이전 시나리오를 추가합니다. 이렇게 접근하면 상당한 시간을 투자하기 전에 이미 흥미진진한 아크가 완성되죠. 또 훈련 시나리오를 만들 때쯤에는 충분한 플레이테스트를 통해 지도가 필요하거나 플레이어가 자연스럽게 습득할 기술을 구분할 수 있습니다. 이 최종 포탑 시나리오는 다양한 곳에서 오는 적을 막아내기 위해 역동적인 포탑 배치와 복구를 요구하는 것이 목표였습니다."
N/A4109"#commentary\cn_194_one_way_drops.mp3" "[Jakob Jungels] 플레이어는 자신의 앞을 몰라도 뒤에 무엇이 있는지는 잘 알고 있기 때문에, 보통 적과 마주치면 익숙한 곳으로 물러납니다. 특히 개미귀신 경비병처럼 특정한 지형에서 교전해야 하는 전장을 만들 때는 이렇게 물러나지 못하도록 막을 방법이 필요합니다. 보통 플레이어가 일방적으로 떨어지는 구간으로 진입하도록 하는 방법으로 해결하는데, 여러분도 아마 이미 몇 번 보셨을 겁니다."
N/A4110"#commentary\cn_195_npcs_on_elevators.mp3" "[Jay Stelly] 저희는 플레이어가 알아차리지 못할 수도 있는 문제를 해결하는 데 상당한 시간을 할애하는 경우가 많습니다. 미묘한 디자인 문제인 경우가 많지만, 여러 시스템이 서로 상호 작용하다 발생하는 경우도 있습니다. 예를 들어, NPC가 엘리베이터를 타도록 하는 것은 NPC AI 의사 결정, 경로 탐색, 이동 시뮬레이션 등 다양한 시스템이 관련되어 있어 복잡한 문제였습니다. 또 엘리베이터 자체에도 NPC와는 무관한 자체 시뮬레이션이 필요했죠. NPC를 엘리베이터보다 느린 속도로 시뮬레이션한다는 사실 때문에 더 미묘한 문제가 발생하기도 했는데요. 즉, 하강하는 엘리베이터 안의 NPC를 먼저 구현하여 제대로 서 있도록 한 뒤, 엘리베이터를 조금씩 옮기면서 구현했습니다. 그 직후, NPC는 두 번째 구현 후 다시 엘리베이터 바닥으로 떨어졌습니다. 알릭스가 플레이어와 대화하는 동안 작은 간격으로 계속 떨어지는 것을 보면 대사를 진지하기 듣기 어려웠을 겁니다."
N/A4111"#commentary\cn_196_looktargets.mp3" "[John Cook] 저희 디자인 툴킷의 핵심 도구 중 하나는 Looktarget입니다. 플레이어에게 보이지 않지만 바라보면 활성화되는 지점이죠. 디자이너는 플레이어가 이 지점을 얼마나 정확하게 바라봐야 하는지와 바라봐야 하는 시간 등의 조건을 지정할 수 있습니다. Looktarget은 활성화하며 게임에서 다양한 이벤트를 발동하는데요. 예를 들어, 알릭스가 플레이어와 눈이 맞기를 기다렸다가 대사를 할 수도 있고, 멋진 장면이 플레이어의 시야에 들어올 때만 시작될 수도 있고, 콤바인 드롭쉽이 플레이어가 대략적인 방향을 바라보고 있을 때 위를 날아갈 수도 있습니다. 디자이너는 Looktarget을 적용한 후 이를 사용하여 플레이어에게 게임플레이를 더 안정적으로 느끼게 하는 방법을 무수히 발견했습니다. 특히 극단적인 속도나 예측하기 어려운 방식으로 움직이는 플레이어에 대처하기 위함이었죠."
N/A4112"#commentary\cn_197_nova_prospekt_yard.mp3" "[John Morello] 노바 프로스펙트 공터 전체에서 펼쳐진 전투는 개미귀신이 콤바인 병사들과 싸우는 모습을 처음 본 경험에서 많은 영감을 받았습니다. 빠르게 움직이며 근접 공격을 한다는 개미귀신의 특징이 원거리에서 강하고 근접 공격에 취약하다는 콤바인 병사의 특징과 잘 어울렸죠. 개미귀신은 피격 상황에서도 사방에 날리는 파티클 효과로 멋지게 연출되는데요. 마침내 병사에게 도달하면 매우 만족스러운 래그돌 효과를 볼 수 있습니다."
N/A4113"#commentary\cn_198_vent.mp3" "[John Morello] 뻔하게 들리겠지만, 환기구가 있다면 헤드크랩도 있어야 하는 법입니다. 저희가 만드는 것이 아니라, 마치 환기구처럼 위쪽에서 오는 결정이죠."
N/A4114"#commentary\cn_199_kitchen.mp3" "[Kerry Davis] 게임 개발자라면 주방에서 가스를 터뜨리는 것이 관습이라는 것을 잘 알 겁니다."
N/A4115"#commentary\cn_200_alyxs_tool.mp3" "[Laura Dubuk] 알릭스는 멀티툴 덕분에 열쇠처럼 활용할 수 있었습니다. 준비될 때까지 플레이어의 진행을 막아야 할 때가 자주 있었는데, 알릭스는 멀티툴이 있어 대화를 나누면서 길을 열어줄 수 있었습니다. 멀티툴에 너무 의존했던 것 같기도 하지만, 어쩔 수 없었습니다. 다행히 맞춤형 해법을 만드는 대신 알릭스로 방의 출입을 통제한 덕분에 게임의 다른 부분, 특히 더 중요한 부분에 더 많은 시간을 투자할 수 있었습니다."
N/A4116"#commentary\cn_201_mossmans_betrayal.mp3" "[Marc Laidlaw] 저희는 원래 주디스 모스맨이 이 시점에 플레이어를 배신하게 만들 계획이었습니다. 하지만 게임의 나머지를 개발한 후 이 장면에 이르니, 주디스도 그저 일라이를 보호하려는 것뿐이었다는 느낌이 들었죠. 저희는 주디스가 고든을 배신할 수 없다는 것을 깨닫고 다시 생각해 보는 모습을 상상했습니다. 나중에 이 변화를 명확히 할 아이디어가 떠올랐지만, 결국 그 이야기를 끝내지는 못했습니다. 저희는 모스맨의 모호함이 마음에 들었지만 플레이어 마음에는 들지 않은 것 같았어요. 대부분 모스맨을 싫어했으니까요. 어쩌면 성공했다 볼 수 있겠는데요. 플레이어가 알릭스에게 친밀감을 느끼도록 열심히 노력하기도 했고, 알릭스가 주디스를 그리 좋아하지는 않았으니까요."
N/A4117"#commentary\cn_202_d2_prison_05_start.mp3" "[Yahn Bernier] 플레이어가 많은 수의 오브젝트를 움직일 수 있게 되자, 특히 2003년 CPU의 한계 때문에 종종 어려움에 직면했습니다. 그중 AI 탐색 시스템이 금속 침대처럼 움직이는 물리 오브젝트를 인식하지 못한다는 한계가 있었는데요. NPC 이동 시스템은 이동 중에 물리 오브젝트를 감지하고 피할 수 있었지만, 이동 전 전략을 짜기 위한 탐색 쿼리에서는 물리 오브젝트가 사실상 보이지 않았습니다. 이는 주로 성능의 한계 때문이었는데, 더 복잡한 시스템을 감당할 수 없었죠. 또한, 플레이어가 큰 물리 오브젝트로 복도를 완전히 막았을 때 병사가 어떻게 대응해야 하는지와 같은 명확한 해결책이 없는 디자인 문제에 직면했습니다. 이 문제를 해결하기 위해 NPC에게 힘을 더해 물리 오브젝트를 밀어낼 수 있게 했습니다. 그런 다음 레벨 디자인을 통해 복도를 넓히고, 복도 안 어디에든 소품이 떨어질 수 있도록 충분한 공간을 확보하여 문제를 완화했습니다. 이러한 구성은 매우 위험한데요. 침대 뒤에 숨은 병사와 근접 공격을 위해 돌진하는 개미귀신 때문에 NPC 이동 시스템이 침대와 어색하게 상호 작용할 수 있기 때문입니다."
N/A4118"#commentary\cn_203_alyx_as_companion.mp3" "[Miles Estes] 이 부분은 저희도 모르게 에피소드 1 알릭스의 프로토타입이 되었는데, 플레이어의 동료가 되어 역동적인 전투와 각본에 따라 연출되는 안무가 어우러진 경로를 따라 부드럽게 움직이는 모습을 미리 보여준 것입니다. 여기서 알릭스가 플레이어와 어떻게 어울릴지에 대한 명확한 모델은 아직 없었지만, 이 짧은 부분만으로도 많은 것을 배울 수 있었습니다. 반복 작업을 할 시간이 부족했음에도 불구하고 말이죠."
N/A4119"#commentary\cn_204_laundry.mp3" "[Mike Dussault] 이 레벨은 런드리라고 알려져 있는데요, 여기 도달했을 때쯤이면 벌레 미끼를 이용해 전투 시나리오를 해결하는 것에 익숙해졌을 겁니다. 그래서 저희는 플레이어가 벌레 미끼를 모든 미끼와 결합하면서 더 적극적으로 임하도록 더 위험한 상황을 만들었죠."
N/A4120"#commentary\cn_205_side_zombie.mp3" "[Quintin Doroquez] 이 독 좀비는 플레이테스트에서 항상 하이라이트를 장식했는데요. 플레이어는 콤바인 병사나 개미귀신이나 포탑에 집중하느라 독 좀비를 꽤 오랫동안 보지 못했기에, 어둠 속에서 갑자기 나타나는 모습을 보고 충격을 많이 받곤 했습니다."
N/A4121"#commentary\cn_206_flares.mp3" "[Quintin Doroquez] 이 구간은 제작 비용과 반복 작업 측면에서 이전 포탑 세그먼트와 대조를 이루는데요. 매우 늦게 제작되었지만, 알릭스와 콤바인 솔저의 AI가 이미 완성된 상태였기 때문에 빠르게 완성되었습니다. 어둠과 플레어가 마음에 들어 나중에 더 건드려 보기로 했습니다. 이후 에피소드 1에서 어두운 구간을 계획할 때 이 부분을 다시 참고했죠."
N/A4122"#commentary\cn_207_magic_wall.mp3" "[Robin Walker] 다른 전장과 마찬가지로 플레이어가 전투를 끝내기 전에 다른 곳으로 이동하지 못하도록 막을 수 있는 일종의 문이 필요했는데요. 안타깝게도 시간이 촉박해서 기차역으로 이동해야 했기 때문에 결국 말도 안 되는 마법을 부렸는데, 두 번째 건쉽이 쓰러진 후 벽이 터져 진행 경로가 드러나도록 했습니다. 저희는 대부분의 플레이어들이 건쉽과 싸우느라 바빠서 눈치채지 못할 거라며 안심했고, 플레이테스트를 하니 대체로 모두 여기 도달하기 전에 전투를 끝낸 것을 확인했습니다. 전장 전체에 걸쳐 폭발이 충분히 발생했기 때문에 파괴되어 불타는 벽이 어색하지 않았죠. 벽이 불타는 이유를 보여주기 위해 반대편에 간단한 가스 퍼즐 몇 개를 놨는데요. 어, 솔직히 자랑스럽진 않습니다."
N/A4123"#commentary\cn_208_ragdoll_vortigaunt.mp3" "[Scott Dalton] 이 보르티곤트 시체에는 레벨 디자이너들의 고통이 담겨 있습니다. 당시 개발 도구로는 래그돌의 포즈를 직접 지정할 수 없었는데요. 즉, NPC가 죽고 시스템적으로 래그돌이 되어 땅에 떨어질 때 포즈를 지정할 수 없었다는 겁니다. 애니메이터에게 맡길 여유가 있었다면 저희가 원하는 포즈에 맞춰 단일 프레임 애니메이션을 만들 수 있었겠지만, 시기가 늦기도 했고, 애니메이션 팀은 규모가 작은 데다 지쳤죠. 결국 레벨 디자이너들은 의자 위에 보르티곤트를 배치하고 레벨을 불러오자마자 죽도록 한 다음 래그돌이 어떤 포즈로 자리 잡는지 기다렸습니다. 그런 다음 보르티곤트를 살짝 옮겨 다시 시도했는데요. 정확히 몇 번 시도했는지는 기억나지 않지만, 생각보다 훨씬 많았습니다."
N/A4124"#commentary\cn_209_nova_prospekt_process.mp3" "[Eric Smith] 노바 프로스펙트도 처음에는 레이븐홈처럼 최종 출시된 버전과는 상당히 다른 게임플레이를 염두에 두고 디자인되었습니다. 첫 버전은 병사와의 전투에 집중했고, 개미귀신은 등장하지 않았습니다. 다른 곳은 이미 게임플레이와 아트가 개발되었지만, 노바 프로스펙트는 처음부터 대규모 아트 작업을 받았습니다. 이렇게 만들어진 레벨 지오메트리 섹션은 아트가 이미 적용되었고 세련되었으며 재사용이 가능했죠. 노바 프로스펙트는 반복 구조가 자연스럽게 이어졌기에 효율적으로 섹션을 결합하고 조립할 수 있었죠. 하지만 나중에 개미귀신과 벌레 미끼를 추가하면서 새로운 게임플레이에 맞춰 지오메트리를 수정해야 했습니다."
N/A4125"#commentary\cn_210_d2_prison_04.mp3" "[Eric Kirchmer] 저희 아티스트들은 개발 과정에서 작은 수직 환경을 만들었는데, 저희는 이것을 예술 동물원이라고 불렀습니다. 이 동물원은 텍스처와 소품을 사용하여 시각적 목표를 달성할 수 있는 게임플레이 공간을 만드는 방법을 제시했습니다. 하지만 노바 프로스펙트의 게임플레이 트랙을 만들 때는 반복적인 레이아웃 덕분에 아트를 더 직접적으로 사용할 수 있었습니다. 이 맵은 원래 노바 프로스펙트의 주요 예술 동물원으로 만들어졌지만, 결국 벌레 미끼로 이어진 맵을 포함하여 다양한 게임플레이 프로토타입을 테스트하는 데 사용된 후 실제 레벨 아키텍처의 일부가 되었습니다."
N/A4126"#commentary\cn_211_autosave_dangerous.mp3" "[Dave Riller] Half-Life 1에서는 레벨 디자이너가 직접 배치한 게임 전체에 걸쳐 자동 저장 기능이 있었고, 플레이어가 게임의 특정 순간이나 위치에 도달하면 작동했습니다. 이를 통해 블랙 메사의 복도를 가로지르는 동안 게임이 자동으로 저장되었죠. Half-Life 2에서는 새로운 도구가 필요했습니다. 문제는 우리가 만든 좀 더 복잡한 일부 전장에서 발생했는데요. 여러 무리의 적이 등장하며 오래 지속되는 전투도 있었죠. 탐험과 전투가 애매하게 결합되어 오래 지속되는 경우도 있었습니다. 게임을 불러온 직후 플레이어가 죽을 위험이 있는 지점에서 자동 저장을 하고 싶지는 않았습니다. 게임을 재개할 때마다 반복해서 죽을 테니까요. 그 당시에 게임을 충분히 많이 했다면 적어도 한 번은 이런 경험을 했을 겁니다. 결국 모든 전장에 일부러 잠시 숨을 돌릴 틈을 만드는 게 아닌 이상, 자동 저장을 넣을 때는 위험을 항상 감수해야 합니다. 몇 번의 실험을 거쳐 \"위험한 자동 저장\"이라는 기능을 구현했는데요. 자동 저장과 기간을 결합한 레벨 디자이너 도구였습니다. 레벨 디자이너가 이 기능을 활성화하면 게임은 즉시 저장되지만, 저장 데이터는 따로 보관되어 불러올 수 없는 상태가 됩니다. 플레이어가 지정된 기간 동안 생존하면 저장이 정상적으로 진행되어 가장 최근의 자동 저장 데이터로 사용됩니다. 이를 통해 레벨 디자이너는 전장 내 적절한 위치나 시간에 자동 저장을 설정할 수 있었고, 예를 들어 30초의 기간을 지정한 후 플레이어가 30초 동안 생존하면 자동 저장 데이터가 사용되도록 했습니다."
N/A4127"#commentary\cn_212_we_dont_go_to_ravenholm.mp3" "[Dario Casali] 레이븐홈 작업을 마무리하면서 일라이의 실험실에서의 전환이 제대로 작동하지 않는다는 느낌을 떨칠 수 없었습니다. 너무 갑작스러웠거든요. 일라이의 실험실은 원래 곧 도착하게 될 마을의 거리와 직접 연결되어 있었고, 지금 서 있는 구역은 있지도 않았습니다. 실험실의 마지막에 이제는 돌아가지 않을 것이라는 약속을 했는데, 전체적인 분위기 연출이 마음에 들었습니다. 하지만 플레이어는 레이븐홈에 도착하자마자 긴장감을 조성할 여지 없이 좀비와의 전투에 즉시 투입되었는데요. 그래서 저희는 이 구역과 이어지는 좁은 구간을 연출하기 위해 최선을 다했습니다. 속도를 늦추고 아트와 조명에 집중하면서, 더 이상 레이븐홈에 돌아가지 않는 이유를 마련했습니다."
N/A4128"#commentary\cn_213_lever_shenanigans.mp3" "[Dario Casail] 플레이어의 마음속에서 이 레버와 외부 전기 울타리 사이의 연관성을 찾기 위해 온갖 노력을 기울였지만, 일부 테스터는 여전히 레버를 돌려놓고도 자신이 무슨 짓을 했는지 알지 못했습니다. 심지어 주변을 서성거리다가 레버를 다시 켜고 또다시 돌아다니기도 했죠. 연관성을 더 명확하게 만들 시간이 얼마 남지 않았기에, 레버를 부수기로 했습니다. 이렇게 하면 플레이어가 진행 상황을 되돌릴 수 없게 되었고, 레이븐홈이 불안정하고 쇠퇴해 가는 환경이라는 느낌을 더욱 심화시킬 수 있었죠."
N/A4129"#commentary\cn_214_town_arenas.mp3" "[Dario Casali] 레이븐홈을 이 정도 진행했다면 사용할 수 있는 게임플레이 요소를 모두 익혔고 상호 작용을 예측할 수 있게 되었을 텐데요. 저희도 이제 더 복잡한 설정을 구축할 수 있어 위협의 수준을 높이고 플레이어가 해법을 더 자유롭게 찾을 수 있게 하였습니다. 이 전장은 플레이어의 탐험을 위해 의도적으로 얽혔고, 저희는 그 틈을 이용해 전투의 강도를 서서히 높였습니다. 플레이어가 더 빨리 탐험할수록 난이도도 더 빨리 올라가는데요. 이 디자인은 프리폼 특성상 각자 플레이하는 방식이 워낙 들쭉날쭉해서 조정하기가 어려웠습니다."
N/A4130"#commentary\cn_215_mines.mp3" "[Dario Casali] 플레이어는 이 갱도를 안전하게 돌파하기 위해 복잡한 길을 걸으면서 바닥에 있는 위협을 충분히 볼 수 있습니다. 네, 놀랍게도 헤드크랩인데요. 솔직히 헤드크랩이 흔한 건 사실이죠. 하지만 여기서는 독 헤드크랩이 등장합니다. 이렇게 해도 재미있지만 빠른 헤드크랩까지 넣으면 아수라장이 펼쳐지죠. 이 두 녀석의 조합은 훌륭합니다. 둘 다 그 자체로는 특별히 위험하지 않지만, 둘을 합치면 믿을 수 없을 정도로 치명적입니다. 일단 독에 걸리면 빠른 헤드크랩에 단 한 대만 맞아도 죽을 수 있으니까요. 이걸 생물학에서 공생이라고 하던가요? 뭐, 저희가 보기엔 그렇습니다."
N/A4131"#commentary\cn_216_poison_headcrabs.mp3" "[David Speyrer] 이 방은 의도치 않게 독 헤드크랩을 소개합니다. 레벨 후반에 적절한 소개를 만드는 데 많은 시간을 보냈지만 플레이테스트가 얼마나 잘 되는지 보고 나서는 이성을 잃고 얼마 지나지 않아 레벨 전체에 녀석들을 흩어놓았지요. 정식으로 소개하기 전에 나타났다는 것을 깨달았을 때는 다시 작업하기에 너무 늦었습니다. 다행히 독 헤드크랩으로 가득 찬 좁은 방은 전투 훈련에서 흔히 발생하는 문제를 피할 수 있기 때문에 훈련용으로 적합했죠. 플레이어는 보통 스트레스를 받고 이유를 모른 채 반복적으로 죽으면 좌절할 수 있는데, 독 헤드크랩과 원래 숙주인 독 좀비를 모두 이용해 훈련 시퀀스를 만들려고 할 때 특히 그랬죠. 하지만 독 헤드크랩은 플레이어를 혼자서 죽일 수 없습니다. 스트레스는 받겠지만 즉사할 걱정이라도 덜 수 있게 된 것이죠."
N/A4132"#commentary\cn_217_poison_zombie_introduction.mp3" "[David Speyrer] 플레이어를 좁은 공간에 가두는 동시에 밖을 볼 수 있게 하면, 플레이어가 저희가 의도한 것을 눈치챌 확률을 높일 수 있습니다. 여기서는 독 좀비가 나타나기 전에 울부짖는 소리를 내어 플레이어의 주의를 끌었는데요. 원래 이 조우는 플레이어가 독 헤드크랩을 처음 마주치는 곳이기도 했지만, 앞서 언급했듯이 레벨 곳곳에 독 헤드크랩을 너무 많이 배치하는 바람에 결국 두 몬스터가 동시에 등장하는 시퀀스가 엉망이 되었죠. 하지만 결국 이 첫 번째 조우 이벤트는 각각 따로 진행하는 것이 더 효과적이었습니다."
N/A4133"#commentary\cn_218_final_arena.mp3" "[Eric Smith] 레이븐홈 개발의 첫 단계를 마쳤을 때 이 옥상에서 최후의 결전을 벌일 예정이었습니다. 원래 옥상은 다른 곳과 마찬가지로 시각적으로 흥미로운 장소로 개발되었는데요. 플레이어가 레이븐홈을 떠날 때 방금 살아서 빠져나온 마을을 되돌아보고 다음 행선지를 엿볼 수 있는 순간을 갖는 것이 중요하다고 생각했습니다. 여러 게임플레이 그룹에서 여기에 전투를 넣으려고 시도했지만 지오메트리와 성능의 제약이 심해 실제로 만족스러운 마무리를 만들지 못했습니다. 레이븐홈도 Half-Life 사가 자체와 마찬가지로 실제 결말이 없을 운명인 것 같았죠."
N/A4134"#commentary\cn_219_tables_and_bodies.mp3" "[Ido Magal] 레이븐홈 제작 막바지에 모든 주요 요소를 정립한 후, 빈 공간을 흥미로운 요소로 채우려고 노력했습니다. 이 과정에서 기존에 있던 요소를 활용하고 새로운 요소를 만들지 않도록 주의해야 했습니다. 버그가 더 생길 위험을 감수할 수 없었으니까요. 이 방처럼 새로운 게임플레이 순간을 추가하는 동시에 해당 지역에 더 많은 디테일과 스토리텔링을 더하려고 노력했습니다. 이처럼 작은 장면은 주의 깊은 플레이어가 자신이 보고 있는 것이 무엇인지, 그리고 그것이 다음에 마주칠 상황에 어떤 의미를 가질지 생각해 볼 수 있도록 해줍니다."
N/A4135"#commentary\cn_220_physics_object_consistency.mp3" "[Kerry Davis] 모든 물리 오브젝트는 그 동작을 정의하는 다양한 매개변수를 갖습니다. 질량, 파괴되기 전까지 받는 피해량, 파괴되는 대상 등 말이죠. 개발 과정에서 레벨 디자이너는 이러한 매개변수를 각 아이템에 지정했고, 게임 내 대부분의 요소가 이러한 방식으로 작동했습니다. 하지만 저희는 개발 후반부에 이르러서야 사서 고생한 격이 되었다는 것을 깨달았는데요. 게임 내 있는 수천 개의 물리 오브젝트 간 일관성을 보장할 방법이 없었습니다. 결국 종이 상자가 레벨에 따라 총알 한 방에 쉽게 부서지거나 아예 무적이 된 적도 있었죠. 내부적으로는 이러한 불일치를 레벨 디자이너의 탓으로 돌렸습니다. 문제도 해결하고 디자이너도 혼내주기 위해 모든 물리 오브젝트의 시각적 모델을 기반으로 일관성을 강제하는 시스템을 구축했습니다. 이미 게임이 대부분 완성된 상태였기 때문에, 레벨 디자이너가 괘씸하게도 디자인을 보존하기 위해 규칙을 깨야 하는 상황을 제외하도록 시스템에서 제외되는 것을 허용해야 했습니다. 저희 Valve 내부에서는 이 디자이너들을 상습범이라고 부르는데, 오늘날까지도 Valve에서 범죄 생활을 이어가는 상습범도 있습니다."
N/A4136"#commentary\cn_222_fast_zombie_introduction.mp3" "[Randy Lunded] 이 공간은 원래 E3 2003을 위해 만들어졌는데, 플레이어가 콤바인 병사들과 싸우는 모습을 보여줬습니다. 고속 좀비를 소개했을 때는 이전 작업의 대부분을 그대로 유지하려고 노력했습니다. 달빛 아래 좀비들이 늑대인간처럼 달을 뛰어넘는 상징적인 장면을 연출하여 플레이어의 시선을 사로잡고 싶었죠. 이 작업을 끝낸 후 첫 번째 고속 좀비를 플레이어 공간에 도입하여 보냈습니다. 장면을 보기 좋게 비추면서 게임플레이 목표에도 부합하도록 조명의 적절한 균형을 맞추기 위해 반복 적업을 많이 했습니다."
N/A4137"#commentary\cn_223_ravenholm_gameplay_focus.mp3" "[Mike Dussault] 저희는 레이븐홈의 여러 플레이테스트를 본 후, 레벨의 핵심 게임플레이가 중력건과 물리 엔진을 중심으로 이루어진다는 것을 알게 되었습니다. 이러한 지식을 바탕으로 레이븐홈으로 전환되는 과정도 적절하게 구축하고, 플레이어가 앞으로 할 경험을 조금이나마 배우고 이해하도록 도울 수 있다고 생각했습니다. 이런 일은 꽤 흔한데요. 레벨 트랙을 만들고, 무엇이 효과적인지 파악한 후, 프롤로그를 디자인하는 것이죠. 저희는 그 테이블 세팅을 염두에 두고 다음 방들을 만들었습니다. 플레이어에게 잔혹한 도구를 준 덕에 저희가 의도했던 분위기를 조성할 수 있었고, 안전한 일라이의 실험실에서 나가 더 어둡고 무서운 분위기로 분위기를 전환하는 데 도움이 되었습니다."
N/A4138"#commentary\cn_224_player_tools.mp3" "[Steve Bond] 플레이어는 이 시점에서 Half Life 2의 물리 효과에 익숙해졌겠죠. 하지만 이제 막 중력건을 얻었으니, 이제 게임 내 물리 오브젝트와 완전히 새로운 방식으로 상호 작용할 수 있게 됩니다. 우리는 플레이어가 사용할 수 있는 다양한 물리 객체를 반복했습니다. 톱날, 투석기, 폭약통, 함정, 창 등과 같은 오브젝트와 물리건과 잘 어울리는 것들은 다듬고, 그렇지 않은 것들은 제거했습니다. 그런 다음 탄약 아이템 레벨을 제거하여 플레이어가 이러한 오브젝트에 의존하여 생존해야 하도록 했습니다. "
N/A4139"#commentary\cn_225_contrived_setups.mp3" "[Kerry Davis] 중력건과 물리 오브젝트 훈련에는 아주 명백한 계략이 있는데요. 플레이어가 중력건을 들고 벽에서 톱날을 꺼내면 곧바로 좀비가 모퉁이를 돌아다니며 톱날을 쏘아 달라고 간청합니다. 그런 다음 플레이어는 회전하는 칼날 함정 아래로 기어들어가 전원을 끄는데 갑자기 좀비 세 마리가 나타나 플레이어를 조롱하여 함정을 다시 켜도록 유도합니다. 이 섹션을 반복할 시간이 별로 없었기 때문에 '올바른' 행동을 하는 것에 의존하는 개방적인 설정이 아니라 모든 플레이어에게 적합한 설정이 필요했죠. 이런 디자인은 플레이어의 창의성을 떨어뜨릴 가능성이 있지만, 이번 사례에서는 플레이어도 저희가 약간 무리하게 손을 대는 것을 개의치 않는 것 같았습니다."
N/A4140"#commentary\cn_226_misteaching_flinches.mp3" "[Kerry David] 레이븐홈에서 플레이어를 잘못 가르치는 것의 위험성을 보여준 플레이테스트가 기억나네요. 저희 디자인 원칙 중 하나는 게임이 플레이어에게 최대한 반응하도록 하는 것입니다. 그래서 중력건을 디자인할 때, 당연히 플레이어가 좀비에게 중력건을 겨누고 방아쇠를 당길 때 무언가가 일어나도록 만들려고 했죠. 좀비에게 약간의 피해를 입히는 것은 아주 간단했고, 좀비가 움찔하는 애니메이션을 보도록 유도하는 것도 좋았습니다. 이 애니메이션은 보기에도 좋고 반응성도 좋았습니다. 나중에 레이븐홈에 도착하자마자 이 상호 작용을 발견한 테스터의 플레이테스트를 시청했는데, 테스터는 중력건이 좀비에게 피해를 주고 있다는 피드백으로 해석했습니다. 실제로 주는 피해가 그리 크지 않았는데도 말이죠. 그래서 테스터는 좀비가 죽을 때까지 계속 반복해서 전기 충격을 가했습니다. 톱날과 폭약통이 가득한 곳에서 이렇게 싸우면 재미도 없고 좀비에게 잔인하기도 하죠. 이러한 교훈을 바탕으로, 좀비와 중력건 사이의 상호 작용이 사라진다는 것을 감안하며 움찔하는 애니메이션을 삭제했습니다. 결국 중력건이 좀비와 싸우는 효과적인 방법이라는 잘못된 인상을 주기보다는 이런 간단한 상호 작용을 삭제하기로 한 것이죠. 간단한 원칙조차도 세부적으로 들어가면 타협이 필요할 수 있습니다."
N/A4141"#commentary\cn_227_fire_trap.mp3" "[Steve Bond] 이 불 함정은 원래 불 시스템을 시각적으로 돋보이게 하려 만들었지만, 레벨 디자이너의 손을 거쳐 레이븐홈의 게임플레이 요소로 재탄생했습니다. 투명 스프라이트와 관련된 오버드로우로 인해 저사양 PC의 성능에 악영향을 미쳐 개발 과정에서 여러 번 삭제될 뻔했습니다. 하지만 어느 프로그래머는 결국 함정이 게임 플레이에 매우 중요하다고 판단해, 성능 문제를 해결하고 게임에 구현할 수 있도록 노력하자고 주장했죠."
N/A4142"#commentary\cn_228_hallway_cupboards.mp3" "[Yahn Bernier] 쓰레기로 가득 찬 이 복도를 활용해 플레이어의 속도를 간단하게 늦출 수 있었습니다. 느리게 움직이는 좀비를 주 적으로 삼아 기존 지오메트리를 최대한 보존해야 한다는 제약이 있었기 때문에, 플레이어들이 여기까지 질주하는 것을 막기는 어려웠습니다. 운 좋게도 그리고리가 광란의 레이븐홈 주민으로 등장했기 때문에 이러한 설정을 쉽게 정당화할 수 있었는데요. 그리고리가 옥상에서 자신을 안전하게 지키기 위해 계단 통로를 막았다는 것은 당연한 일입니다. 결국 그리고리는 저희 생각을 반영했는데요. 그냥 가구를 마구 던지는 겁니다. 가구로 좀비를 막을 수 있다면, 플레이어도 저지할 수 있으니까요."
N/A4143"#commentary\cn_229_pacing_switch.mp3" "[Steve Bond] 이제 플레이어가 훈련 단계를 마쳤으니, 답답하고 음울한 공간에서 전투 중심의 액션 경기장으로 게임 진행 방식을 전환할 수 있습니다. 플레이어가 주변 환경의 다양한 물리 도구에 익숙해지면, 이러한 도구를 열린 공간에 혼합하여 플레이어가 원하는 방식으로 게임을 진행할 수 있도록 자유롭게 설정할 수 있습니다."
N/A4144"#commentary\cn_230_car_crushers.mp3" "[Steve Bond] 이 차량 분쇄기는 물리 피해 시스템에 약간의 조정과 상당한 작업이 필요했습니다. 큰 물리 오브젝트가 NPC와 상호 작용할 때는 항상 어려움이 따릅니다. 예를 들어 오브젝트가 NPC를 밀어낼 수 있다면, NPC를 잘못된 곳으로 밀어내 회복할 수 없게 만들 수 있습니다. 이는 어려운 상황에서 쉽게 빠져나올 수 있는 헤드크랩 같은 경우에는 큰 문제가 되지 않지만, 좀비 같은 경우에는 끼어들어 무력하게 빠져나가게 될 수 있습니다. 좀비가 플레이어에게 끼어든 틈새에서 허우적거릴 수 있는 거죠. 이러한 상황이 발생하면 저희가 추구하는 서바이벌 호러 분위기를 망치게 됩니다."
N/A4145"#commentary\cn_231_car_crusher_lifts.mp3" "[Eric Smith] 자동차 분쇄기가 플레이어를 들어 올리도록 하는 것도 까다로웠습니다. 플레이어는 항상 물리 시스템과 게임의 이동 시스템 모두에 의해 구현됩니다. 플레이어의 상태를 업데이트할 때마다 두 시스템의 결과를 비교하여 어느 것이 '옳은지' 결정한 다음 동기화하고 반복되죠. 이를 통해 두 시스템이 서로 영향을 주고받게 됩니다. 플레이어가 시소에 서 있을 때 물리 엔진이 널판지를 무너뜨리거나 자동차 분쇄기에 서 있을 때 플레이어가 들어올려지는 것과 같습니다. 이 이중 시스템 접근 방식은 더 복잡하지만 물리와 플레이어 이동을 단일 시스템에서 처리하려고 하는 것보다 조정하기가 더 쉽습니다. 두 가지를 분리함으로써 이동 시스템만 미세 조정하여 그 자체로 자연스러운 느낌을 줄 수 있었고 물리가 플레이어에게 영향을 미칠 때만 두 가지를 조화시킬 수 있었습니다."
N/A4146"#commentary\cn_232_paint_cans.mp3" "[Steve Bond] 저희는 레이븐홈 게임플레이의 핵심으로 중력건과 물리 엔진을 도입하는 데 성공하기 시작하자, 레벨을 하나하나 살펴보면서 톱날이나 폭약통처럼 공격적인 요소들을 다루느라 간과했을 법한 요소들을 찾기 시작했습니다. 그중 하나가 페인트 통이었는데, 페인트 통을 좀비에게 던지면 페인트가 튀는 장면을 연출하여 플레이어의 기대감을 간단히 더욱 고조시킬 수 있었습니다."
N/A4147"#commentary\cn_233_bringing_physics_to_the_enemies.mp3" "[Tom Leonard] 레이븐홈의 물리 함정은 저희가 정말 만족했던 게임플레이 요소 중 하나였지만, 플레이어의 참여가 부족했습니다. 레이븐홈의 진정한 의미를 파악하는 데 도움이 된 것은 바로 톱날이었습니다. 톱날을 통해 플레이어는 좀비를 물리 엔진에 유도하는 게 아닌, 직접 적용할 수 있었습니다. 레이븐홈은 이러한 이해를 바탕으로 빠르게 발전했습니다. 저희는 플레이어를 위한 도구나 무기로 활용할 수 있는 모든 것, 특히 특이한 것들을 찾기 위해 맵을 끊임없이 샅샅이 뒤졌습니다."
N/A4148"#commentary\cn_234_ravenholm_development.mp3" "[Tom Leonard] 레이븐홈은 Half-Life 2 제작 초기에 개발을 시작했기 때문에 두 번 이상의 전체 개발 단계를 거쳤습니다. 첫 번째 버전은 중력건보다 먼저 만들어졌고, 총과 일부 물리 함정을 사용하는 기존의 좀비 전투가 진행되는 구조였습니다. 심지어 2002년 E3에서 레이븐홈을 선보이려고 했지만, 결국 1년 후인 2003년에 공개되었죠. 저희는 그 당시 레이븐홈의 아트에 많이 투자했는데, 보통은 게임플레이가 완전히 검증될 때까지 피하는 단계였습니다. 그래서 중력건 시스템을 염두에 두고 레이븐홈으로 돌아갔을 때는 매우 다른 게임플레이 목표를 염두에 두고 디자인된 기존 레벨 지오메트리를 많이 활용했습니다."
N/A4149"#commentary\cn_235_grigori_plaza.mp3" "[Steve Bond] 저희는 첫 번째 개발 단계에서 이 열린 광장을 완전히 세부적으로 제작했는데, 작업을 다시 시작했을 때는 3차원을 모두 사용하는 새로운 플레이어 경로를 디자인하며 기존 아트를 최대한 보존하고 싶었습니다. 창문을 통해 플레이어를 위아래로 이동시키고, 옥상을 가로질러, 건물 사이로 이동시켰는데요. 공간이 크지 않았기 때문에 가능한 한 많은 트랙을 압축해야 했습니다. 그리고 원래 아트에 중점을 둔 영역이었기 때문에 게임플레이가 부족하여 테스터가 그냥 지나가는 경우가 많았다는 문제를 해결해야 했죠. 게다가 이미 렌더링 성능 한계를 초과하여 새로운 것을 추가할 여유가 거의 없었습니다. 모서리 주변과 레벨의 모든 구석구석에 위협을 추가하여 플레이어의 속도를 늦추는 작은 추가 사항을 찾는 것이 매우 중요했습니다."
N/A4150"#commentary\cn_236_ravenholm_development_2.mp3" "[Tom Leonard] 팬들은 대부분 Half-Life 2에 대해 이야기할 때, 레이븐홈이 가장 기억에 남는다고 합니다. 여러 개발 단계와 그 안에 담긴 자료의 밀도 덕분에 레이븐홈에는 다른 어느 곳보다도 많은 팀원들이 참여하고 있습니다. 여기서 우리는 예술적 파이프라인을 원하는 세트 피스와 분위기에 적용하는 방법, 물리 엔진과 게임플레이가 중력건과 어떻게 결합했는지, Half-Life 2에서 헤드크랩과 좀비가 어떻게 진화해야 하는지 등을 알아냈습니다. 지금 돌이켜보면 중앙에 집중하지 않고 개인의 역량을 믿으며 디자인하길 잘했다는 확신이 듭니다. 레이븐홈은 집적도가 높고 게임플레이와 예술적 실행 면에서 매우 효율적입니다. 그리고 자신만의 독특한 능력으로 레이븐홈을 조금 더 발전시킬 수 있는 방법을 이해한 개인들이 많은 작은 기여를 한 셈이죠."
N/A4151"#commentary\cn_237_playtester_archetypes.mp3" "[Tom Leonard] 반복 테스트와 정기적인 플레이 테스트는 Half-Life 2 제작의 핵심이었습니다. 저희는 매주 플레이어가 테스트 중인 섹션을 살펴보면서, 효과가 있는 부분과 그렇지 않은 부분을 메모하는 모습을 어깨너머로 조용히 지켜보곤 했습니다. 일부 플레이어에게만 효과가 있는 결정을 내리지 않았는지 확인하기 위해 다양한 숙련도를 테스트하는 것이 중요했습니다. 시간이 흐르면서 개발 단계에 따라 특정 유형의 플레이 테스터를 선택하는 법을 배웠습니다. 초기에는 주로 팀 동료 위주로 경험이 많은 게이머를 기용했는데, 이들은 아직 완성하지 못한 부분을 잘 다루고 사고 과정을 잘 설명해 주었습니다. 전투 테스트에서는 모든 숙련도의 플레이어, 특히 도구를 창의적으로 사용하는 플레이어에게 부탁했습니다. 마지막으로, 섹션이 더 다듬어지면서 게임을 많이 플레이하지 않았거나 1인칭 슈팅 게임에 익숙하지 않은 초보자, 즉 게임을 많이 플레이하지 않은 게이머에게 초점을 맞췄습니다. 꼭 그 게임을 살 만한 사람이 아니더라도, 그들을 보면서 가치 있는 무언가를 배울 때가 많습니다."
N/A4152"#commentary\cn_238_the_real_final_arena.mp3" "[Tom Leonard] Half-Life 2 개발이 거의 끝나갈 무렵, 최종 개선 기회를 위해 전체 게임을 검토하던 중, 사실 레이븐홈에서 마무리를 장식하고 싶다는 결론을 내렸습니다. 옥상 전투만으로는 충분하지 않았거든요. 논의 끝에 플레이어와 함께 그레고리와 함께 묘지를 통과하는 이 마지막 전투를 추가하기로 했습니다. 개발 측면에서는 위험했지만 게임에 필요하다고 생각했습니다. 개발이 거의 끝나갈 무렵이었기 때문에 어느 정도 완성된 게임플레이 도구를 이용할 수 있었지만, 더 중요한 것은 이 시점에 이르러서야 우리 게임을 이해하게 되었다는 것입니다. 게임 개발이란 종종 실제로 무엇을 만들고 있는지 배우는 과정입니다. 우리 게임이 재미있는 이유는? 차별점은? 가장 중요한 요소는? 게임을 만들고 테스터가 게임을 진행하는 것을 보면서 이러한 질문에 대한 답을 알게 되었고 결과적으로 게임을 만드는 데 더 능숙해졌습니다. 결국 묘지는 빠르게 완성되었고 게임의 이전 영역보다 훨씬 적은 반복 작업이 필요했습니다."
N/A4153"#commentary\cn_239_cities.mp3" "[Eric Kirchmer] 이 섹션에서 가장 까다로운 과제 중 하나는 플레이어에게 광활한 도시에 있는 듯한 느낌을 주는 방법을 찾는 것이었습니다. 성능의 한계 때문에 그런 느낌을 구현할 수 없었기 때문입니다. 저희는 그래서 밀집된 공동주택, 지하 주차장, 지하철 터널, 암거 등에 집중했습니다. 도시에 위치하지만 일반적으로 해를 볼 수 없는 곳 말이죠. 그런 다음 이러한 스타일의 레벨 디자인을 보완하기 위해 공간 전체를 플레이어에게 광활한 전망을 제공하는 전망 위치로 구성했습니다. 이러한 위치에서는 성능 예산 전체를 전망에 집중할 수 있었고, 적 AI나 전투에 예산을 아낄 필요가 없었습니다."
N/A4154"#commentary\cn_240_strider_4.mp3" "[Eric Smith] 이 맵은 스트라이더를 위해 제작된 제작 맵이긴 하지만, AI 테스트를 위한 오리지널 개발 맵은 아직 남아 있었습니다. AI를 위한 탄탄한 테스트 맵을 만들면 새로운 게임플레이 아이디어를 빠르게 시험해 보고 쉽게 조정할 수 있어 매우 유용하다는 것을 발견했습니다. 버그나 디자인 문제가 있는 경우 이를 더 빠르게 분리하고 반복할 수 있습니다. AI 기능이 제대로 작동하면 레벨 디자이너가 작업할 수 있도록 프로덕션 맵에 이식합니다. 스트라이더의 테스트 맵에는 폐허가 된 건물의 대략적인 윤곽이 포함되어 있었으며, 다양한 위치와 높이에 무한한 시민 생성 장치가 있어 지속적으로 목표물을 확보할 수 있었습니다. 이 설정을 통해 스트라이더의 AI와 자세 변화를 개선하여 흥미롭고 매력적으로 만들 수 있었습니다. 심지어 앉아서 실제로 작동하는 모습을 지켜볼 수도 있습니다."
N/A4155"#commentary\cn_241_perf_arena.mp3" "[Aaron Seeler] 이 전장에는 성능이라는 중요한 과제가 있었습니다. 전장의 규모와 스트라이더와 시민 AI의 결합은 저희의 한계를 뛰어넘었습니다. Half-Life 2를 Xbox에 포팅하여 출시하기 전에 디자인 조정을 거쳐야만 했습니다. 원래의 의도를 유지하면서 더 적은 도구와 공간으로 동일한 게임플레이를 제공하는 것은 까다로운 균형점이었죠."
N/A4156"#commentary\cn_242_space_re-use.mp3" "[Chris Green] 이 공간으로 돌아오니 여러 가지 이점이 생겼는데요. 먼저, 분명한 것은 새로운 지역의 제작 비용이 항상 많이 들기 때문에 기존 지역에 더 많은 게임플레이를 추가하는 편이 훨씬 낫다는 점입니다. 하지만 플레이어가 여러 스트라이더를 상대하는 이런 어려운 전투에서는 재사용하면 이점을 더 얻을 수 있습니다. 플레이어들은 전에도 겪어본 이 전장의 구조를 이미 잘 알고 있습니다. 이번에는 플레이어가 앞뒤로 이동하지만 크게 보면 원래 경로대로 이동합니다. 플레이어는 이러한 친숙함을 활용해 전투에 필요한 자원을 확보하기 위해 앞으로 나아갈 수 있습니다. 17번 지구는 전쟁으로 폐허가 된 상태 덕분에 엄폐물이 가득하고, 길을 따라 작은 장애물을 추가할 수 있는 여유가 있어 역동적이고 놀라운 환경을 유지할 수 있었습니다."
N/A4157"#commentary\cn_243_tenements_and_courtyards.mp3" "[Danika Rogers] 저희는 플레이어에게 전쟁 중인 도시의 느낌을 주기 위해 여러 가지 작은 속임수와 기능을 활용했습니다. 대부분의 작업은 소규모 전투나 멀리서 들리는 전투 소리를 살짝 보여주는 데 집중했습니다. Looktargets는 플레이어가 창문을 통해 볼 때마다 무언가가 일어나도록 했고, 디자이너는 Tracer Makers와 같은 도구를 사용하여 두 지점 사이에 가짜 예광탄을 생성할 수 있었습니다. 오디오 도구와 함께 사용하여 AI를 실행하지 않고도 두 적 집단이 총격을 주고받는 것처럼 보이게 할 수 있었죠. 또한, 플레이어가 레벨을 진행하는 동안 여러 번 보게 될 시민 집단을 위한 작은 스토리라인도 개발했습니다. 이 모든 순간은 최대한 많은 플레이어가 경험할 수 있도록 플레이테스트를 통해 세밀하게 조정되었습니다."
N/A4158"#commentary\cn_244_hopper_mine_training.mp3" "[Dario Casali] 이 주름진 금속 패널은 플레이어가 중력건으로 교체하여 장애물을 제거하도록 유도하기 위해 의도적으로 홀 위에 설치되었습니다. 저희 쪽에서 약간 조작한 부분이 있는데요. 왜냐하면 플레이어가 호퍼 지뢰에서 바로 중력건을 사용하는 것이 훨씬 효과적이고 금속 패널을 사용해서 준비할 확률을 크게 높였기 때문이죠. 저희는 홀에 지뢰를 여러 개 설치하여 플레이어들이 지뢰와 상호 작용할 기회를 여러 번 가질 수 있도록 했습니다. 그래서 지뢰를 처분하는 다른 방법을 찾을 확률을 높였습니다. 게다가 플레이어 분대 전체가 시민들과 함께 있을 때 훈련을 하는 것은 이번이 처음이기 때문에, 그 기회를 살려 호퍼 지뢰에 관한 몇 가지 대화 내용도 포함시켰습니다."
N/A4159"#commentary\cn_245_dog_combat.mp3" "[Eric Kirchmer] 도그는 정말 재미있는 캐릭터입니다. 저희는 항상 도그를 플레이어와 함께 전투에 포함시킬 방법을 찾고 있었는데요. 하지만 그에 맞는 적절한 규모의 전투, 즉 적절한 환경, 새로운 적 AI, 그리고 잠재적으로 새로운 적까지 확보하는 것은 프로젝트 범위를 순식간에 벗어났습니다. 도그에게 잘 맞으면서 게임의 나머지 부분에도 맞설 수 있는 전투 시나리오를 만들다 보면 게임 안에서 새로운 게임을 만드는 느낌이 들었죠. 저희는 도그가 병사에게 달려가서 주먹을 날릴 수 없다는 것을 알고 있었습니다. 감탄이 나오지도, 놀랍지도 않을 테니 말이죠. 도그의 덩치에 맞도록 큰 위협과 재미있는 대처 방법을 고안해야 했습니다. 결국 저희는 방대한 게임플레이 디자인을 통합하지 않고도 전투에서의 도그의 시네마틱 목표를 실현하기 위해 대규모 안무 장면을 만들기로 결정했습니다."
N/A4160"#commentary\cn_246_strider_2.mp3" "[Eric Kirchmer] 여기서 스트라이더의 반복 작업을 하다 보니 마침내 플레이어가 로켓을 사냥하면서 엄폐물 사이를 달려가서 그 공격을 피해야 하는 만족스러운 경험을 얻을 수 있었습니다. 플레이어가 마지막 순간에 엄폐물로 뛰어드는 느낌을 받기를 원했기 때문에 스트라이더의 스티칭 총격 패턴을 조정하여 임박한 위험을 알렸습니다. 또한 스트라이더가 따라갈 수 있는 트랙 시스템을 구축하여 플레이어를 추적하거나 시야를 확보하기 위해 트랙 사이를 동적으로 전환할 수 있도록 했습니다. 이 설정을 통해 레벨 디자이너는 균형 잡힌 경험을 위해 스트라이더 트랙을 플레이어 엄폐물에 조심스럽게 맞출 수 있었습니다. 스트라이더의 다리 위치는 전적으로 코드에 의해 결정되었으며 예측할 수 없는 움직임으로 인해 필요할 때 자동차나 병력 컨테이너를 안정적으로 차도록 하기 위해 종종 세부 조정이 필요했습니다."
N/A4161"#commentary\cn_247_manhack_tunnels.mp3" "[Eric Smith] NPC의 AI 동작을 개발할 때, AI 프로그래머가 실험할 수 있는 테스트 맵이 있다는 것이 유용하다는 것을 알게 되었습니다. 이 맵은 NPC의 고유한 능력을 보여주기 위해 특별히 설계된 환경으로 발전하는 경우가 많았습니다. 테스트 맵은 나중에 레벨 디자이너가 AI를 사용할 준비가 되었을 때 귀중한 참고 자료가 되었습니다. 테스트 맵이 없으면 디자이너가 의도치 않게 흥미로운 AI의 매력을 떨어뜨리는 시나리오를 만들 수 있었기 때문입니다. 이러한 테스트 맵을 게임에 직접 통합할 수 있는 경우도 있었습니다. 예를 들어, 이 작은 섹션은 맨핵의 AI를 개발하는 데 사용된 터널에서 시작되었습니다."
N/A4162"#commentary\cn_248_sniper_streets_2.mp3" "[Erik Johnson] Half-Life 2의 총알은 실제 탄도를 따르지 않고 목표물에 즉시 도착합니다. 하지만 발사 속도가 느리지만 플레이어가 한 방마다 신경을 쓰게 되는 저격수의 경우 총알이 날아가는 모습을 구현하고 싶었습니다. 이 접근법은 저격수의 거리에 따라 조준경이 날아가고 총알이 얼마 지나지 않아 적중하는 레이저 조준경에서도 더 효과적이었습니다. 하지만 이번 변경으로 새로운 문제가 생겼습니다. 플레이어들이 총을 피하려고 길거리에서 전력 질주하는 것을 원하지 않았기 때문에 스나이퍼는 움직이는 목표물을 이끌고 탄착점을 예측해야 했습니다. 플레이어가 현실에서 가능한 것보다 훨씬 빠르게 방향을 바꿀 수 있기 때문에 플레이어가 갈 위치를 예측하는 것은 까다로웠습니다. 그래서 플레이어가 달릴 때 왼쪽과 오른쪽으로 빠르게 두드리는 것과 같은 행동을 포착하기 위해 검사를 더 추가했죠."
N/A4163"#commentary\cn_249_triangle_plaza.mp3" "[Ido Magal] 이 광장 전투는 역장마다 한 대씩 두 개의 전선이 모이는 돌격 행동을 사용한 복잡한 설정이었습니다. 전장 뒤에서 병사들이 진입할 때, 병사들의 전선 때문에 개별적으로 광장으로 돌진하는 것이 막혔습니다. 전투가 격화되고 병사들이 늘어남에 따라 전선이 광장 중앙으로 이동하기 시작하는데, 격퇴하지 않으면 병사들이 플레이어를 압도하게 됩니다."
N/A4164"#commentary\cn_250_sniper_streets_3.mp3" "[Jakob Jungels] 저희는 이 거리에서 제압 사격 등의 기능을 시험했습니다. 거리 끝에 웅크리고 있던 플레이어에게 저격수의 창문에 일제 사격을 가하도록 지시해 효과가 있는지 살펴봤죠. 그래서 레이저 조준경을 잠시 끄고 플레이어들이 이동할 시간을 주는 실험을 했습니다. 하지만 플레이테스트를 여러 번 거친 후 두 가지 문제에 직면했는데요. 첫째, 저격수를 통해 연출하고자 했던 엄폐 게임플레이가 방해되었습니다. 사격 중 질주하는 행동은 이미 17번 지구에서 많이 수행하고 있었으니까요. 둘째, 제압 사격을 처음 발견한 플레이어들이 이를 수행하기 위해 탄약을 빠르게 소모한다는 미묘한 문제가 발생했습니다. 중간에 탄약이 떨어지면 실패했다고 생각하고 포기하는 경우가 많았고, 성공하더라도 탄약이 없는 경우가 많았습니다. 반면, 은신으로 시나리오를 완료한 플레이어는 탄약을 거의 사용하지 않았습니다. 접근 방식에 따라 남은 탄약의 격차가 커 이후 섹션의 탄약 균형을 맞추는 것이 거의 불가능했기 때문에 최종 게임에는 포함되지 않았습니다."
N/A4165"#commentary\cn_251_assault_behavior.mp3" "[John Cook] Half-Life 2에서 가장 복잡한 동작은 게임의 이 부분 전체에서 사용되는 공격 동작이었습니다. 레벨 디자이너는 이 동작을 통해 콤바인 병사와 시민을 사용하여 전투 시나리오를 설정하고, 두 세력 사이의 전선을 설정하고 플레이어의 동작에 따라 전투가 어떻게 진행되는지 제어할 수 있었습니다. 공격에 참여하는 NPC는 전선의 위치에 따라 똑똑하게 발사 위치를 찾고 엄폐물을 사용하려고 합니다. 플레이어가 거리를 따라 전진하면서 전선을 앞으로 밀어 아군 시민이 전진시키며 적군을 후퇴시킬 수 있습니다. 또는 플레이어가 직접 콤바인 포탑을 무너뜨리거나 바리케이드 뒤에 있는 병사를 제거하여 전선을 전진시켜야 할 수도 있습니다."
N/A4166"#commentary\cn_252_bank_roof_mortar.mp3" "[John Morello] 여기까지 레벨 트랙을 만들 무렵에는 플레이어가 박격포를 사용하는 것이 재미있을 거라는 것이 분명해졌습니다. 아마 그런 일이 더 일찍 떠올랐어야 하는 상황인 것 같아요. '하늘 높이 폭탄을 쏴 적을 통쾌하게 날려버리는 걸 마다할 수는 없겠지?'라는 생각이요. 어쨌든 플레이어는 지금까지 당하기만 했으니, 이제 콤바인을 똑같이 응징하는 쾌감을 선사할 차례였죠. 하지만 곰곰이 생각해 보자마자 얼마나 많은 작업이 필요한지 알게 되었습니다. 솔직히 비디오 게임을 만들려고 할 때 이런 생각이 많이 드는데요. 플레이어가 박격포 옆에 있으니 이제 박격포의 애니메이션과 효과가 필요하겠죠. 그리고 광장에서 적들을 표적으로 삼을 수 있도록 확장하려면 상당한 노력이 필요할 겁니다. 하지만 더 근본적으로 말하자면, 이렇게 독특한 무기를 만들 수 있는 인터페이스가 없었습니다. 플레이어들은 어떻게 조준하고 발사할 수 있을까요? 게임의 한 순간에 많은 시간을 할애하면 플레이어의 기분이 나쁠 수 있으니, 저희는 노력을 다른 곳에 쏟는 편이 낫다고 판단하고 계속 진행했습니다. 미안해요! 아마도 Half-Life 시리즈의 다음 편에서 박격포의 디자인 수수께끼를 해결할 수 있을지도 모르겠네요."
N/A4167"#commentary\cn_253_strider.mp3" "[Kerry Davis] 저희는 은행 앞 이 구역에서 스트라이더를 구상했습니다. 처음 콘셉트 아트를 봤을 때 게임에 구현하고 싶다는 생각은 했지만, 실제로 어떻게 작동할지에 대한 의문이 많았습니다. 게임 세계에서 이렇게 큰 규모의 적을 만들어 본 적이 없었고, 그 규모에 걸맞게 위험해야 했지만, 플레이어들이 실제로 어떻게 싸울 수 있을지에 대한 의문이 많았습니다. 모든 적과 마찬가지로, 이 적에게서 어떻게 게임플레이를 끌어낼지에 대한 의문이 항상 있었습니다. 레벨 디자이너들이 이 적과 관련된 시나리오를 구축하려면 어떤 도구가 필요할까요? 이 맵에서 진행한 실험을 통해 이 질문에 대한 답을 찾아야 했습니다."
N/A4168"#commentary\cn_254_sniper_streets.mp3" "[Eric Kirchmer] 저희는 저격수가 가득한 이 거리에서 적과 플레이어가 기대했던 경험의 핵심을 모두 발전시켰습니다. 저격수가 플레이어 근처에 있는 적을 공격하도록 만들고 싶었기에, 먼저 저격수가 공격할 만한 다양하고 흥미로운 표적을 찾는 데 집중했습니다. 플레이어의 시점을 고려하여 대상을 선택하는 것이 효과적이라는 것을 확인했습니다. 저격수는 레이저 조준기를 항상 쓰고 있어 플레이어가 저격수의 시선을 지속적으로 확인할 수 있었고, 플레이어가 바라보는 표적을 향해 레이저가 이동하는 모습은 매우 생동감 넘치고 긴장감 넘치는 순간을 선사했습니다."
N/A4169"#commentary\cn_255_citizen_squad_details.mp3" "[Matt Wright] 시민 플레이어 분대를 구성하고 이를 중심으로 시나리오를 구축하기 시작하자, 다른 흥미로운 기회들이 생겨났습니다. 플레이테스터들이 특정 분대원에 관심을 갖기 시작했기에, 저희는 분대원들의 디자인에 더 많은 요소를 추가했습니다. 분대원들은 더 좋은 무기를 발견하면 획득하고, 필요시 플레이어에게 탄약을 전달하며, 의무병은 필요에 따라 플레이어를 치료했습니다. 또한, 예측 불가능한 경로를 자주 이용하는 플레이어를 분대가 따라잡을 수 있도록 해야 했습니다. 카메라 밖에서도 분대는 다양한 방식으로 '편법'을 사용했습니다. 전투 사이에 체력을 회복하고, 빠르게 움직여 따라잡고, 심지어 필요할 때는 순간이동까지 했습니다."
N/A4170"#commentary\cn_256_citizen_squads.mp3" "[Ken Birdwell] 콤바인 대 시민 길거리 전투의 초기 테스트에서 문제가 드러났는데요. 경계가 없으면 전투 AI가 플레이어에게서 크게 멀어질 수 있다는 것이었습니다. 병사들은 재장전이나 은폐를 위해 후퇴할 수도 있고, 시민 AI가 추격에 나설 수도 있습니다. 시민의 행동을 플레이어의 목표에 더 가깝게 조율하여 플레이어가 어디로 향하고 있는지, 어떤 적과 교전하고 싶은지를 알 수 있는 방법이 필요했습니다. 이로 인해 시민 플레이어 분대가 창설되었습니다. 시민 AI는 이 분대를 사용하여 플레이어와 함께 이동하면서 같은 적과 교전하고 플레이어 명령을 위한 기본 인터페이스를 제공했습니다. 처음에는 더 복잡한 명령 시스템을 사용했지만, 금세 다루기 힘들어져서 규모를 축소했습니다."
N/A4171"#commentary\cn_257_ai_behaviors.mp3" "[Mike Dussault] Half-Life 2를 위해 개발한 AI 기술 중 하나는 행동 시스템이었습니다. 행동은 특정 상황에서 NPC를 안내하는 AI 게임플레이 코드의 일부였습니다. 예를 들어, NPC가 플레이어를 안내할 수 있도록 하는 리드 행동과 NPC가 플레이어나 다른 NPC를 따라갈 수 있도록 하는 팔로우 행동이 있었습니다. 행동은 NPC의 기본 동작과 함께 작동했기 때문에, 플레이어를 따라가기 위해 팔로우 행동을 사용하는 의무병 분대원은 적에게 사격하거나, 수류탄을 피하거나, 구급상자를 제공하는 등의 동작을 여전히 수행할 수 있었습니다."
N/A4172"#commentary\cn_258_occlusion.mp3" "[Brian Jacobson] Half-Life 1과 Half-Life 2의 많은 부분에서 세계는 주로 폐쇄된 터널과 복도로 구성되었는데, 이는 BSP(Binary Space Partition) 트리와 잘 어울렸습니다. 기본적으로 이 기술을 통해 기하학을 빠르게 분류하고 플레이어의 시야에서 무엇이 보일지 확인할 수 있었습니다. 하지만 코스트와 다른 트인 야외 공간은 이 접근 방식에 적합하지 않았기 때문에 새로운 기술이 필요했습니다. 지역 포털이 그중 하나였는데, 세계를 애피처 사이언스의 포털이 아닌 문과 창으로 구분된 개별 청크로 나눌 수 있었습니다. 또 오클루전으로 시스템을 추가로 개발했는데, 기본적으로 플레이어가 큰 물체를 통해, 위 또는 주변을 볼 수 없다면 반대편에 있는 것을 렌더링하지 않도록 한 것입니다. 당연히 하지 말아야 할 일처럼 보이겠지만, 모든 것을 렌더링하는 것보다 빠르게 큰 물체의 반대편에 있는 것을 계산하려면 약간의 작업이 필요합니다. 따라서 레벨 디자이너는 계산을 빠르게 하기 위해 주요 지형지물이나 건물과 같은 큰 가려진 객체 내부에 큰 가리는 볼륨을 배치했고, 렌더링하는 동안 플레이어가 볼 수 없는 것은 렌더링 되지 않도록 이러한 볼륨에 대한 객체의 경계를 시험할 수 있었습니다."
N/A4173"#commentary\cn_259_detail_objects.mp3" "[Brian Jacobson] 야외 섹션을 어느 정도 완성한 후 고반복 세부 묘사가 필요하다는 것이 분명해졌고, 변위 지형에 풀과 관목과 같은 작은 잎사귀 요소를 추가했습니다. 하지만 곧 모든 요소를 수동으로 배치할 여유가, 그러니까 시간이 없었다는 것을 깨달았죠. 그래서 변위 재료를 기반으로 작은 잎사귀 요소를 자동으로 생성하는 세부 객체 시스템을 구축했습니다. 각 재료는 매개변수 집합과 함께 배치할 잎사귀 유형을 지정합니다. 맵 컴파일 시간에 시스템은 표면에서 무작위 지점을 계산하고 거기에 배치할 잎사귀를 선택합니다. 성능 제약을 감안할 때 잎사귀 텍스처 시트에 대한 상당히 복잡한 수동 작성 프로세스가 여전히 있었기 때문에 모든 요소를 단일 패스로 렌더링할 수 있었습니다."
N/A4174"#commentary\cn_260_displacements_1.mp3" "[Charlie Brown] Half-Life 1이 출시된 후, 저희 레벨 디자이너와 아티스트는 야외 환경을 더 잘 구현하길 원했기 때문에 지형 시스템의 첫 번째 버전을 구축했습니다. 세분화된 사각형을 기반으로 했는데요. 자, 이제 격자로 나뉜 평평한 사각형을 상상해 보면 쉬울 겁니다. 격자의 각 점은 위아래로 이동할 수 있습니다. 레벨 디자이너는 여러 사각형을 배치한 다음 페인트브러시 도구를 사용하여 격자점을 조정하여 언덕과 계곡을 만들 수 있습니다. 렌더링을 위해 두 가지 다른 텍스처를 결합한 특수 블렌드 텍스처를 사용했습니다. 각 격자 점은 각 텍스처를 얼마나 사용할지 지정하여 모래, 풀, 흙, 자갈과 같은 표면 간의 부드러운 전환을 허용했습니다. 이 유형의 지형 시스템은 당시 게임 엔진에서 드문 일이 아니었고 우리는 순진하게도 게임 디자이너에게 충분할 것이라고 생각했습니다."
N/A4175"#commentary\cn_261_displacements_2.mp3" "[Charlie Brown] 초기 지형 시스템을 가동한 후, 레벨 디자이너들이 이를 야외 공간에도 활용할 것으로 예상했습니다. 하지만 디자이너들은 예상치 못한 곳에 디테일을 추가하는 실험을 시작했습니다. 벽 위에 세밀한 사각형을 사용하여 망가진 가장자리를 만들고, 도로 연석을 둥글게 만들고, 심지어 파이프까지 만들려고 시도했는데요. 지형 시스템이 건축 디테일이 아닌 풍경을 위해 설계되었기 때문에 다양한 결과가 나왔습니다. 그래서 코드를 다시 짜며 높이 기반 지형 시스템을 완전한 3D 변위 시스템으로 변환했습니다. 이제 디자이너들은 그리드 포인트를 수직 방향뿐만이 아닌 모든 방향으로 이동할 수 있게 되었습니다. 이를 통해 블렌딩된 텍스처를 사용하여 변위 사각형과 BSP 지오메트리 간의 매끄러운 전환을 구현하는 등 모든 종류의 표면에 디테일을 추가할 수 있었습니다. 하지만 두 렌더러 간 조명을 일정하게 유지하려면 추가적인 기술 작업이 필요했는데요. 그렇지 않으면 가장자리가 눈에 띄게 어긋났을 겁니다. 하지만 이 모든 작업이 끝나자 레벨 디자이너들은 만족한 듯했고, 저희는 순진하게도 이번에는 충분할 것이라고 생각했습니다."
N/A4176"#commentary\cn_262_displacements_3.mp3" "[Charlie Brown] 레벨 디자이너들은 일반 변위 시스템을 사용하면서 세상에 디테일을 추가하는 데 그치지 않고 대규모 야외 섹션을 만들겠다는 원래 목표로 돌아갔습니다. 이로 인해 성능의 균형을 맞추기 위한 또 다른 업데이트가 진행되어 시스템이 미세한 디테일과 더 넓은 지형을 모두 처리할 수 있게 되었죠. 특히 원래의 높이 기반 시스템에서는 구현할 수 없었던 돌출된 절벽 등의 복잡한 구조물을 위해 텍스처링도 개선해야 했습니다. 디자이너는 자신의 실력에 안주하지 않고 변위를 활용해 동굴과 터널을 만들기 시작했습니다. 이러한 추가 작업은 멋져 보였지만 기술적인 조정이 많이 필요했는데요. 저희는 결국 변위가 사용되는 모든 방식에 대한 상충되는 요구 사항을 극복할 수 있었고, 게임 세계의 많은 부분에 변위를 적용했습니다. 변위는 돌이켜보면 기술과 게임 디자인이 어떻게 함께 진화하는지를 잘 보여주는 예라고 할 수 있습니다. 기술이 게임에 어떤 영향을 미칠지 전혀 예측할 수는 없지만, 목표를 모르는 채 기술을 개발할 수는 없지요. 늘 그렇듯이 우리는 무언가를 만들어야 합니다. 확고한 추측으로 시작해서 어떻게 될지 지켜봐야 하는 것이죠."
N/A4177"#commentary\cn_263_particles.mp3" "[Chris Green] 소스 엔진의 경우, 파티클 및 특수 효과 기술 확장에 투자했습니다. 이를 통해 더욱 사실적이고 복잡한 파티클 움직임은 물론, 더욱 정교한 모양과 셰이더 효과를 구현할 수 있었습니다. 특히, 파티클 기능에 범프 매핑을 추가한 덕에 입체적인 표현에 큰 변화를 가져왔습니다. 소스 엔진의 후속 버전에는 강력한 파티클 시스템 편집기가 포함되었지만, Half-Life 2에 사용된 초기 버전은 수작업으로 효과를 구현해야 했습니다. 각 효과를 구현하려면 프로그래머가 직접 꼼꼼하게 제작해야 했고, 이는 상당히 고된 작업이었습니다."
N/A4178"#commentary\cn_264_cubemaps.mp3" "[Chris Green] 머티리얼과 셰이더를 추가하면서 유리나 강철과 같은 표면의 반사를 표현할 방법이 필요했습니다. 원래 이런 표면은 실시간으로 반사해야 하지만, 2003년에는 실시간 렌더링 기술이 없었죠. 저희는 그래서 미리 계산된 반사를 위한 큐브맵 시스템을 개발했습니다. 큐브맵은 정육면체 내부에 있는 6개의 이미지로, 사방에서 주변을 둘러싸고 있는 파노라마 사진처럼 모든 방향의 환경을 캡처합니다. 레벨 디자이너는 레벨 전체에 보이지 않는 마커 개체를 배치했고 맵 컴파일 중에 각 마커에 큐브맵을 생성했습니다. 그런 다음 게임플레이 중 반사된 표면을 렌더링할 때 미리 계산한 큐브맵 중 가장 가까운 곳을 찾아 반사를 만들었습니다."
N/A4179"#commentary\cn_265_water_shader.mp3" "[Gary McTaggart] Half-Life2를 위해 만든 셰이더 중 새로 출시된 프로그래밍 가능 그래픽 카드를 최대한 활용한 물 셰이더가 제일 복잡했습니다. 물이 있는 장면은 세 번 렌더링 되었는데요. 굴절을 위한 물속의 모습, 반사된 모습, 셋째, 수면 부분이었죠. 수면을 렌더링할 때 굴절과 반사 시점을 합쳐 Fresnel 방정식을 사용하여 비스듬한 각도에서 더 많은 반사를 보여주었습니다. 또한 수면 아래의 지면 깊이를 추적하여 얕은 곳을 더 투명하게 만들며 굴절을 줄였습니다. 또한 사양이 낮은 그래픽 카드를 위해 대체 물 렌더링 기술을 두 가지 만들어야 했습니다. 중간 사양의 카드는 굴절이나 투명성 없이 덜 세부적인 반사를 표시했고, 사양이 낮은 카드는 부분적으로 투명한 표면만 렌더링했습니다."
N/A4180"#commentary\cn_266_normal_maps.mp3" "[Gary McTaggart] Half-Life 2는 최초의 프로그래밍 가능 셰이더 지원 그래픽 카드가 출시되면서 그래픽 분야에서 매우 흥미로운 시기에 개발되었습니다. 저희는 이 기술을 사용하여 표면 지오메트리의 조명을 향상시키는 기술인 노멀 맵을 구현한 최초의 작품을 만들었습니다. 노멀 맵은 표면의 거칠기를 표현하여 폴리곤의 모든 픽셀에 조명을 적용하여 Half-Life 1에서 불가능했던 방식으로 표면을 더욱 울퉁불퉁하고 세밀하게 표현할 수 있었습니다."
N/A4181"#commentary\cn_267_rendering_systems.mp3" "[Gary McTaggart] 2000년대 초반에는 최신 엔진의 광범위한 기능을 갖춘 범용 렌더러를 구매할 여유가 없었습니다. 대신 CPU, GPU, 메모리 제한으로 인해 렌더링 과제에 대한 매우 구체적인 솔루션이 필요했고, 이를 통해 플레이어의 하드웨어 성능을 최대한 활용할 수 있었습니다. 결국 Half-Life 2에는 실제로 세 가지 렌더링 엔진이 이용되었습니다. 하나는 월드 지오메트리, 다른 하나는 야외 지형, 그리고 세 번째는 캐릭터 및 오브젝트와 같은 동적 개체를 위한 것입니다. 이 세 렌더러는 충돌, 레이 트레이싱, 데칼, 오프라인 조명, 가시성 계산 등 여러 복잡한 기능을 지원해야 했습니다. 게다가 각 렌더러는 DirectX 7, 8, 9를 지원해야 했는데요. DirectX 버전 간 성능의 차이가 상당했고, 종종 서로 다른 데이터 저장 및 렌더링 방식이 필요했습니다. 심지어 서로 다른 프로그래밍 언어까지 사용했죠! 결국 총 9개의 렌더러가 필요했고, 저마다 해결책이 필요했으며, 모든 렌더러를 일관되게 보이게 하는 것은 개발 과정에서 직면한 가장 어려운 기술적 문제 중 하나였습니다."
N/A4182"#commentary\cn_268_dynamic_shadows.mp3" "[Gary McTaggart] 저희는 캐릭터와 물리 오브젝트에 초점을 맞췄기 때문에, 이를 멋지게 표현하려면 다이내믹 섀도우 시스템이 필요하다고 느꼈습니다. 2003년에는 GPU에 현재와 같은 전용 섀도우 기능이 전혀 없었기 때문에 성능을 맞추기 까다로웠는데요. 결국에는 이렇게 모든 프레임에서 실행하는 방식을 채택했습니다. 먼저 그림자가 보일 수 있는 모든 물체를 찾아냈는데요. 이렇게 하려면 어떤 오브젝트가 뷰 절두체 안이나 약간 뒤에 있는지를 파악하여, 화면 밖에 있지만 화면에 나타날 수 있는 그림자를 파악해야 했습니다. 그런 다음 각 오브젝트의 블랙 섀도우 버전을 하나의 그림자 텍스처로 렌더링했습니다. 렌더링할 때는 최대한 빠른 렌더링을 위해 디테일 수준이 가장 낮은 모델을 사용했습니다. 마지막으로 그림자 텍스처를 사용하여 각 그림자를 플레이어의 뷰에 그려 이미 렌더링 된 픽셀을 어둡게 했습니다. 그림자 텍스처의 각 그림자를 조심스럽게 잘라서, 여러 개 겹쳐진 경우 서로 제대로 겹쳐지도록 했습니다. 되돌아 보니 이런 작업을 했다는 게 뿌듯하지만, GPU 하드웨어로 인해 훨씬 더 간단해진 지금이 훨씬 행복하다 할 수 있겠네요."
N/A4183"#commentary\cn_269_combinatorial_shader_explosion.mp3" "[Gary McTaggart] Half-Life 2 개발 과정에서 표면의 각 픽셀이 렌더링되는 방식을 제어하는 작은 코드인 하드웨어 셰이더가 추가되자, 렌더링이 훨씬 더 복잡해졌습니다. 2003년의 셰이더는 오늘날보다 훨씬 제한적이었습니다. Half-Life 2 시절 셰이더에는 조건문이 없었고 코드 크기 제한이 심했습니다. 즉, 다양한 조건에 따라 조정할 수 있는 if/else 분기 논리가 없었고, 다양한 기능을 갖춘 대형 셰이더도 없었죠. 또한 필요에 따라 셰이더를 컴파일하는 속도가 너무 느려 쓸모없었기 때문에 미리 컴파일해야 했습니다. 이러한 제약 속에서 작업하려면 가능한 모든 셰이더 조합을 계산하고 각각을 별도의 셰이더로 저장해야 했습니다. 예를 들어, 셰이더가 하나의 광원을 기반으로 표면에 영향을 미칠 때 두 개나 세 개의 광원에 대한 다양한 버전의 셰이더가 필요했습니다. 그리고 모두 조합해서 이용해야만 했는데요. 노멀 맵도 지원하는 셰이더는 광원마다 노멀 맵이 있는 버전과 없는 버전이 필요했습니다. 텍스처 블렌딩, 정점 색조, 반사 하이라이트, 알파 테스트 등의 기능과 방향성, 점, 스포트라이트 등 다양한 유형의 조명 덕분에 셰이더 수가 폭발적으로 증가했습니다. 출시 시점에는 개별 셰이더가 수천 개에 달했습니다. 곧 HDR 지원을 추가한 로스트 코스트를 출시하면서 셰이더 수가 다시 두 배로 늘어났습니다. 그러다 로컬 개발자 컴퓨터에서 셰이더를 컴파일하는 데 너무 오래 걸리기 시작했고, VMPi를 사용하여 셰이더 컴파일을 전체 네트워크에 분산하는 방식으로 전환했습니다. 또한, 셰이더 컴파일 시 프레임 속도 저하를 감수하면서도 빠르게 처리할 수 있는 동적 셰이더 컴파일 모드도 도입했습니다."
N/A4184"#commentary\cn_270_gpu_wild_west.mp3" "[Jay Stelly] 개발 과정에서 저희는 최소 사양 선택에 따라 수많은 결정을 내려야 했습니다. 최소 사양이란 고객에게 좋은 경험을 제공할 수 있는 최저 성능의 CPU와 GPU의 조합인데요. 2000년대 초반에는 GPU 종류가 지금보다 훨씬 다양했고, 속도뿐만 아니라 렌더링 방식에도 큰 차이가 있었습니다. 하지만 당시에는 고객이 사용하는 하드웨어에 대한 실질적인 데이터가 없었습니다. 어떤 CPU와 GPU를 사용했는지? RAM은 얼마나 되는지? 어떤 버전의 Windows를 사용하는지? 저희는 Microsoft에 연락해 사용 중인 DX7 카드나 DX8 카드의 수는 얼마나 되는지에 관한 답을 받길 원했습니다. 하지만 안타깝게도 Microsoft 역시 관련 데이터를 가지고 있지 않았죠. 이러한 통찰력 없이는 잘못된 결정을 내릴 위험이 있다는 것을 깨닫고, 플레이어가 하드웨어 사양을 보고할 수 있는 분석 도구를 개발하여 Steam 초기 버전에 통합했습니다. 이 데이터는 매우 유용했기에 2003년 4월 Steam 하드웨어 설문 조사를 시작하여 공개하기로 결정했습니다. 이 설문 조사는 저희, 그리고 다른 개발자들이 정보에 입각한 결정을 내리는 데 도움이 되어 왔습니다."
N/A4185"#commentary\cn_271_3d_skybox.mp3" "[Jay Stelly] 우리는 항상 맵 한계보다 더 크게 느껴지는 세계를 렌더링해야 했습니다. Half-Life 1에서는 플레이어가 플레이 가능 영역 너머를 볼 수 있도록 큐브맵 텍스처를 사용했는데요. 하지만 Half-Life 2에서는 단순한 정적 텍스처가 아니라 크면서도 동적인 월드를 보여주고 싶었습니다. 맵 크기는Jay Stelly] 우리는 항상 맵 한계보다 더 크게 느껴지는 세계를 렌더링해야 했습니다. Half-Life 1에서는 플레이어가 플레이 가능 영역 너머를 볼 수 있도록 큐브맵 텍스처를 사용했는데요. 하지만 Half-Life 2에서는 단순한 정적 텍스처가 아니라 크면서도 동적인 월드를 보여주고 싶었습니다. 맵 크기는 제한은 각 차원당 약 0.5마일이었지만, 크기를 줄여 저장하면 훨씬 더 큰 외부 월드를 만들 수 있다는 것을 깨달았습니다. 저희는 그래서 3D 스카이박스라고 부르는 것을 발명했죠. 3D 스카이박스는 실제 게임 맵 안에 숨겨진 작은 상자로, 1/16 스케일의 지오메트리가 들어 있습니다. 그 안에 있는 기준점은 메인 맵의 일치하는 원점과 일치합니다. 이후 플레이 가능 영역 너머의 공간을 렌더링할 때는 3D 스카이박스의 지오메트리를 사용합니다. 이 지오메트리는 참조점을 기준으로 배치되고 16배 확대되었습니다. 메인 맵에서 스카이박스로 전환하는 과정에서 조명과 안개가 매끄럽게 조화를 이루도록 하는 데에는 몇 가지 난관을 겪었지만 효과가 있었습니다. 그 결과 Half-Life 1보다 더 넓고 실감 나는 월드를 만들 수 있었습니다."
N/A4186"#commentary\cn_272_missing_material.mp3" "[Jay Stelly] 저수준 그래픽 코드 개발 초기에는 텍스처 누락으로 인해 렌더링 되지 않는 폴리곤을 찾아내는 것이 어렵다는 것을 깨달았습니다. 이때 폴리곤이 있어야 할 자리에 검은색으로만 표시되어 어두운 장면에서는 쉽게 눈에 띄지 않았습니다. 저희는 이 버그를 더욱 확실하게 포착하기 위해 텍스처 로드에 실패할 때마다 눈에 잘 띄고 자동으로 생성되는 오류 텍스처를 만들었습니다. 이를 통해 지금은 상징적인 보라색과 검은색 체커보드 텍스처가 탄생했고, Half-Life 2 이후에도 그 자체로 중요한 역할을 해왔습니다."
N/A4187"#commentary\cn_273_air_resistance.mp3" "[Jay Stelly] Half-Life 2의 물리 엔진에 추가해야 했던 중요한 기능 중 하나는 공기 저항이었습니다. 당시 물리 엔진은 일반적으로 물체가 움직일 때 속도를 늦추는 일반적인 댐핑 기능을 구현했는데요. 하지만 이는 단지 대칭적인 방식으로 에너지를 제거하는 것에 불과합니다. 더 사실적인 움직임을 만들기 위해 그 대신 공기 저항을 구현하기로 했습니다. 이를 통해 비대칭 동작을 구현할 수 있었습니다. 즉, 물체가 공기 속을 이동할 때 느려지는 양이 이동 방향이나 회전 방향을 향하고 있는 물체의 표면적에 따라 달라졌다는 것인데요. 이 기능은 폭발이나 중력건으로 던지는 물체를 사실적으로 보이게 하는 데 핵심적인 역할을 했습니다. 공기 저항은 폭발과 같은 경우에 CPU 성능을 향상시키기도 하는데, 빠르게 움직이고 회전하는 물체는 Half-Life 2의 물리 엔진에서 구현하는 데 가장 많은 비용이 들기 때문입니다. 또한 다양한 재질과 대량의 물체를 표현할 때도 중요한데요. 밀도가 높은 물체는 공기를 더 쉽게 옆으로 밀어낼 수 있다는 것을 눈으로 확인할 수 있을 겁니다. 시뮬레이션에 이 효과를 적용하면 판지 상자와 나무판자 사이의 밀도 차이를 더 명확하게 표현할 수 있고 Half-Life 2의 세계에 있는 물체를 훨씬 더 사실적으로 만들 수 있습니다."
N/A4188"#commentary\cn_274_early_tech_planning.mp3" "[Ken Birdwell] 게임을 출시하면서 항상 많은 것을 배웁니다. 결국 어떤 선택이 옳았는지, 다음에는 어떤 선택을 다르게 해야 할지 알게 되죠. Half-Life 1 출시 이후, 어떤 후속작을 만들지 고민하기 시작했을 때, 플레이어들의 온갖 피드백을 소화해야 했습니다. 그 피드백을 바탕으로 Half-Life 2에서 집중적으로 다룰 내용을 정리했습니다. 저희는 특정 플레이어 경험을 디자인하는 것보다는 기술적 관점에서 접근하는 것이 더 유용하다고 판단했습니다. 블랙 메사의 경비원과 과학자들은 멋지게 성공했죠. 자, 이제 캐릭터에 어마어마한 노력을 기울였다면 어떻게 되었을까요? 상호 작용형 스토리텔링이 마음에 들었습니다. 그 매력을 더 풍부하고 다양하게 살리려면 어떻게 할까요? 플레이어들은 블랙 메사 내의 탐험과 상호 작용에 매력을 느꼈다고 합니다. 물리 시스템을 도입하면 더욱 발전시킬 수 있을까요? 저희는 이 모든 분야에서 수년 후의 가장 좋은 버전이 어떤 모습일지 상상하고, 거기까지 도달할 수 있는 일련의 기술적 단계를 역으로 풀려고 노력했습니다."
N/A4189"#commentary\cn_275_character_lighting.mp3" "[Ken Birdwell] 개발 첫해에는 캐릭터가 원하는 만큼 사실적으로 느껴지도록 하는 데 어려움을 겪었습니다. 실제로 여러 가지 문제가 있었는데, 결국 이 모든 문제를 해결하려면 구체적인 기술 및 예술적 개선이 필요했습니다. 첫 번째 주요 문제는 조명이었습니다. 당시 게임의 조명 기술에는 편법이 많았는데요. 성능 때문이기도 했지만, 대부분은 작동 방식을 오해해서 그랬습니다. 당시에는 캐릭터를 멋지게 보이게 하려면 그림자나 광택과 같은 조명 솔루션을 대부분 적용해 모델과 텍스처를 만들어야 했습니다. 캐릭터는 멋져 보였지만 사람 같은 느낌이 나지 않았죠. 저희도 당시의 분위기를 따라 이런 접근법으로 알릭스를 만들기 시작했습니다. 통상적인 기법을 사용해서 알릭스를 마치 영화배우처럼 조명했습니다. 알릭스의 주위를 따라다니며 항상 멋져 보이도록 해주는 맞춤형 조명을 비추고 있는 것처럼 말이죠. 하지만 실제로 효과가 없었는데요. 다양한 조명 환경과 비디오 게임의 역동적인 특성 때문에 어떤 환경에서는 멋지지만 언젠가는 매우 비현실적으로 보이기도 했습니다. 반복 작업을 통해 조명을 조절해 보기도 했지만, 결과가 전혀 나아지지 않았죠. 우리는 아예 처음부터 시작하여 다른 접근법을 시도해 보기로 했습니다. 지금까지 만든 내용을 모두 버리고 알릭스와 조명, 텍스처를 처음부터 다시 만들었죠. 이상적인 조명이 비추는 알릭스의 모습이 아닌, 현실 세계에서 사물이 어떻게 작동해야 하는가에 초점을 맞췄습니다. 당연해 보일지 모르지만, 적어도 비디오 게임에서는 그렇지 않았습니다. 게임의 렌더러 밖에서 봤을 때, 이 모델들과 텍스처들은 이전 버전보다 더 나빠 보였습니다. 하지만 저희는 광원, 텍스처, 그래픽 카드의 작동 방식에 대한 모든 편법과 오해를 체계적으로 제거하고 다시 정리했습니다. 모든 작업을 마친 후 마침내 게임 내에서 알릭스가 새 모델과 텍스처를 사용하는 모습을 볼 수 있게 되었을 때, 항상 시각적 일관성을 유지할 수 있는 역동적인 환경에서 정말 멋져 보였습니다. 완전히 매끄럽고 Half-Life 2 세계의 일부처럼 보였죠."
N/A4190"#commentary\cn_276_gamma_correction.mp3" "[John Morello] 저희 게임 엔진에는 게임의 전체 상태를 가져오고 화면의 모든 픽셀에 대한 색상 값을 계산하여 해당 상태를 나타내는 렌더링 시스템이 있습니다. 하지만 타사의 코드와 소프트웨어도 이러한 픽셀을 계산하는 과정이 있습니다. 예를 들자면 GPU와 모니터의 소프트웨어와 하드웨어가 있겠군요. 개발을 진행하다 갑자기 캐릭터의 모습이 마음에 들지 않았습니다. 밀랍 인형이나 병든 사람처럼 보였거든요. 피부가 이상했던 겁니다. 시간을 꽤 들여 조명을 조정했지만 캐릭터와 세상이 제대로 보이도록 할 수가 없었습니다. 다행히도 모든 기능을 갖춘 소프트웨어 렌더러가 있었기 때문에 GPU가 흔하지 않은 시절에도 게임을 실행할 수 있었습니다. 이 렌더러에서 게임을 살펴보니 조명에는 같은 문제가 없었습니다. 그래서 코드를 면밀히 검토하여 GPU로 작업할 때 렌더링 코드에서 어디에서 문제가 발생하는지 파악하려고 했습니다. 그렇게 하지 못한 후, 저희는 GPU 제조업체에 연락하여 저희가 전달한 픽셀값에 문제가 없는지 다시 한번 확인해 달라고 요청했습니다. 이것이 긴 여정의 시작이었습니다. 간단히 말해서, GPU 제조업체들과 거의 2년 동안 끊임없이 소통한 끝에 그래픽 카드의 저수준 연산 과정에서 감마 보정을 잘못하고 있다는 것을 납득시킬 수 있었던 것이죠. 저희는 이 과정에서 렌더링 파이프라인 전체에 걸쳐 개별 픽셀의 색상 값을 검증하는 시스템까지 구축해야 했습니다. 결국, 마침내 새로운 드라이버를 받았고, 저희 캐릭터는 소프트웨어 렌더러와 일치하는 모습으로 즉시 정상적으로 보였습니다."
N/A4191"#commentary\cn_277_facial_technology.mp3" "[Ken Birdwell] 저희는 플레이어가 캐릭터에 관심을 갖도록 하고 싶었고, 이를 위해서는 최소한 캐릭터의 얼굴에 많은 기술을 투자해야 한다는 것을 알고 있었습니다. 인간이 얼굴에 집중하고, 무의식적으로 얼굴에서 온갖 정보를 읽게 되어 있다는 사실은 유명하죠. 기준이 꽤 높았지만, 달성하지 못한다면 플레이어가 저희 의도대로 캐릭터와 친근해지기는커녕 멀어질 것이었습니다. 저희는 연구를 열심히 하기 시작했습니다. 하지만 성과는 없었는데요. 찾을 수 있었던 최고의 예시들은 실시간으로 전혀 구현할 수 없었고, 최고의 실시간 예시들은 품질이 너무 부족했습니다. 애니메이션 영화만큼 보기 좋게 만들고 싶었지만, 프레임을 렌더링하는 데 몇 시간이 걸리고 최대 100명의 애니메이터가 선형적으로 작업해야 했는데, 저희는 역동적인 애니메이션을 원했거든요. 캐릭터가 플레이어의 동작을 읽어 소수의 아티스트가 만든 얼굴 표정으로 대사를 말하려고 할 수도 있었고 말입니다. 결국 1970년대에 Paul Ekman 박사가 인간 얼굴 움직임을 분류하기 위해 개발한 얼굴 동작 코딩 시스템에 대해 알게 되었습니다. 이 시스템은 저희 개발 도구와 코드 전반에서 표정을 설명하는 어휘를 제공했고, 캐릭터의 얼굴을 디자인할 때 참고할 대상을 제공했습니다. 이를 프레임워크로 삼아 수년을 거쳐 캐릭터의 얼굴과 머리를 만드는 과정을 반복했는데요. 저희는 다른 개발자와는 달리 Ekman 박사의 연구의 일부가 아닌 전부를 활용하고 싶었습니다. 즉, 엄격한 성능 제약 조건 내에서 각 부분을 어떻게 할지 알아내는 데 많은 시간을 들였다는 겁니다. 하지만 저희는 사람의 얼굴을 살펴보면서 피부의 탄력이나 치아 음영처럼 가장 귀중한 부분을 찾는 데 많은 시간을 보냈습니다. 결국 원하는 모든 것을 구현할 수는 없었지만 캐릭터의 얼굴 성능 수준을 설득력 있게 만드는 데 가장 중요하다고 생각되는 부분을 실현하는 데 성공했지요."
N/A4192"#commentary\cn_278_eye_shader.mp3" "[Ken Birdwell] 캐릭터의 얼굴을 사실적으로 만드는 데 있어 또 다른 중요한 요소는 눈이었습니다. 인간은 눈을 읽는 데 능숙합니다. 뇌에는 눈을 읽는 데 특화된 부분이 있는데, 눈동자에 반사되는 빛을 통해 상대방이 어디를 보고 있는지도 파악할 수 있습니다. 하지만 미묘하지만 중요한 차이가 있는데요. 우선 눈은 실제로 구형이 아닙니다. 눈꺼풀은 아래에서 움직이는 각막에 의해 왜곡되죠. 눈을 움직이면 눈을 깜빡일 확률도 올라갑니다. 눈은 실제로 동공 바로 뒤에 위치하는 것이 아니라 약간 떨어져 있습니다. 이러한 모든 작은 디테일은 사소하거나 눈에 띄지 않게 느껴질 수 있지만, 없으면 캐릭터가 어색해집니다. 저희는 오랫동안 눈을 만들면서 안구 모델과 기능을 조금씩 수정했습니다. 주변 환경의 관심 지점 등의 외부 인터페이스가 필요하기도 했고, 눈 깜빡임처럼 뻔하지만 어색한 느낌을 피하기 위해 필수인 부분은 AI의 잠재의식 수준에서 자동으로 처리되었습니다. 눈 반사는 특히 큰 영향을 미쳤는데요. 화면에서 차지하는 면적은 아주 작지만, 그 차이는 엄청났습니다. 작업을 드디어 마무리했을 때는 아이 셰이더를 끄면 캐릭터가 인형처럼 보였습니다. 분명히 사람이지만 묘사하기 어려운 모습이었죠. 하지만 눈 셰이더를 다시 켜면 진짜 사람이 쳐다보고 있는 느낌이었죠."
N/A4193"#commentary\cn_279_combine_gunship.mp3" "[Ken Birdwell] 건쉽은 흥미로운 문제였습니다. 이미 헬리콥터 비행 모델을 만들어 놨고, 완전히 새로운 것을 만들 시간이 없었죠. 그래서 헬리콥터의 비행 모델을 충분히 다르게 느껴질 때까지 조정한 다음 해당 시뮬레이션에서 나오는 값에서 건쉽의 자연스러운 애니메이션 상태를 도출했습니다. 또한 가능한 한 사실적으로 유지하려고 노력했는데요. 예를 들어, 대포를 조준하기 위해 머리를 돌릴 수 있는범위를 지정한 뒤, 여기서 벗어나며 대포를 조준해야 하는 경우에는 비행경로를 바꾸도록 하는 것입니다. 억지로 꼼수를 쓸 수는 없으니까요. 현실적인 엔진 소리도 중요했습니다. 사운드 공간화 기능 덕분에 플레이어가 건쉽의 대략적인 위치를 알 수 있죠. 하지만 건쉽은 빠르게 움직이고, 근처의 기준점에서 멀리 떨어진 공중에 있습니다. 결국 얼마나 멀리 떨어져 있고 얼마나 빨리 움직이는지 정확히 알기 어려울 수 있습니다. 이 문제를 해결하기 위해 엔진 소리에 도플러 효과를 추가하여 건쉽의 상대 속도에 따라 음높이를 조절했습니다. 미묘한 효과이지만, 건쉽의 위치와 방향을 무의식적으로 인지하는 데 매우 효과적입니다. 건쉽에게 쫓기고 있다는 것을 알려주는 중요한 정보이기도 하죠."
N/A4194"#commentary\cn_280_risk.mp3" "[Ken Birdwell] 20년이 지난 지금 Half-Life 2를 돌아보면, 개발 과정 전반에 걸쳐 얼마나 무서웠는지 생각하니 정신이 번쩍 듭니다. 게임 개발은 어렵습니다. 원하는 것을 다 얻을 수는 없어, 더 많은 작업을 수행하기 전에 위험을 검증할 수 있어야 하거든요. 얼굴 애니메이션 기술을 예시로 들어 볼까요. 실제로 작동할 것이라는 확신을 갖기까지 약 3~4년이 걸렸지만, 저희도 그때까지 기다릴 수는 없었습니다. 저희는 첫해부터 바로 게임 디자인, 애셋 제작 및 기타 기술에 대한 모든 선택을 하기 시작했습니다. 모두 얼굴 애니메이션 기술이 품질과 성능 측면에서 결국 통할 것이라는 가정에 기반했죠. 그렇지 않았다면 다른 많은 선택도 소용이 없었을 겁니다. 이 외에 개발 초반에 내린 다른 중대한 사안에도 동일한 양상의 위험이 적용됩니다. 가만히 앉아서 기다릴 수는 없으니, 그저 일단 작업을 시작한 뒤 몇 년 후에도 우리의 추측이 사실이기를 바랄 뿐이거든요. 꽤 무서운 일이었어요."
N/A4195"#commentary\cn_281_hugs_and_pickups.mp3" "[Ken Birdwell] 때로는 사소한 일조차도 제대로 작동하기 어려울 수 있습니다. 예를 들어, 캐릭터가 다른 캐릭터를 껴안거나, 더 간단히 말해서 테이블에서 물건을 집어 올리는 것만으로도 많은 문제가 발생할 수 있습니다. 더 나쁜 점은 캐릭터와 물건이 미리 설정된 위치에 있지 않고 플레이어가 돌아다니며 방해하는 역동적인 환경에서 매우 까다로울 수 있는 수준의 동기화가 필요하다는 것입니다. 별생각 없이 다루기 쉽기 때문에 더 어렵습니다. 컵을 집기 위해 테이블로 이동할 때 우리 몸은 손과 발을 제 위치로 움직여 편안하게 동작을 수행할 준비를 하죠. 컵이 있는 곳에 가자마자 집을 수 있게요. 누군가를 껴안는 상황에서는 두 사람이 서로의 움직임을 따라 동시에 움직이고 말이죠. 게임에서 이러한 동작을 구현하기 위해 많은 동기화 작업이 필요했으며, 캐릭터가 서로와 세상을 인식하도록 했습니다. 동시에 캐릭터가 미래 계획에 대해 더 많이 알도록 했습니다. 컵 들기 예시를 다시 들자면 여러 단계, 즉 테이블에 다가가기, 컵 바라보기, 컵 집기 등의 여러 단계로 나누고 싶은 충동이 드는데요. 그렇게 하면 훨씬 간단하고 단계를 재사용할 수도 있기 때문입니다. 하지만 인간은 로봇과 달리 이런 방식으로 움직이지 않습니다. 캐릭터들은 컵을 집기 위해 테이블로 이동하고 있다는 것을 알아야 했기 때문에, 도착하자마자 손이 컵을 잡도록 동시에 여러 부분을 작업했습니다. 두 캐릭터가 있는 경우에는 추가 조정이 더 필요한데요. 두 캐릭터 모두 일이 발생하는 장소와 시간을 똑같이 인지해야 하며, 모든 것이 원활하게 진행되어야 하니까요. 세상에서 캐릭터 간의 이러한 간단한 상호 작용 순간은 종종 짧지만, 실제 사람처럼 연출하기 위해 신경 써야 했습니다."
N/A4196"#commentary\cn_282_ropes.mp3" "[Mike Dussault] 17번 지구를 위해 수집한 모든 참조 이미지에서 눈에 띄는 것 중 하나는 케이블과 전선이 도처에 있다는 것이었고, 이것이 시야에 들어오는 고주파 디테일의 큰 부분을 차지한다는 것입니다. 저희는 오래된 유럽 도시가 현대 생활의 무질서한 그물에 얽힌 듯한 이 모습을 좋아했습니다. 저희는 케이블이나 로프와 비슷한 요소에 역동적인 느낌을 만들고 싶었습니다. 레벨 디자이너들은 플러그 퍼즐을 만들고 싶어 했고, 플레이어는 각 플러그에 코드를 연결하면 시스템을 더 잘 이해하는 데 도움이 되었습니다. 저희는 제작 초기에 밧줄 시스템을 구축하고 개발 기간 내내 반복했습니다. 각 로프를 자세히 보자면, 두 끝점 사이에 늘어진 여러 부분으로 구성되어 있으며 독립적으로 움직일 수 있는데요. 각 부분은 스프링처럼 작용하고 부드러운 바람이나 머리 위로 지나가는 콤바인 건쉽과 같은 게임의 힘에 반응합니다. 렌더링 시 각 부분은 카메라를 향해 표시되고 범프 매핑되는데, 이는 로프에 사실적이고 둥근 모양을 부여하는 데 중요합니다."
N/A4197"#commentary\cn_283_vmpi.mp3" "[Mike Dussault] 개발 중에는 게임플레이 반복 속도가 느려져 갈수록 불만이 심해졌는데요. 주로 조명과 가시성을 미리 계산해야 하는 맵 컴파일에 몇 시간이 걸렸기 때문입니다. 2000년대의 컴퓨터는 오늘날보다 속도가 훨씬 느렸고 CPU 코어가 하나뿐이었습니다. 저희는 전 세계의 PC로 외계 생명체의 흔적을 찾아내는 전파를 분석하던 분산 프로그램인 SETI @Home 에서 영감을 얻어 VMPi를 개발했습니다. vMPi는 지도 편집 과정을 여러 사무용 컴퓨터에 분산시키는 자체 분산 시스템이었습니다.오늘날에는 이런 종류의 분산 시스템이 거대한 GPU 클러스터에서 실행되지만 당시에는 사무실에 있는 모든 컴퓨터에서만 실행했습니다. VMPi는 조명 코드가 지도만큼이나 빠르게 발전하는 과정을 다루기 위해 새.exe 파일도 모든 사용자의 컴퓨터에 배포했습니다. 돌이켜보면 이것은 꽤 무시무시한 보안 개념이었습니다. 정말 나쁜 개념이었죠. IT 담당자들에게는 악몽과도 같은 일이었을 겁니다. 저희가 모든 업무용 PC에 임의의 실행 파일을 보내면 해당 PC가 그냥 실행하곤 했기 때문입니다. 정말 미친 짓이었어요. 하지만 효과가 있었고 맵 반복 속도가 크게 향상되어 결국 중요한 역할을 했습니다."
N/A4198"#commentary\cn_284_field_of_view.mp3" "[Kerry Davis] Half-Life 1에서는 당시 1인칭 슈팅 게임의 표준이었던 90도 시야각(FOV)을 사용했습니다. 하지만 Half-Life 2를 개발하면서 이에 불만이 생겼습니다. 게임이 캐릭터에 초점을 맞추었기 때문에 얼굴과 몸의 애니메이션을 세부적으로 표현하기 위해 많은 노력을 기울였지만, 90도 FOV로는 플레이어가 충분히 가까이 다가가서 세세하게 살펴보기 힘들었죠. 그래서 더 좁은 FOV로 실험을 시작했고 결국 75도 시야각에 도달했습니다. 저희와 플레이어 모두에게 조정이 필요했고, 화면 하단에 있는 플레이어의 무기인 뷰모델에 추가 FOV가 필요했습니다. 원래 90도를 염두에 두고 모델을 만들었기 때문에 75도에서는 왜곡되어 보였습니다. 하지만 이 변경을 통해 원하는 바를 이룰 수 있었습니다. 즉, 캐릭터를 강조하며 게임의 중간에 놓을 수 있었다는 것이죠."
N/A4199"#commentary\cn_285_reference_maps.mp3" "[Randy Lundeen] Half-Life 1과 Half-Life 2 사이에서 캐릭터가 더욱 생동감 있게 되면서, 게임 세계도 마찬가지로 사실적으로 느껴지기를 바랐습니다. Half-Life 1에서는 1인칭 게임의 한계로 인해 양식화되거나 추상적인 환경에 의존하기가 더 쉬웠습니다. 하지만 Half-Life 2에서는 현실에 기반을 둔 듯한 설정을 만들기로 했고, 이는 이전에는 없었던 많은 작은 세부 사항에 집중해야 한다는 것을 의미했습니다. 주요 단계 중 하나는 현실 세계의 비율을 게임에 매핑하는 방법의 표준이 될 참조 맵을 만드는 것이었습니다. 이 맵은 벽과 문의 치수, 문 손잡이 높이, 실내 조명, 가구 크기, 일반적인 물체의 일반적인 크기와 같은 세부 사항을 확립했습니다. 레벨 디자이너를 위해 크기 및 조명값이 포함된 표준화된 텍스처를 만들어 레이아웃이 처음부터 일관되도록 했습니다. 이 참조 맵은 실제 세계를 설정하는 것 외에도 플레이어가 어떻게 이동할지, 얼마나 높이 점프할 수 있는지, 얼마나 낮게 몸을 숙일 수 있는지, 통풍구와 같은 공간의 크기를 정의했습니다. 저희는 이러한 맵을 기반으로 게임 전반에 걸쳐 현실적으로 크기가 조정된 공간을 확보하고, 세계의 기하학적 구조를 일관되게 유지할 수 있었습니다."
N/A4200"#commentary\cn_286_response_rules.mp3" "[Scott Dalton] 저희는 일찍부터 게임에 많은 역동적인 대화를 추가하고 싶었기 때문에, 이를 효과적으로 처리할 시스템이 필요했습니다. 사운드 디자이너가 프로그래머를 개입시키지 않고 대사를 추가하거나 조정할 수 있고, 대사가 게임 상태에 긴밀하게 반응하며, 반복을 최소화할 수 있는 시스템을 목표로 했습니다. 저희는 이를 위해 응답 규칙 시스템을 만들었는데요. 캐릭터가 연출된 장면 밖에서 말할 때마다 어떤 대사를 전달할지 결정하는 시스템이죠. 캐릭터 AI는 대사를 직접 선택하는 대신 플레이어를 발견하거나, 다치거나, 총에서 마지막 탄환을 발사하거나, 압도적인 적과 마주칠 때마다 \"대화 기회\"를 지속적으로 표시합니다. 기회가 있을 때마다 게임의 현재 상태에 대한 데이터 패킷을 응답 규칙 시스템으로 전송하고, 시스템은 가장 적합한 대사가 있다면 해당 대사를 출력합니다. 이러한 설정을 통해 사운드 디자이너는 대화에 대한 세부적인 결정 매트릭스를 만들 수 있었습니다. 예를 들어, 캐릭터가 전투 중 재장전을 알리는 대사와 전투 종료 후, 아군이 한 명만 남았거나 스트라이더가 시야에 있을 때의 대사가 다를 수 있습니다. Half-Life 2를 출시할 당시에는 이 시스템의 잠재력을 아직 수박 겉 핥기를 경험했다고 생각할 수 있죠. 이 시스템은 에피소드 1의 알릭스의 핵심 기능이 되었고, 이후 TF 2의 클래스와 Left 4 Dead의 등장인물을 포함한 후속작의 역동적인 대사에 큰 영향을 미쳤습니다."
N/A4201"#commentary\cn_287_audio_caching.mp3" "[Yahn Bernier] 저희가 겪었던 또 다른 문제는 게임 내 엄청난 양의 오디오였습니다. 게임플레이 사운드, 음악, 대화 등 오디오가 너무 많아 메모리에 모두 저장할 수 없었거든요. 2003년에는 메모리가 부족했습니다. 예상하셨겠지만, 그럼에도 사운드를 즉시 재생할 수 있어야 했죠. 특히 게임플레이와 관련된 사운드라면 더욱 그렇습니다. 그래서 모든 오디오 파일의 첫 125ms만 저장하는 오디오 캐시를 만들어 메모리에 보관했습니다. 디스크에서 오디오 파일을 재생하는 데 걸리는 시간을 가장 잘 추정한 시간은 125ms였습니다. 그런 다음 게임에서 사운드가 재생될 때마다 오디오 캐시에서 해당 사운드의 시작 부분을 재생하는 동시에 디스크에서 전체 오디오 파일을 불러오곤 했습니다. 캐싱 된 시작이 끝날 무렵에도 계속 재생되도록 파일이 로드되었죠. 이 외에도 사소한 기능이 몇 가지 있었는데요. 예를 들어 최근 사운드를 메모리에 완전히 저장해 트래픽이 많은 사운드를 계속 로드하지 않아도 되도록 하는 식이었죠. 오늘날의 엔진에서는 사운드뿐 아니라 모든 종류의 에셋이 일반적으로 같은 전략을 사용합니다."
N/A4202
39204203}
39214204}