2016
06.04


본문 링크 : https://developer.oculus.com/blog/public-vr-critique-5-bazaar/


필요한 부분만 번역.





Original Publish Date: November 26, 2015


When an earlier version was in the VR Jam, I gave it high marks for implementation quality, but the gameplay didn’t really grab me. The commercial version is much improved, and I played through to level nine for this critique.


이 게임은 VR 잼에서 처음 공개되었습니다. 그때 저(존 카멕:오큘러스 최고경영자)는 이 게임의 구현 퀄리티에 대해 높은 점수를 주었습니다만, 게임플레이는 저를 매료시키진 못했습니다. 지금의 상용버전은 굉장히 많이 발전했는데요, 저는 이 글을 쓰기 위해 이 게임을 9레벨 까지 플레이 해봤습니다.



The rendering is all well done. Going with stylized, rather simple visuals and keeping it clean has been a good strategy for several VR games.


렌더링은 아주 좋습니다. 양식화되어 잘 어울리는데다가, 심플하고 그리고 깨끗했습니다. 몇몇 VR 게임서도 좋은 전략이죠.



The bright, saturated colors are a distinctive choice, but you should be aware that it highlights the 60 hz refresh rate limitation on GearVR (versus 75 on DK2 and 90 on CV1); 


밝으면서, 강렬한 색체는 독특한 선택인거 같습니다. 하지만 기어 VR의 프레임 레이트가 60Hz 인것은 분명하게 알고 계셔야 합니다. ( DK2는 75고, CV1은 90인것에 비하면 말이죠 )



people that are flicker sensitive will have more eye strain with it. The general rule is that bright colors towards the periphery of your vision are the most problematic – white clouds in the sky are a problem for many games. You might consider having some dimmer districts, to let the eyes rest a bit, and it would also be a navigation aid.


깜빡거리는 것에 조금 더 민감한 사람들은 더욱 눈에 부담을 가지게 됩니다. 이 게임의 비쥬얼이 밝은 컬러를 지향하고 있기다는 것이 가장 큰 문제입니다. - 하늘에 있는 흰색 구름은 많은 게임에서 문제가 됩니다. 당신은 일부 구역을 조금 어둡게 해보는 것을 고려해 보는게 좋을 것 같습니다, 잠시 눈을 쉬게하기 위해서 말이죠. 그리고 이건 방향성에 도움이 될겁니다.




One of the few things that stood out poorly was the tattered edges on the scrolls. Alpha-test/discard is used widely in games, but it has much larger drawbacks in VR, where the pixel-level aliasing stands in stark contrast to the MSAA (that everyone should be using!) on the rest of the world.


이 게임에서 거의 없긴하지만 형편없는 부분을 하나 말하자면, 모서리가 누더기가 되버린 스크롤입니다. 알파 테스트를 버리는건 게임에서는 널리 사용되고 있습니다. 하지만 이것은 픽셀수준의 안티 앨리어스가 극명한 대조를 이루는 VR에서는 좀 더 커다란 문제점이 될 수 있습니다. 




 The highest quality solution is to use blending, but that requires guaranteeing draw orders, which can be difficult in dynamic environments. A solution with no downside is to leave blending off and use “alpha to coverage”, which converts the pixel alpha into an MSAA coverage mask. 


가장 높은 퀄리티의 해결법은 블랜딩을 사용하는 것입니다. 하지만 Draw Order가 보장되어야만 하죠, 그리고 Draw Order를 정리하는 것은 역동적인 환경에서는 어려울 수 있습니다. 한가지 해결책은, 아랫면은 블랜딩을 끈 상태로 두고, Alpha to Converage.....(생략)



Only discard when alpha equals zero. Most GPUs helpfully add a good dither, so 4x MSAA looks very good for feathered edges. The precision limits start to show up with multiple layers and subtle gradients, but it is an underused technique. Perhaps even easier would be to just throw a hundred triangles at the scroll and actually model the tatters. It would be a little stylized looking, but that isn’t usually a bad thing for VR.


알파가 제로일때만 버리도록 하세요. 대부분의 GPU는 도움이 되도록 좋은 디더를 더해줍니다. 그러니 4x MSAA(멀티샘플링 안티 앨리어스)는 페더 엣지에 매우 좋습니다. .... (생략)



Almost all games do this, but the loading screen is rendered at a choppy framerate, which can allow you to see it clipped off if you are looking away, then turn back to center quickly at the right time. The most efficient thing to do is send the loading screen texture directly to vrapi_SubmitFrame() a single time, and let Async Time Warp take care of repositioning it while the game loads. We should provide some stock sample code to do this.


