Public VR Critique #2: Dreadhalls

Oculus Developer Blog
Posted by John Carmack
April 27, 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: May 18, 2015

The time spent with a black screen on launch is borderline. The music coming up early helps, but it would be good if something visual got put up when the music started. The individual level load times are also quite long.

The main menu scene suffers from the two-frame-rise display ghosting problem with the solid black background. A dim, misty far environment would mitigate it.

The billboarding ground fog looks pretty bad with obviously rotating ground intersection lines. That is a bad idea in conventional games, but worse in VR where the continuous head movement draws extra attention to the behavior of the quads. A surface floating free in space can still be billboarded in VR, but not when intersecting other surfaces. Orienting along the vector to the view, rather than to the orientation to the view, is less obtrusive because the positional change from the head/neck model is much smaller than the attitude change. In cases where the view doesn’t move much, like this particular scene, the fog geometry should be completely static. The ground intersection line should be fixed by adjusting the texturing so all the pixels are above ground. Soft particle fragment shaders are not a feasible option on this which would be a large performance hit (Mali has an extension that lets you read depth as you are blending without ever writing it out, but not Adreno).

The densely overlapped fog also shows the 16 bit color dither pattern, giving checkers of purple instead of pure greys. I also noticed it prominently in game when my lamp was out. 16 bit color is slightly faster, but not much. If you are doing nothing but displaying pre-lit compressed textures, you might as well use 16 bit, but I recommend using 32 bit color for all Gear VR titles that do any kind of dynamic shading or blending.

Reading text should be effortless. You always need to go bigger and more legible than you think for game text, and even more so in VR. As the designer, you already know what all the text says, so your brain needs very few clues to decode it, while new players actually have to read it all.

The font in Dreadhalls feels “dungeonish”, but a solidly legible font like Arial would be a better choice at the sizes used. Interestingly styled fonts should only be considered when they are drawn quite large. All font features should be at least two texels wide in the source image and when rendered to the eye buffers, so it can retain a solid core when distorted to the window buffer. I’ll write a longer article on text in VR at some point.

The main menu has yellowish text that gets highlighted in yellow.

On the main menu, I could gaze between two buttons and have it continuously flicker between the two.

On the audio menu and most other button-based ones, the gaze testing is asymmetric –you can gaze well into the left side before activating it, but you don’t even need to reach the right side to activate it.

Some of the UI has an audio cue on gaze, but many don’t. I encourage subtle audio cues for all gaze UI.

The text, but not the background, of in-game menus gets depth-tested away by the world if you are close to a wall, or your map is up.

The line art on UI panel edges aliases. Using an art style with thick, slightly faded brush strokes will give the best appearance.

It might be good on the controls page to have graphics that encourage swivel chair use and head phones.

You shouldn’t need separate SFX volume and music volume control. The standard volume control mechanism should be the master volume level, with music volume being optionally lowered.

The text panels under the oracle went uncomfortably far down in some cases.

The blended highlights on selected in-game objects don’t look very good. It would be reasonable to have a completely separate texture set for highlighting objects, which would allow either hand modifications or more expensive offline algorithmic modification like contrast enhancement and colorization. If it is only a subtle change, blinking to the highlighted texture set at some rate might be a good effect.

There were a lot of edge sparkles visible in dark hallways and around items. See my previous post: Public VR Critique #1: Nighttime Terror

Many of the candlesticks on walls were interpenetrated with the wall geometry, which doesn’t look professional. I saw one major geometry hole over a doorway.

The joypad button pic in tutorial text is too small and not mip mapped. You can back away from tutorial text and leave it an aliased mess; fade text out before it is illegible.

I accidentally skipped past reading a scroll I picked up once. It would be nice to be able to see at least the most recent one, if not all of them, in your inventory.

Game design thoughts:

The first time I tried Dreadhalls, back before GearVR launched, I was rather ambivalent about it – it wasn’t clear exactly what I was supposed to be doing. Walk into every room, pick up every item, is that it? I don’t think the store text of “inspired by the rogue-like genre and games such as Dungeon Master and Eye of the Beholder” is very representative – I was expecting more loot hunting and stat grinding.

I look at it now as more of an “experience” than a game; there are moments that are quite powerful. Some of the scares are just perfect – walking along, see a table off to the side, turn to pick up loot, turn back to carry on, and *JESUS CHRIST*!!! Someone is going to have a heart attack in a VR horror game, it is only a matter of time. There were also times when I was legitimately afraid for a minute or two, since I really didn’t know what the rules of the environment were.

When I did get jumped, I desperately wanted an endurance limited sprint option instead of the nightmare slowness of normal walking speed, but there would be VR comfort issues to consider.

I’m not a connoisseur of horror, but I think Dreadhalls could gracefully evolve into a more robust game while still retaining the visceral elements that are its current strength.

The lock picking mini-game is the only real tactical skill at the moment, but it only really matters if you are being chased. It could be given some teeth by having some doors where the lock permanently jams after a couple failed attempts, and you can’t just wait it out. A couple other tactical skill options come to mind – Something valuable unexpectedly darts in front of your view, and you have a brief shot at capturing it, incorporating a tiny bit of the gaze-shooter mechanic – “snag the will o’ wisp”. “Avert your eyes!” events (medusa head?) are another option.

You could have additional tiers of valuables, but already the coins didn’t feel super rewarding. I was a little bit interested in the oracles, but their information seemed disconnected from the game itself, so of limited value.

What would feel VERY valuable is anything to influence the monsters and remove some of the sense of helplessness.

A charm that warned you when some were just out of sight, or possibly showed some of them on the map for a time.

A lure for monsters – a special place that you can activate, or perhaps an item you can use, that will draw monsters to it, allowing you to get past them.

A way to dynamically block a hallway against monsters; some sort of erectable mystic barrier, that could stop them for a period of time.

The rarest of items could be a one-time way to destroy a monster.

It would be extremely satisfying to have an environmental hazard that could be used to destroy monsters under the right circumstances. Perhaps coupled with lures and traps – bring them here, lock them in, wait until The Bad Thing happens to them, then dance on their grave.

Once you have things in the game that are really desired, you can tease the player with them (windows into unreached areas, etc.), and put challenges between them. Jamming door locks would fit nicely with that.

Secret doors could probably be used well. You don’t want to encourage people to walk around with their nose in a wall hunting for secrets Wolfenstein-3D style for VR comfort reasons, so perhaps an expendable item that would reveal secrets within a generous radius, so you would only use it in an area you had reason to believe contained one. That would give another consumable item of value. The lore of the scrolls and oracles could connect with the gameplay by hints for secrets or codes for doors.

Other random thoughts:

Losing your map would be horrifying – some flamey-monster thing accosts you and your map rises into view while crumbling to ash.

It falls into the just-plain-mean category, but it did occur to me that recognizing when a VR dismount and mount had happened could give you a perfect opportunity – on re-mount, leave the screen blank long enough to guarantee the user has the HMD completely settled, then start the rendering with a monster right in your face and shock music. Have it dissipate right after, without actually harming the user.