아래 게임엔진과 퀄리티 관련해서 프로그래가 90% 언급이 있어서 끄적여 봅니다. <div><br /></div> <div><br /></div> <div><br /></div> <div>일단 프로그래머도 종류가 많겠지만... "게임 엔진/렌더러" 개발자로 한정을 지어서 말하자면</div> <div>일반적인 경우에 1초에 몇 프레임이 나오도록 렌더링 하는걸 목표로 합니다.</div> <div>하지만 화면에 표시해야할 범위가 커지면 점점 초당 프레임이 하락을 하겠죠</div> <div><br /></div> <div>그러면 시야거리에서 얼마 이상의 경우에는 폴리곤 갯수를 줄이거나</div> <div>텍스쳐를 저해상도로 대체하는 등 메모리 사용량과 CPU/GPU 처리량을 줄여서 납득할 만한 프레임을 뽑아내도록 해야 합니다.</div> <div><br /></div> <div><br /></div> <div>고품질로 악명(?) 높은 크라이시스 3의 경우</div> <div>눈의 높이가 사람 눈높이 정도로 고정 되고</div> <div>건물 빌딩이나 비행기를 타고 다니며 아래를 보는 경우는 거의 없습니다.</div> <div><br /></div> <div>넓은 맵은 층이 낮고(1층이나 2층)</div> <div>높은 맵은 면적이 좁습니다.</div> <div>(+ 높을 수록 아래를 바라봐도 보이게 되는 면적은 더 커집니다.</div> <div>그런 이유로 넓은 맵에서도 뒤에가 한번에 보이지 않아 뒤를 그리지 않도록 벽으로 가리는 꽁수를 기획적으로 넣습니다)</div> <div><br /></div> <div>즉, 하나의 공간에 들어가서 적정 프레임을 나타내는건</div> <div>하나의 스테이지/공간을 설계하는 사람에게 달려있고</div> <div>개발자는 어느정도 공간에 어느정도 물체들까지는 괜찮다는걸 가이드 해줄 뿐입니다.</div> <div><br /></div> <div>다시 정리하자면</div> <div>스토리 쓰고 << 시나리오 라이터</div> <div>스테이지 분리 하고 << 기획자 ?</div> <div>미션 설계하고</div> <div>맵 설계하고</div> <div><br /></div> <div>QC에 던져서 프레임 잘나오나 그래픽 깨지는거 없나 던져서</div> <div>프레임이 너무 안나오면 게임 엔진에서 이펙트를 줄여서 프레임을 올리거나</div> <div>스테이지를 더 작게 하도록 기획자가 절충을 시키거나 하도록 하여</div> <div>게임 엔진의 한계를 넘지 않도록 조절을 하는게 정석입니다.</div> <div><br /></div> <div><br /></div> <div><br /></div> <div><br /></div> <div>아무튼, 우리가 생각하는 mmorpg의 경우</div> <div>시점이 사람보다 높고 광활한 필드를 실시간 렌더링 / 로딩 해야 하므로</div> <div><br /></div> <div>FPS 보다 더 많은 영역을 읽어 들이고 그려야 하는 부담이 생기고</div> <div>마을에서 바글바글 하지 않으면 사용자들이 사람이 없네? 인기없는 마을/게임이네? 하고 떠나버릴테니</div> <div>최대한 많은 물체/유저를 그리도록 해야 합니다.</div> <div><br /></div> <div>그렇기에 콘솔이나 PC의 싱글 플레이 같은 그래픽으로는 절대 그려낼수가 없는 거죠</div> <div><br /></div> <div><br /></div> <div>아무튼 부족한 CPU/GPU 성능을 최적화 하는 방법으로는</div> <div>1. 폴리곤을 줄이고 (마영전의 로브 씌우기)</div> <div>2. 텍스쳐 용량을 줄이고(화질 떨구기)</div> <div>3. 해상도를 떨구고 뻥튀기 해서 그리거나(화질 떨구기)</div> <div>4. 본캐와 다른 캐릭터의 이펙트나 그리는 수준을 다르게 하거나 하는 방법등을 고려 합니다.</div> <div><br /></div> <div><br /></div> <div><br /></div> <div>머.. 결론은 프로그래머 갈아 먹는다고 해도 부족한 성능은 해결할 방법이 없고</div> <div>게임 기획 단계에서 어쩔수 없이 하향시켜 그릴수 밖에 없습니다.</div>