2011-07-27 5 views
0

저는 게임 환경을위한 리소스 캐싱에 대한 연구를 해왔습니다. 2D와 3D의 다양한 게임을 분석함으로써 몇 가지 질문을 던졌습니다.리소스 준비 및로드 시간

과거로의 링크와 같은 2D 게임에서 우리는 외계에서 지하 감옥으로, 또는 집에서 외계로 등모로 전환하는 것을 봅니다. 이것은 모든 게임의 자원이 미리 캐시 된 것을 의미합니다. 2D 게임은 자원이 더 작기 때문에 괜찮습니다. 그러나 3D 게임은 어떻습니까?

예를 들어 Half-Life 2와 Assassin 's Creed는 둘 다지도 전환 사이에 로딩 화면이 있습니다. 나는 HL2가 사운드 캐시를 사용한다는 것을 알고 있습니다. 실제 캐시가 실행되는 동안 음악의 시작 지점에서 5 초 클립이 재생됩니다. 그러나 텍스처와 모델에 대한 질문에는 대답하지 않습니다. 이 게임들은로드 시간을 단축하기 위해 이러한 리소스를 미리 캐시합니까? 아니면 메모리를 절약하지 않습니까?

또한, 우리는 황혼의 공주와 같은 3D 게임을 볼 수 있습니다. 이것은 모든 리소스가 여기서도 캐시된다는 것을 의미합니까? PC 게임에 대해서는이 점을 조금 더 이해할 수 있지만, 모든 플랫폼의 Wii에 대해 알고 있습니까?

전반적으로 2D 및 3D 환경에서 게임 개발에 가장 적합한 옵션은 무엇입니까?

답변

1

로딩 화면은 게임 리소스가 디스크에서 RAM으로 옮겨 졌을 때 어떤 일이 일어나는지, Twilight Princess는 게으른 로딩과 비슷한 것을 사용하지만 세계 일부는 게임에 동적으로로드됩니다 (언로드 RAM 사용률을 낮추기위한 세계의 다른 지역). 리소스가 캐시되지 않아도 다르게 관리됩니다.

Link to the Past (또는 Super Mario)와 같은 2D 게임의 경우, 화면이로드되어 있지만, 링크가 지하 감옥에 들어가거나, 레벨/남은 생명의 양 마리오의 메시지, 또는 Metroid의 문을 통과하는 애니메이션. 또한 카트리지 기반 게임은 솔리드 스테이트 (solid state) 메모리이기 때문에 메모리 액세스 속도가 RAM과 동일합니다.

언제나 그렇듯이 최선의 선택은 만드는 방법에 달려 있습니다. 이상적으로, 어떤 화면 로딩도 막고 싶지만, 대개 엄청나게 많은 자산을 가진 큰 3D 게임에서는 하드/불가능합니다. 일부 게임은 분명히 레벨로 나누어 져 있지만 (Portal은 특히 여기에 온다), 모든 도시 블록을 로딩 화면을 통해 앉아야한다면 오픈 월드 게임이 좋지 않을 것입니다. 복잡한 모델 데이터를 다룰 필요가 없기 때문에 2 차원 게임은 좀 더 쉽습니다. 그러나 대다수의 게임은 일반적으로 게임을 시작할 때 일종의 화면을로드합니다. 게임이 복잡해질수록 일종의 로딩 화면을 다루어야 할 가능성이 커집니다.

게임에서 '게으른 로딩'의 훌륭한 예를 보려면 (The 3d) Grand Theft Auto 게임, Minecraft (무한 세계) 및 Ultima 7 (거대한 gameworld가 가까이 다가 가면로드 된 지역으로 나뉘어졌습니다. 그들에게)