336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

이 글은 10년도 작성한 KGC2010 후기들 백업임


 

메가 스플래팅 (Mega Splatting) - KGC2010 Game develop

오늘 KGC2010에서 "메가 스플래팅" 세션을 듣고 왔지요. 바로 적용 해볼 수 있는 유용한 팁을 얻은 것 같습니다. 강연자분께서 바로 발표자료를 올려주셨네요. 

링크 : 메가 스플래팅 (Mega Splatting) - KGC2010 발표 by 노동진

솔직히 처음에는 초큼 실망이였습니다. "메가 스플래팅"이라길래 저는 존 카멕 아저씨의 "메가 텍스쳐"를 이야기 하는 줄 알았더랬지요. 하지만 반전이였어요. 강연자분이 개량하신 스플래팅 기법의 네이밍이더군요. 게다가 초반에는 터레인 텍스쳐링의 역사를말씀하시고 "메가 스플래팅"은 꼴랑 한장에 업급되더군요. 다른 세션 들으러 갈까 하고 잠깐 흔들렸습니다.
그러나 실망은 잠시였습니다.
저희 엔진은 원경의 패치는 미리 구워놓은 통맵으로 랜더링 해서 비용을 절약하고 있습니다. 하지만 노동진님은 이 방식을 삽질사례#2로 편입시키고,  꽤 좋은 아이디어를 말씀해주시더군요. 

한마디로 간략하게 하자면, 멀리 있는 패치( DP호출하는 단위 묶음. 각가 이를 칭하는 용어가 다른데 저는 이렇게 부르는게 편합니다;;)부분은 매번 스플래팅으로 그리는게 아니고 랜더 타겟에 스플래팅으로 한번 랜더링 하고 그 결과를 매번 가져다 써서 비용을 절약한다는 것입니다. 멀리 있는 것일수록 해상도는 낮게 하구요.  

한가지 우려되는 것은 랜더 타겟 생성 및 삭제 관리를 어떻게 하느냐였습니다. 패치 단위로 랜더 타겟을 보유하고 있고, 시야에 들어 올 시점에 타겟을 생성하고, 시점 반경에서 멀어지면 타겟을 삭제하는 등의 행위가 필요할텐데, 이 과정이 느리지는 않을까 말이죠. 강연자분은 그 과정이 우려하는 만큼 시간이 걸리지는 않는다더군요. 
얼마나잘 관리하느냐가 관건일 것 같습니다만 설사 문제가 된다 하더라도, 케릭터가 열심히 달리기만 하는 경우는 살짝씩 프레임이 떨어져도 큰 문제가 없지 않을까 싶기도 해요. 전투중의 이동은 패치 디테일이 크게 변할 일이 없을테니까요. 아, 카메라 회전은 있겠네요.
아이디어가 복잡하지도 않고 기존 랜더 파이프를 크게 바꾸지 않고 적용을 해 볼수 있을 것 같으니 저도 한번 적용해서 테스트 해 봐야지 싶습니다.


저사양 고퀄리티 MMORPG의 개발사례 - KGC2010 Game develop

저는 이번 KGC2010에서 한빛소프트의 "저사양 고퀄리티 MMORPG의 개발사례"를 듣게 되었죠. 
제가 너무 욕심을 냈던 것일까요. 저는 뭔가 한빛 소프트만의 독자적인 노하우를 알려주실거라 기대했습니다. 
하지만 초반에는 저사양 저용량이면 뭐가 좋고 고퀄리티면 뭐가 좋고 이러쿵 저러쿵 당연한 이야기만 나오더군요. 아.. 또 낚였구나 싶었습니다. 파닥 파닥
세션 제목이 "저사양 고퀄리티"가 아니라 "저사양 대비 고퀄리티"가 되어야 했습니다. 사양을 낮추기 위해 SM1.1로 작업을 했고 노말맵을 안썼고, 림 라이팅을 PS가 아니라 VS에서 했고 등등 특별한 노하우보다는 일반적인 이야기만 나오더라구요. 
김진호PD님 강태공이였습니다. 
아뇨, 사실은 제 잘못입니다. 무슨 게임에 관한 내용인지, 그 게임이 어떤 게임인지를 알고 갔어야 했지요. 세션 제목만 보고 멋대로 덥썩 환상을 가져버린 제 탓이지요. 

하지만, "게임 시장의 동향 및 신기술 소개 :AUTODESK"처럼 슈퍼 대어 월척은 아니였습니다. 사양 대비 고퀄리티인 것 만은 확실하더군요. 쥐포네마리 VGA에서도 돌아가는 정도면 "MU" 정도의 사양인데, 퀄리티는 그에 비할바가 아니더군요. 그렇다고 뮤가 퀄리티가 구리다는것은 아니니 오해 마시길 바랍니다. 그만큼 에이카의 퀄리티가 높다는 것입니다. 뭐, 직접 게임을 해보지는 않고 스샷만 본것이지만요.
Geforce4에서 나올 수 있는 그래픽이라기엔 너무 좋지 않나요.

그리고, 듣다보니 중반부터 쓸만해 보이는 아이디어들이 나오더군요. 아직 김PD님이 세션 강연 자료를 올리시지는 않은 것 같습니다. 제가 개인적으로 직찍한게 있긴 하지만 폰카라 구리고, 다른 분들이 잘 정리해서 올려주신 것이 있어 자세한 내용은 아래 링크로 보시길 바랍니다.


개인적으로 기억에 남는 아이디어들:
- 리플렉션도 특성상 필요한 부분에만 사용 : 반사 효과는 비용이크기때문에 항상 최적화가 필요한 부분입니다만, 에이카에서는 과감하게 쓸데 안쓸데를 구분해서 사용하네요. 마을같이 프레임이 상대적으로 떨어져도 상관 없는 부분은 퀄리티를 높이기 위해 반사를 사용하고, 사냥터같은 부분에서는 최대한 억제한다네요.
- 케릭터가 100개 넘으면 100개만 랜더 (메모리 pool 이야기 중): 전쟁같이 한 화면에 케릭터가무수히 나올 경우 100개가 넘으면 100개인지 110개인지 유저 눈에는 그저 사람이 많은걸로만 보입니다. 그래서 편법으로 100개 넘으면 100개만 랜더한다고 하네요. 
- byte alignment : 잘모테써효 ㅠㅠ 그동안 쌩까고 코딩하고 있었어요. 자신을 돌아보는 계기가 되었습니다.

결론적으로는 1시간이 아깝지 않은 세션이였습니다. 짝짝짝~! ( 씹고 뜯고 맛보고 즐기고 -ㅈ-;)


Posted by ozlael
,