Dec 31 2018

Happy New Year 2019

    
        
    
           

What a crazy year it has been for the Starry Expanse Project!

We pioneered new methods for both camera matching and browsing the original Riven’s files, welcomed you all to a new community Discord server, and joined in on the Myst#25 celebration.

All of this on top of the most productive year the project has ever had, with a record number of assets completed, and the team over doubling in size!

We’d like to thank all of you who’ve followed us this far on our journey, we greatly appreciate your support. See you in 2019!


Nov 11 2018

A Belated Anniversary Gift

As part of the celebration surrounding the recent success of the Myst 25th Anniversary Kickstarter, we were delighted to see printable versions of five of the original 3D assets from Myst made available as a community reward. We couldn’t help but join in the fun, and so we reached out to Cyan and offered to match their five models with five of our own.

These iconic Riven models are now available for download alongside Cyan’s on the Myst25 Thingiverse page, and include:

  • Gehn’s Pipe
  • The Wahrk
  • The Fissure Telescope
  • A Moiety Dagger
  • The MagLev

We’re pleased to make these 3D-printable models available to other fans of the series, and we hope you like them!

Huge thanks to Kelly Coston for helping both Cyan and us process, test, and upload the models.


Oct 25 2018

Gallery of the Ages

Greetings to fellow Riven enthusiasts everywhere! The Starry Expanse Team hopes you all are enjoying a beautiful autumn this year. Project co-founder Philip Peterson here, coming at you with some words from a soul that has stared at images of Riven for over ten years.

To open the season, I want to showcase a different side of the project. Quite frequently, in the course of modeling and texturing assets, and when referring to specific areas of the game during our meetings and various conversations, we find ourselves in need of the ability to quickly find a particular image or movie from Riven.

The most efficient way to do this, perhaps oddly, is often to perform a quick YouTube search, find a video playthrough of Riven, and scan through it to find the shot that we need. However, since Riven is a nonlinear game, causing these videos to be difficult to scan — and also because these YouTube links often go stale and end up broken (possibly due to the blatant copyright infringement that they sometimes involve) – links to timestamps in YouTube videos are not ideal for our use cases, which include embedding in documents and emails that might be read years down the road.

There is also the downside of video quality on YouTube, which is especially bad for things like these walkthroughs, as the source material (Riven images and videos) is already decently compressed, which when compounded with YouTube’s aggressive compression, leads to a bit of an artifactilicious mess.

There is a program called Riveal created by a guy called Ron Hayter, which you can use to extract Riven FMVs and static images. However, as the potential future Starry Expanse team member that you are, how would you link someone who is new to the team to one of these images? First, you would have to explain how to download and run the program, and also they would have to extract all of Riven’s images before being able to see the image you were talking about.

All of that changed when Chris Mumford joined the project.

Chris and the chest hair of salvation

When Chris joined the team with experience creating internal software tools at other companies (as well as some casual history operating nuclear submarines), he saw a problem and immediately took it upon himself and his two hands to craft a solution. Introducing… the Riven Reference Browser:

The Riven Reference Browser allows artists to quickly scan Riven for clues.

The Reference Browser allows team members to easily scan through all the shots in Riven, finding just the viewpoint they need, and then link that viewpoint to another team member. The utility even allows the user to see related images and viewpoints.

A specific viewpoint expanded in the Reference Browser

Each still shot from the original game can be grouped into viewpoints automatically because of the naming convention in the files in Riven’s release. In the breakdown of a particular viewpoint, each state of the scene can be seen. In the telescope viewpoint above, for instance, the telescope has been lowered to a different level in the left-hand state.

The result is an easy to use utility that anyone on the team can use to refer to an arbitrary picture from the game, for all of eternity… until the suns burn out and the universe dies a fiery heat death. But realRiven will be released before then, we assure you.

The source code for the utility is available on our GitHub, along with much of our core gameplay code.

There is still much left to do with the Reference Browser; the ability to search for “tree” and see all the trees is something that would be a huge boon to the material creation side of Starry Expanse.

Rock on, and thanks for following the project!

***

We are always looking for new software engineers and game developers to join the project. If you are or know a talented software developer or artist, please shoot us a line at general@starryexpanse.com — we’re always looking for help!

***

Welcome to our newest member on the project, Samuel Sefer, who has already made some very exciting contributions. More details to come!


Sep 20 2018

On the Right Track: Deciphering the Cart Tunnel

Happy September everyone! Stuart Attenborrow here, a 3D Artist and one of the team’s camera matching specialists.