대부분의 게임들이 그러하듯 이 게임도 로딩을 할때 프레임이 뚝뚝 끊어집니다. 


~중략~


가장 효율적인 것은 로딩 스크린 텍스쳐를 직접적으로 한번에 vrapi_SubmitFrame()로 보내는 것입니다. 그리고 게임이 로딩되는 동안에 수직동기화가 잘 안맞는걸 허용하도록 하는 것입니다. 우리가 당신에게 샘플 코드를 보내드리겠습니다.



On the extremely-nitpicky list, the loading screen images didn’t fade completely out to black before the edges, leaving a slightly visible edge effect on the bottom.


극도로 사소한 트집을 잡자면, 로딩 스크린 이미지가 완전히 페이드아웃되지 않습니다. 아래쪽에 엣지부분이 약간 남아있습니다. 



Text, one of my hot-button topics, was well presented throughout the game, only showing a few words or a sentence at a time, in a generously sized font.


저의 가장 큰 주제거리이기도 한 텍스트에 대해서 말해봅시다. 이 게임에서는 잘 표현되고 있습니다. 풍부한 폰트 사이즈를 사용해서 오직 몇개의 단어나 문장만 보여주고 있으니 말이죠.


There were a few UI elements with thin line borders that showed a bit of texture colorspace aliasing. All lines should be at least two texels wide to minimize this. Using all sRGB textures and eye buffers also helps,  but if a project didn’t start out that way, it is hard to retrofit.


UI 중에 아주 얇은 라인을 가지고 있는 것들이 있습니다. 그것들이 약간의 컬러스페이스 앨리어싱을 보여주고있습니다. 이것을 줄이기 위해서는 모든 라인들은 적어도 반드시 두개의 텍셀을 가져야합니다. 




The 3D gaze cursor would sometimes be drawn incorrectly partially occluding nearer surfaces like the carpet when the center trace is just barely missing it. Doing four corner ray traces and taking the nearest depth would fix it for almost all cases, but leaving depth test enabled when drawing is usually a good idea.


I played my first session with headphones, and while there was some panning of the sound sources, it didn’t provide a lot of localization. The Oculus Audio SDK is great for this, but we haven’t released the library for native code yet, only Unity / Unreal engine integrations. If any native teams are interested in this, let me know and I’ll prod the right people. (UPDATE: We released a low-level C/C++ SDK that provides spatialization and (optional) reverberation that is available by request. Learn more here.)


제가 이게임을 처음 해봤을 때는 헤드셋을 끼고 플레이 했습니다. 그리고 이때는 사운드 소스들이 조금 패닝되었습니다. 이건 현장감을 제공하지 못했습니다. 오큘러스 오디오 SDK는 이부분에 대해서 좋은 해결책입니다. 하지만, 우리는 native code의 라이브러리를 아직 배포하지 못했습니다. 오로지 유니티와 언리얼 엔진의 통합만입니다. 만약 이것에 관심있다면 ~~~생략



Gaze-only controls are a large design challenge, but they work pretty well here, and allow long play times without getting a tired arm holding it up by the touchpad or requiring a gamepad. Time-on-target is a terrible UI when it is taking the place of a button (the “zero button mouse” problem of Kinect), but when it is a fundamental part of the gameplay it works out ok. It might still be nice to support joypads and the touchpad to act as a single “yes” button to accelerate some of the acknowledgement timers. That would be a play advantage, but it would make the player feel more directly in control. Firing the crossbow and perhaps a few other things should not be accelerated, but using things from your inventory could be make a lot more pleasant, especially when in time-stressful situations. It is never good to let a player think (rightly or wrongly) that they failed at something due to the UI being in their way.


It might be better to move the inventory chest to the front of the carpet. I only recently appreciated that I sit up a lot straighter than many when I am playing in a swivel chair; many people are playing with fairly slouched posture, which limits how far they can comfortably look down.


The angular notchy turns of the carpet felt jarring. It is important to keep the viewpoint movement linear for comfort, but the carpet could bank and slide more smoothly below the view.


The testing for item pickups ignores geometry that may occlude the items. That is understandable, but sometimes I was pulling items through blank walls. It felt like it was coming all the way from the next canal over, but it may have still been a local occlusion.


The level play times are good, and it was nice to see the available items continuing to expand through all the levels I played.


This is a bit strange coming from me, but being in VR, I wanted to feel a bit more lore in the game. The visuals and audio make an interesting setting, and being “in it” makes me want to know more about it than when I just look at a puzzle game on a 2D screen. A deft design touch with some names, iconography, and maybe a little voice acting could hint at a richness that you might choose to explore in the future.


COMMENT