Public VR Critique #6: Viral

Oculus Developer Blog
Posted by John Carmack
May 6, 2016

In 2015, John Carmack published a series of public critiques of the first batch of Gear VR titles to provide guidance for future VR development. We are republishing these six critiques on the Oculus Developer Blog. Note that the critiques were requested by the developer and that current versions of these titles could have been updated to address items noted in these posts.

Original Publish Date: December 23, 2015

The original Viral demo was fun and showed good potential, but I hadn’t gotten around to playing the full version until this week. It filled out really well; I had a great time playing past the third boss fight for this critique.

Some of the game movement is going to be uncomfortable for many people. The linear pulls to the anchor points aren’t bad, but the flips in view orientation are problematic. Doing them fast is about the best you can do. Some of the other motions are unnecessarily uncomfortable – when you ride on a platform or get pulled through a level, the path is a nice derivative-continuous spline. Gaming has migrated that way because it looks more professional on a screen,but it is best to unlearn that when you are pulling a VR user around and stick with strictly linear motion for comfort. Playing a little sound cue on instantaneous direction changes can help the user accept the change a little easier

The relatively bright world can be a little flickery at the edges on the 60 hz low persistence Gear VR display. Dropping the intensity a little bit on the major wall surfaces would help with eye strain for some people, but it isn’t too bad. I like the dynamic color grading on the world, but one trivial gripe is that the white light strips sometimes got colorized to a bright grey,which wouldn’t happen if everything was high dynamic range and physically based. Probably nobody else would ever notice, but keeping very bright emissive surfaces saturated under low dynamic range color transformations is a good goal. Doing proper HDR PBR is possible on Gear VR, but I don’t think it is worth the power / thermal draw in most cases.

The touch-free accept-on-gaze-timer felt out of place. For a game like Land’s End that doesn’t require tapping during play it can be a reasonable choice (but you should always accept real taps/presses as well!), but Viral has tons of tapping, so having a timer accept for UI seems wrong. I always feel a little stressed and pressured when I am gazing around and a timer starts running down, and I accidentally triggered UI once when I wasn’t paying attention.

There were a number of times where the view was close enough to surfaces that if I looked around I would see geometry too close to stereo fuse. I could get my view actually penetrated into geometry when turning around while clipped to a wall anchor.

The game was quite clean with respect to aliasing. The thin skull outline at the end of levels was one thing that stood out; making that a three pixel wide edge with a little feathering would fix it. In some of the larger areas the light strips would start aliasing, but it would take a style redesign to really fix that – floating blended light strips slightly in front of the walls instead of opaque surfaces inset behind them. Text rendered in the world aliased in the distance. The solution to that is to render to a texture and mipmap it, or just pre-generate all the panels, then use that instead of font drawing. You’ll generally pick up a little performance from that as well.

Viral is a good example of getting value out of character animation in VR. Watching one of the little guys take one to the face mid-taunt and rag doll away is quite rewarding. Having a few more opportunities to experience the characters up close would get more value out of them. A lot of VR games keep everything in the distance so it is just action-figures, but occasionally getting in close for a bit gives you more of an in-the-world-together feel. You do have to be a little cautious about doing things that would make the player physically jerk back, because the lack of position tracking will make that stand out as uncomfortable. Bringing them in close on the platforms, so it isn’t shocking, works pretty well.

Support for pressing a joypad button instead of tapping is always welcome. I played the first day with the touch pad, and the second with a joypad.

Text is generously sized and easy to read. The start menu feels a little close and spread out, but not too bad.

Weapon powerups feel good; you are always happy to get them. Even though I sometimes didn’t love the sticky bombs, knowing that I got a full reload after they were gone still made me always happy to see them.

I like the stage names; it would be good to present the name somehow before the player starts the stage, as well as when they complete it. It should also be visible when reloading after death.

The voice acting sounds great. It is hard to overstate how much better that is than reading some text. Short voice clips that get played repeatedly during gameplay can stand out as a bad game-ism,but I didn’t mind hearing the level intro speech repeatedly on my many failed boss fight restarts.

The initial splash screen sound and all the UI sounds only play in the left ear, while music and voice plays in both.

I think the part of the game that could be most improved is the in-play audio. The background music fills the dead air, but I would much rather have clear audio indications of everything in the world. Ideally, you would be able to close your eyes and still know how many (and where, with 3D audio) enemies and items are present by listening for a while, and every time something happens, there would be a distinct audio sound. The enemies have good animation personality, but they need a matching aural personality. Indistinct idle / taunt grunts, pain responses, thuds when they fall, and groans as they get back up.

It seems like there should be some other indication that you are on your last health besides the dot-on-the-wall. Maybe a transition in the background music, a change in the presentation of your shots, or some kind of local particle leak. Floaty particles around the view is already a bit of a VR trope, but it looked good at the start, and it could probably be used more later in the game.

I was pretty much stuck at the first boss, and had to tweet at @FierceKaiju because I didn’t realize the boss was invincible while glowing. Different effects would have helped a lot – making the shots ricochet off or having a boss health indicator would have made it obvious, but just a clearly distinct sound and maybe a little particle effect would have been a good clue. Similarly, distinct sounds for armoring up and down would help. Sometimes players are dense, and you need to hit them over the head with multiple tracks of information.

I was also puzzled on the second boss. I’m not even positive I understand the path now, but I think it was a matter of killing the little enemies first, then hitting all the gimbal triggers within a certain amount of time. A clear sound and flash when things become shootable or reset would be good. I know they change color, but smoothly ramped color changes are about the least attention-grabbing thing you can do. Even draws attention much better. I also saw some discontinuous snaps in the gimbal rotation, not sure what that was.

The third boss felt great. It took me quite a few tries, but I was proud of myself after finally getting it.