As you know we’ve been focusing on Boiler Island for most of this year. That trend has continued post-Mysterium and we’ll share our overall progress with you soon, but I’d like to take a moment to take you behind the curtain on a specific area I’ve been working on recently. If you’ve been in our official Discord server you may have seen my rant about the cart tunnel on Boiler Island. Today’s update is a bit of a director’s cut of that rant, complete with example pictures. Enjoy!

The cart tunnel is one of those areas you breeze through without much thought. It’s dark, and you only see it for a brief time before being dumped unceremoniously down the chute and into Boiler Island proper. It’s possibly for these reasons that there are a few rough edges in the tunnel that nobody really notices (myself included). Until you try to rebuild it, that is.

Here are my top five quirks that the team identified as we brought this area into real-time 3D.

Number One: Brace Yourself
For starters, here is one that’s easy to spot. As your cart rolls into the tunnel you can see that the track bracing runs all the way to the end of the line. If this is the case, how exactly do you fall down the chute? Let’s check that out.

As the bottom of the cart opens and you fall through, not only does the bracing mysteriously disappear, but if you take a look at the Boiler Island arrival animation frame-by-frame you’ll notice that the bottom of the cart has gone missing entirely! Magic!

Number Two: Shifting Objects
Another significant change between shots. Depending on your position in-game, a small rock and a support pillar for the cart track will come and go. We can only assume changes were made right up to the last minute, and some stills were not re-rendered. That’s game development for you!

Number Three: An Impossible Turn
At the very end of the famous cart ride from Jungle Island, there is a period of complete blackness before the player sees the light at the end of the tunnel (literally!). The cart then turns on a dime around the corner to hit the buffer stop and end the ride. Unfortunately for us, it turns out that corner is actually way too sharp for the cart to actually make!

Number Four: Spot the Difference
As you might expect, we are experts at playing Rivenese spot the difference. Have a look at the above image, and you might spot it too!
The lever next to the cart is missing in the arrival animation, but reappears when you’re standing next to the cart. It also moves between the few images within the tunnel. We assume returning via the cart was a later addition.

Number Five: Mechanical Faults
Our final nitpick is a little more technical. On the other side of the water when travelling to Jungle Island the cart runs out of oomph. It slips back slightly, but then something interesting happens. You can hear the sound of ratcheting as it continues it’s ascent. It only makes sense that this should be a chain hill and rack mechanism like those you’d see on a roller coaster. There’s only one problem though – there’s nothing visually in the game suggesting how it’s achieving this. The track is the same as it’s always been. Perhaps the cart is far more advanced than it looks…

We hope you’ve enjoyed this little tour through our daily work to parse the world of Riven into real-time 3D for you all to explore. It’s one hell of a ride!

We apologise to those still waiting on the recordings of our Mysterium presentation. The folks at the Mysterium Committee are still working on editing down the whole convention’s worth of footage, and these things take time! We’ll be sharing the videos as soon as we receive them.

Edit: It looks like our Mysterium presentation has been up on the MysteriumCon channel for over a week! You can see it here. Thanks to user commenter P-K-V for letting us know!

Please welcome our newest team member, Alexander Diener – a multi-talented programmer!


Aug 14 2018

A Post-Mysterium Announcement

It’s been a whirlwind few weeks for the team and we have a lot to share with you. Last weekend we were proud to attend the annual convention of all things Myst, Mysterium, in beautiful St. Louis Missouri, and what a weekend it was. While those who attended catch up on their sleep and recover, we’d like to share some news with those of you who couldn’t make it.

Recordings of the full presentation will be available soon.

That’s right! We’re very excited to finally announce that we are officially developing realRiven for virtual reality. Those of you who’ve been following the project for a while and know our previous stance on VR (best summarised by a casual “VR is cool, but it’s too much work”) may have questions as to what’s changed. Simply, the tools for developing a game in VR have become more ubiquitous and easy to use, and our team now has several members with experience in shipping titles for VR. We have the talent and the technical barriers are no longer an issue, so we’re pleased to make this announcement and we hope you’re as excited as we are.

If you have any questions about our decision to support VR (or anything else, for that matter) feel free to drop by and ask us in our official project Discord server.

Please welcome our new team members!
Amit Arnon, Programmer
Jan Goris, 3D Artist


Jul 9 2018

Piecing it Together: Building Boiler Island

Connecting the disparate parts of each of Riven’s islands together so they are both accurate to the original game and ensuring that they make realistic sense can be a challenge. Often it feels like assembling a jigsaw puzzle where the pieces never quite fit together.

The different ‘zones’ of Boiler Island. We work on each separately, and then combine them in-engine.

It’s no secret that Cyan cheated all the time when developing the final shots of Riven. Objects move between shots for better composition (plays havoc with our camera matching software), and sometimes whole areas were changed later in development which had knock-on effects that were never addressed (Survey Island is the biggest offender in this category).

