Just how stable is Riven? It is well known that Gehn’s unorthodox writing methods invariably produced ages that eventually fell apart, and Riven in particular is demonstrably close to its inevitable collapse. But do we see any symptoms of this in-game? Besides the endings, Riven appears perfectly normal to an untrained eye. But what if we look closer? What if there are anomalies in plain sight that we simply never noticed before?
While Myst relied on the interpreted HyperCard engine, Riven uses the Mohawk engine instead. Conceptually, Myst operates on a simple one-view-per-card model where each image represents fixed render states (see Guillaume's previous articles). In contrast, Riven’s Mohawk engine allows for dynamic changes within nodes by enabling multiple rendered views to coexist on the same card, with the engine displaying the appropriate render based on the current state of the game world. In short, where Myst’s cards represent static views, Riven’s cards can represent multiple different versions of the same viewpoint. This discovery led us to develop an exploration tool, the "Riven Explorer", that allows for side-by-side comparison of these renders. Where the Myst Graph revealed development insights through card relationships, the Riven Explorer uncovers them through visual differences.
Since renders took significant amounts of time in the 90s, and different worldstates were often rendered at different stages in development, many renders have subtle differences beyond the changes caused directly by the player. Most of these are virtually impossible to notice due to the worldstate changes being evoked in separate locations from where the actual differences are visible. But when you compare card differences in-place, changing the worldstate without moving the camera, they can become much more obvious. Many differences are subtle, and are virtually impossible to notice without the use of direct comparisons. But with such tools, it reveals many places where tweaks to the 3D scene were made between renders, resulting in changes to the world far beyond the changes being made by the player.
The tool, evoked in this article, provides a methodical way to analyze the unique differences between images composing a given card. For instance, when a card contains three images (A, B, and C), the explorer generates three unique comparative analyses: A versus B, A versus C, and B versus C. These differential comparisons, that we call "diffs", are visualized through two complementary modes:
Typically, a card will have multiple diffs. The number of differences follows the triangular number sequence: 1 render produces 0 diffs; 2 renders produce 1 diff; 3 renders, 3 diffs; 4 renders, 6; 5 renders, 10; and so on (sequence A000217 on OEIS).
We then began systematically examining these differences, expecting to find rendering glitches tied to game logic. This was a fun and almost philosophical experience: we actualized different moments in time from the same place, without having to move around to change the worldstate. It is like wearing magic glasses that represent the same location from different points in time. This article, and the follow-up articles to come, explore these findings in depth.
We use the following terminology throughout these articles:
Jungle Island is a location very familiar to many of us, but it has a large variety of anomalies, making it suitable as our first point of examination.
Several anomalies are associated with the state of the spinning dome (this is a recurring theme- every single spinning dome in the game has anomalies.) In cards J121, J124, J133, J154, and J421, the two semicircular "hinges" that sit at the base of the dome are occluded incorrectly, making them fully or partially obstructed by other geometry depending on whether or not the dome is flipped. In J124, you can also see the hinge switch from high to low polygon count.












In card J130, the base of the dome visibly moves when the dome is flipped.



Card J154 is also the location of one of the Spyder easter egg renders. A direct comparison with a normal J154 card reveals that the camera is in a different spot. Also, the furthest of the spherical lamps in the easter egg has been raised/lit like many of the others along this walkway.



In cards J110, J119, and J127, the foliage changes (quite drastically in J127) when the dome is flipped. J119 also has some leaves incorrectly occluded by parts of the dome when closed.









At the top of the wahrk gallows, in cards J178 or J264, the doorjamb to the prison changes depending on whether the door is open or closed. In card J264 the entire jamb changes, and in J178 the differential comparison makes it obvious where the images were spliced around the jamb.






There are two patches applied when you’re standing in card J181, one for the submarine and one for submarine dock 5 (the schoolhouse).
When the submarine is raised out of the water, the submarine overlaps the railing in the foreground of J181.
Furthermore, there is a patch that shows dock 5 extended, which is correctly used to show an extended dock 5 in J181 when the prison door is open. However, the render of the closed prison door already has an extended dock 5, and there is no patch to show it retracted. As a result, if you retract dock 5 before opening the prison door, you can see the schoolhouse dock retract the moment the prison door finishes its opening FMV.





Inside the tunnels, differential comparison revealed a render that seems out of place. If you turn on exactly 3 of the lights in the tunnel, when you’re walking back towards the ocean, there is one render assigned to card J194 that’s actually a render from the perspective of J196. In the differentials, this looks like the tunnel changing shape between worldstates. In-game, this makes it seem like one of the steps towards the ocean darkens the lighting without moving forward at all. The incorrect render may be from earlier in development, as it has noticeably egregious banding on the dim/gray parts of the image, which isn’t a problem on the correct version visible from J196, or anywhere else in the tunnel. It’s likely card J194 should be completely black when 3 lights are on, as it’s barely lit (with a correct render) with 4 lights on.




Each of the 25 totems in the Tay book room can be raised or lowered individually. When you’re standing in the center of the room, individual image patches are used to allow arbitrary totems to be shown in the downwards state, and renders with Tay unlocked are made with the correct totems already lowered. However, the zoomed-in views on almost all of the 25 totems have all of the totems in the same state as the totem you’re currently zoomed in on. (Exceptions: J217 and J225)
Two anomalies are visible as a result: Firstly, and more obviously, when zoomed in on a totem, the visible edges of the 2 adjacent totems will be raised or lowered based on the state of the totem you’re currently zoomed in on. Secondly, in many of the totem views, a reflection of the room is visible on the water, which shows every other totem in the room raised or lowered in the reflection.





Also, for some reason, a few of the totem renders have bright blue pixels on the extreme right or left side:





Furthermore, there are some changes to the lighting that occur. A shadow changes visibly in card J241 based on the totem state. In cards J211 and J213, all of the shadows cast by the totems disappear when the Tay book is unlocked.







At the big wahrk head staircase, at card J375, some bright white bits in the jungle disappear when the wahrk is open.



Also, the angle of the camera in card J381 changes when the wahrk is open. Some foliage also changes, and the lighting overall becomes slightly brighter.



At the maglev leading to Temple island, at card J806, the rocks on the far left are different based on whether or not the maglev is present or missing. Also, some of the details on the concrete are slightly moved.



A few anomalies are present based on whether or not the sunners are present. In card J620, the rocks on the right change when the sunners are absent. Furthermore, in cards J620, J626, and J628, the horizon changes visibly based on the presence of the sunners. (In card J628, the mismatched horizon is only present if you enter the node while the sunners are awake/startled, probably to match the FMV)









In card J526, the shape of the background mountains change to match the FMV when you open the submarine hatch.



In card J296, if dock 4 is retracted, a red spot appears on the rocks when the submarine is turned around. It also appears some of the rocks change, but it’s unclear which of these changes are just reflections of the submarine.



In card J449, when the gallows shortcut ladder is still raised, submarine dock 2 will be completely missing when retracted (The extended dock is shown using a patch.) Furthermore, when dock 2 is visible in any worldstate, it becomes apparent that the submarine dock is on the wrong side of the walkway, a quirk also visible in J447.




In cards J468, J470, J476, and J581, the diffs reveal that the shortcut ladder isn’t actually raised, the bottom half has merely been erased. Card J334 clearly shows that the ladder should be visible when raised.












Finally, in card J459, a detached shadow probably belonging to the shortcut ladder is visible on the leftmost cliffside at all times.



Comments? Corrections? Questions? Additions? Know anything about the Mohawk engine? Get in touch:





































































































