결론
- 결론은 정말 다양한 각 게임 장르가 고유한 기술적 요구 사항을 가지고 있다는 것. 이로 인해 게임 엔진이 전통적으로 장르별로 다르게 설계되었다는 것.
- 그러나 단일 하드웨어 플랫폼 내에서는 장르 간에도 상당히 많은 기술적 공통점이 또 존재함.
- 최근에는 강력한 하드웨어의 등장으로, 최적화 문제로 인해 발생했던 장르 간 차이점이 점차 사라지고 있음.
- 결과적으로 이제는 서로 다른 장르는 물론이고, 서로 다른 하드웨어 플랫폼에서도 동일한 엔진 기술을 재사용 하는 것이 가능해지고 있음.
최적화와 소프트웨어 설계의 트레이드오프
효율적인 소프트웨어를 설계할 때는 **트레이드오프(trade-off)**가 불가피 하다.
이러한 트레이드오프는 소프트웨어 사용 방식과 대상 하드웨어 플랫폼에 대한 가정에 기반한다.
- 예를 들어, 실내 환경을 처리하도록 설계된 렌더링 엔진은 광활한 야외 환경을 렌더링하는 데 적합하지 않을 수 있습니다.
- 실내 엔진은 BSP 트리(Binary Space Partitioning) 또는 **포탈 시스템(Portal System)**을 사용하여 카메라에 가려진 기하학적 구조를 렌더링하지 않도록 할 수 있습니다.
- 반면, 야외 엔진은 덜 정밀한 occlusion mechanism를 사용하거나 이를 생략할 수 있지만, LOD(Level of Detail) 기술을 적극 활용하여 먼 거리의 객체는 적은 삼각형으로 렌더링하고, 카메라 가까이에 있는 지오메트리는 고해상도로 렌더링 함.
하드웨어 발전
- 최근 더 빠른 컴퓨터 하드웨어, 그래픽카드 발전, 더 효율적인 렌더링 알고리즘과 데이터 구조 덕에 장르 간 그래픽 엔진 차이는 완화되고 있음.
- 그러나 아직 범용성과 최적화 간의 트레이드오프는 여전히 존재함. → 특정 게임이나 하드웨어 플랫폼 요구 사항과 제약에 맞춰 엔진을 미세 조정하면, 게임의 품질을 더 올릴 수 있음.
각 장르 게임의 공통 부분과 주요 기술
- 게임 엔진은 특정 장르에 특화되어 있지만 모든 3D 게임은 장르의 관계없이 다음과 같은 요소를 필요로 함.
- 조이패드, 키보드, 마우스 등의 저수준 사용자 입력 처리.
- 3D 메시 렌더링.
- 다양한 폰트를 사용하는 HUD(헤드업 디스플레이) 및 텍스트 렌더링.
- 강력한 오디오 시스템.
- 기타 여러 기능.
- FPS
- 기술적으로 가장 복잡한 게임에 속한다.
- 주요 기술 요소
- 대규모 3D 세계를 효율적으로 렌더링
- 응답성이 뛰어난 카메라 제어 / 조준 메커니즘
- 플레이어의 가상 팔과 무기의 고품질 애니메이션
- 다양한 휴대용 무기
- 적과 아군 NPC의 고품질 애니메이션과 AI
- 소규모 온라인 멀티플레이어 기능
- 플랫포머 및 기타 3인칭 게임
- FPS와 다르게 고품질의 전신 캐릭터 애니메이션이 요구됨.
- 주요 기술 요소
- 이동 플랫폼, 사다리, 밧줄 등 이동 매커니즘
- 퍼즐 요소
- 3인칭 팔로우 카메라
- 복잡한 카메라 충돌 시스템
- 격투 게임
- 기술 요소
- 정확한 hit detection
- 복잡한 버튼 및 조이스틱 조합을 감지할 수 있는 input system