One area in particular that we have been struggling with recently is the Ytram Cave on Boiler Island, newly modelled by our talented artist Andrea Notarstefano. This is a narrow tunnel with a walkway that connects to three other areas. Luckily one of those areas is a dead-end (which makes things easier), but the other two require us to reconcile the cave’s position with the rest of the island, and we’re having difficulties getting it to match the cameras we have placed in the scene.

As you can see, despite the cave (in orange) matching our placed cameras, it sticks out the back of the crater terrain, and fails to line up with the duct (in blue) which is meant to take us in a straight line to Gehn’s Lab. What a conundrum!

The solution, as always, involves compromise. Obviously the cave needs to fit in the terrain, but we don’t want to drift too much from the camera match which represents the layout of the original game. Our solution is to curve the walkway around by extending that first bend in the walkway, making it run more along the line of the terrain. We can then adjust the terrain to cover any gaps. We’ll also use some Unreal-engine wizardry to make it seem like the duct is running in a straight line, when it in fact doesn’t. Players will never notice the switch, and the cave will look as close to the original as possible.

I guess sometimes when a jigsaw doesn’t go together, you just have to use scissors. Just another hurdle to jump in the process of bringing Riven to realtime 3D!


Jun 5 2018

Reaching New Heights: Boiler Island Terrain

The Starry Expanse Team would like to congratulate Cyan on the conclusion of their Kickstarter. Well done to all who contributed to make it such a success. What a result!

It’s been a very busy month for us here at the project. We’ve made significant headway on multiple fronts, from several innovations in our development pipeline and review system, to the creation of dozens of new assets and the recent establishment of an exciting new project that we can’t talk about yet (but we promise you’ll love it).

Recent developments in our camera matching pipeline have allowed us to speed up the creation process of one of the trickier aspects of recreating Riven in realtime – the terrain. Here is a video that shows off some of the work our camera matching specialist, Stuart Attenborrow, has been carving away at recently. If you’re a member of our Discord server, you may already have seen some glimpses of this – the latest iteration of Boiler Island’s crater in all its glory.

This month we also had the addition of five (yes, five!) new team members into the Starry Expanse family. Please make them feel welcome!

Andrea Notarstefano, 3D Artist
Daniel King, 3D Artist
Henry Bruce, 3D Artist
Martina Chiletti, 3D Artist
Michael Stokes, 3D Artist/C++ Programmer/Game engine tinkerer


May 5 2018

#Myst25

It’s the 25th Anniversary of Myst and (as we’re sure many of you already know) Cyan is celebrating in style. The #Myst25 Kickstarter has been live for less than two weeks and as of this writing they have met their goal more than five times over (almost six!), and they’re not even halfway through!

We’d like to take this opportunity to thank Cyan for all their hard work, not just in the creation of some of the most unforgettable experiences in gaming history, but also for their recent endeavours to safeguard those experiences for all of us to enjoy. We appreciate all that they do, and although they need no help from us, we’d like to do our part to spread the word. It goes without saying that our project (and the wonderful fans who support us) would not exist without Cyan, and we’re just as excited as you for a chance to support this latest release – which includes some very cool Riven-themed rewards.

If you haven’t already, head on over to the Kickstarter page and show them your support. There are also some community challenges that you can take part in, even if you’re not able to pledge.

In unrelated news, we’d also like to invite you to join the official Starry Expanse Project Discord server. If you’re not familiar, Discord is a popular communication tool for gaming communities, and hosts both voice and text messaging services.

If you’re interested in discussions of all things Myst, debates on the finer points of D’ni literacy, awful, awful puns, or would just like an opportunity to speak directly to members of the Starry Expanse team – we’d love to see you there!


Apr 18 2018

The Pointy End of Camera Matching

Hello everyone. My name’s Stuart Attenborrow, and welcome to the semi-regular update on camera matching!

This topic has been covered extensively in the past so I’ll try not to repeat what you already know. However, for those that are new to the project: camera matching is a term we use to describe a range of techniques that all involve using the original in-game stills to position objects in 3D space. We do this to ensure we preserve the scale, position and shape of every element in the game, and it is the most time consuming part of the process. Unfortunately it’s also the first stage of the process, thus creating an immediate bottleneck when we start work on a new area.

Luckily, this year has seen a fundamental shift in the way we’re approaching camera matching. If we were to continue matching each frame by hand, the project would likely never see the light of day. And so we’ve changed tack. Again.

A few of our supporters have offered great suggestions regarding ways of automating the process, including a topic known as photogrammetry. This involves taking lots of photos of an object and using software to generate a 3D model complete with textures. Some examples of commercial software that can achieve this task include: Autodesk ReMake, Agisoft PhotoScan, Reality Capture, or something a bit more obscure like VisualSFM.

Source:
http://openmvg.readthedocs.org/en/latest/_images/structureFromMotion.png

It’s never as easy as it sounds. The biggest problem we have with automating the matching process is that it requires a lot of source imagery to work. Riven might seem like it has a lot of images, but most of the time they’re too far apart, too dark, too compressed, or just plain too small to be of any use. Another small but not insignificant issue is that some areas in the game defy the laws of physics. An interior may end up being larger than is physically possible from its exterior.

This leaves us with a couple of options. Either we announce the end of Starry Expanse and our crushing defeat in the face of insurmountable odds, or we put our thinking caps on. We preferred the latter. To explain what we’re doing now, let’s first go over a brief explanation of what photogrammetry is all about.

There are many stages to a photogrammetry pipeline. The first is feature detection, where contrasty or unique shapes are determined in each image. The second is feature matching, where each image is compared to every other image to determine common features. Next is the sparse reconstruction stage, where 2D becomes 3D. This results in a number of points in 3D space representing the subject, and a number of camera positions that represent where each image was taken. Assuming each stage completed successfully, a final stage can be performed where the sparse reconstruction is used to generate a dense point cloud of the subject. In short, there’s a ton of math involved, created by some very intelligent people (thanks everyone!).

The images in Riven usually fall down at the sparse reconstruction stage. There aren’t enough matching features found in enough different images for an automated photogrammetry pipeline to rebuild the 3D scene to a good standard (or at all). To solve this issue, we’re manually performing the feature detection and matching stages ourselves. Whilst there are a lot less matching features between images, the quality of the matches are far better. This means the reconstruction stage is successful, we get a 3D scene of a few key points, and most importantly all of the original camera positions!

It sounds like a lot of work (and it still is), but it’s an order of magnitude less work than the previous method. Plus it results in a much more accurate outcome. At this point we block out the scene using a simple mesh (you may be familiar with the greyscale landscapes we’ve shared previously). We use the key points as guides, and each camera to align the geometry. This can be handed off to the modelers to create the final assets.

My involvement so far has focused on matching the full motion videos. On the upside, there’s a lot of frames in each video to match, but on the downside the videos are heavily compressed. For the following maglev ride I’ve had to match both directions and merge the result to ensure the location of the supports and docks are accurate.

In addition to this, I’ve been working on a way of incorporating a dense point cloud reconstruction process into our pipeline. Since we’re manually matching the images we haven’t been able to use the same methods employed by the software mentioned above. Preliminary results are very promising. This makes the blockout process semi-automated and greatly reduces the time spent creating the initial geometry. Plus we get textured meshes from the match!

 

To put this task in perspective I’ve put together a little graph. I think the results speak for themselves.

With the camera matching process taking a huge leap forward, our modeling team won’t know what hit them. Expect more great things to come. If you’d like to hear more about what we’re doing, have any questions for us, or if you just feel like a chat, head on over to our new discord server!

Finally, a big welcome to our newest member Cameron Craig, who’ll be assisting with the creation of our all-important characters.

 


Apr 1 2018

Voice Over: A Sound Decision

(Editor’s note to the reader: This is a post we published on April 1st! You can do the math. Enjoy!)

Hello everyone! Hollister the audio guy here. Happy Easter!

As many of you know, the question of how to handle the audio in our game has been a hot topic within the team. We’ve gone back and forth about whether or not we want to just use the original audio, or if we should perhaps see about recreating it, as we are doing with the models.

The cutscenes are a great example of this. We could just use the original audio, but since we’re creating new character animations, the old audio, aside from being considerably low-quality, wouldn’t line up perfectly with the new animations.

So, this has been a point of contention within the team for a while, as everyone has different opinions on it. Luckily, I’m a very driven person, so I took the initiative and went ahead and used your incredibly generous donations to hire some equally incredible voice over talent.

I haven’t talked to the team about this yet, but I’m completely sure they’ll be on-board. Now, onto the good stuff! We’ve already recorded some of the cutscenes, and I’m eager to showcase them.

The first one is the cutscene of Ghen’s friend talking to you in the chamber you teleport to:

Next, we have Ghen himself, delivering his monologue about his son, who I presume is Atreus:

Then onto Catherine’s monologue when you kidnap her from Moeity:

And finally, we decided we can’t leave out the fan-favorite of Ghen singing, so we decided to have our very talented actor record that as well:

I hope you enjoyed this presentation. Stay tuned for more audio updates!
I’m so happy to be such a big part of bringing Myst 2 to life!

Take care,

Hollister
Sound Engineer / Composer, The Starry Expanse Project

April Fool’s!