Riven X tech demo

BIG BOLD WARNING: THIS IS A HIGHLY EXPERIMENTAL, HIGHLY INCOMPLETE, HIGHLY EXPLOSIVE BUILD

Update 2: The tech demo has been updated to build r63.

But, for the daring, the Riven X project page has a link to the Riven X tech demo. This build essentially has the bare minimum amount of code to load stacks off the Riven DVD edition and render card pictures if a card unconditionally enables one or more pictures. Many cards use the conditional opcode in their Riven Script programs, which means many cards will be black. But it’s a start.

Why am I releasing a tech demo

I’m making this available essentially to show progress and to allow people to run the program on different hardware (and architectures, hello Intel Mac users!) to test the code in environments I do not have access to.

I’m also rather proud of how the project is advancing. To the end user, such a tech demo is useless. But to me, it’s a concrete confirmation my design works. It gives me a new solid footing upon which to build the rest.

How do I get anything to show up

In order for the program to even start, you must place it in your Riven folder and you must have your Riven DVD disc mounted.

Once the program has started, you need to use the built-in debug shell to first load a stack, then load cards from that stack. The aspit stack is automatically loaded when the game launches and contains the main menu pictures. Type help at the shell for a list of commands, and type a command without any arguments to get help for that command.

Screenshots!

For those who do not have Riven DVD or don’t like rebooting (kidding, a program won’t kernel panic Mac OS X just like that), here are a few screenshots.

Main menu
Riven X - main menu

A random card
Riven X - panoramic card

A sample shell session
Riven X - shell session

Enjoy =)

  1. Ryan Govostes’s avatar

    This is more like it! Let me fish out my Riven DVD…

  2. arry’s avatar

    thanks to soeren’s blog I read news of this. yes, yes, YES!!! Ri\/en has always remained my fav of the games. way to go and I’ll definitely be keeping an eye on your progress!

  3. frozerino’s avatar

    I only have riven on cd (yeah, the 5 disc edition),
    any special threatment required?

  4. Jean-Francois Roy’s avatar

    If you have Riven on CD, you can copy a stack’s data files off the Data folder on any particular CD to the hard drive Data folder. Riven X will always prefer a hard drive archive over a disc archive.

  5. Gerard’s avatar

    Hmm, I have the 5 CD set, loaded all the content into the DATA folder which is inside the Riven Folder. Riven itself works but when I start RivenX I just get a black screen.

    Am I doing something wrong or expecting to much of a tech release?

  6. Jean-Francois Roy’s avatar

    Gerard:

    Check the Console output from Riven X. If it doesn’t complain about anything (and it usually does so very… vocally), then you can use the built-in debug panel to load specific cards into the main window. It won’t automatically load the main menu or support “clicking” to other cards yet.

    You can type “help” on the shell to get a list of available commands, and simply do a command without any arguments to get help for that particular command. This blog post gives some examples as well.

    So indeed, it’s really a tech release meant to test if movies and pictures rendering more or less correctly.

  7. Bobby Xiao’s avatar

    Is Riven X compatible with 10.4 at all? Riven starts then immediately exits.

    When run in Terminal, the app file gives this:
    2006-03-14 21:23:38.338 Riven X[14352] I am the first and the last, the alpha and the omega, the beginning and the end.
    2006-03-14 21:23:38.340 Riven X[14352] No local data store could be found.
    2006-03-14 21:23:38.342 Riven X[14352] Found new removable data store: /Volumes/Riven/Data
    2006-03-14 21:23:38.345 Riven X[14352] The World could not be created. Details: NSError “Mac OS error -43″ Domain=NSOSStatusErrorDomain Code=-43
    2006-03-14 21:23:38.346 Riven X[14352] I am the first and the last, the alpha and the omega, the beginning and the end.
    2006-03-14 21:23:38.347 Riven X[14352] No local data store could be found.
    2006-03-14 21:23:38.348 Riven X[14352] Found new removable data store: /Volumes/Riven/Data
    2006-03-14 21:23:38.348 Riven X[14352] Exception raised during posting of notification. Ignored. exception: NSError “Mac OS error -43″ Domain=NSOSStatusErrorDomain Code=-43

    I do in fact have the DVD mounted, but this is all I get :(
    My PC decided it hated the DVD so it doesn’t work, and my old Powerbook has no DVD drive :(:(:(

    Anyway, I was just hoping it would work, I might be able to pull off a networked Riven session if it doesn’t.
    Thanks for the tech preview anyway!

  8. Jean-Francois Roy’s avatar

    Bobby Xiao:

    Make sure there is a Data folder next to the Riven X application, as well as the Extras.MHK archive. Otherwise, you’ll get the -43 (file not found) error you’ve seeing in that log.

    Interestingly, the world singleton seems to have tried to initialize itself twice. I’ll have to check that out.

  9. Liam Shannon’s avatar

    Hi,

    I am new to this whole thing. What is Riven written in? With all the talk of stacks it sounds like something like Hypercard. Is that correct? Once you have this done, will you have created an OS X (dare I say binary too) version of something that someone could use to build another unrelated game with the same basic specs as Riven?

    Also, aside from the first few windows/cards I am unable to get more. I tried putting in another disk and trying what seemed like logical other stack names and card names but did not get anywhere. Below is my session… One of my obvious problems was not knowing what to enter in realtion to “states”… Is this like read only?

    Riven X debug shell v1. Type help for commands. Type a command for usage information.
    > help
    built-in commands:

    help
    card
    list
    load
    > card
    usage: card [stack] [ID]
    > load
    usage: load [stack | card] [ID]
    > load aspit
    usage: load [stack | card] [ID]
    > load aspit 1
    usage: load [stack | card] [ID]
    > list
    usage: list [stacks | states]
    > list aspit
    usage: list [stacks | states]
    > list stacks
    aspit - {aspit}
    > load stack rspit
    > list stacks
    aspit - {aspit}
    > load stack aspit
    stack is already loaded
    > card aspit 1
    > card aspit 2
    > list card aspit
    usage: list [stacks | states]
    > load stack gspit
    > list stacks
    aspit - {aspit}
    > card gspit 11
    > card gspit 12
    > card aspit 4
    >
    > card aspit 34
    unknown error: NSInvalidArgumentException - COULD NOT FIND CARD IN STACK
    > card aspit 21
    unknown error: NSInvalidArgumentException - COULD NOT FIND CARD IN STACK
    > card aspit
    usage: card [stack] [ID]
    > list stacks
    aspit - {aspit}
    > card bspit 2
    > card cspit
    usage: card [stack] [ID]
    > card cspit 3
    > card dspit 3
    > card espit 3
    > load stacks
    usage: load [stack | card] [ID]
    > load stack card 3
    > list stacks
    aspit - {aspit}
    > card aspit 21
    unknown error: NSInvalidArgumentException - COULD NOT FIND CARD IN STACK

    Obviously I am a noobie but I am more than willing to go elsewhere to learn more. Any help or direction - even just telling me where to go look for more info on this would be greatly appreciated.

    Thanks in advance and great project,

    Liam

  10. EkDor’s avatar

    I’m having trouble following what to do since there are no instructions on how to use this. The zip just contains the app. Nothing inside either. Also reading the comments and following what they say gets me no where. I think I did what I should but all I ever get it the app shutting down as soon as it starts. barely get time to see the icon load in the dock.

    I have a folder named Riven. containing:
    All
    Assets1
    Assets2
    Data
    Riven X

    I also tried putting Riven X into the data folder. The data folder contains all the file found in the data folder located on each disc…

    I’m running Core 2 Duo Macbook Pro running Mac OS X 10.4.10…

    Just about ready to toss the disk in the bin as they are unusable on my equipment.

  11. Jean-François Roy’s avatar

    EkDor: Riven X is still heavily in development, but don’t throw your discs away! One day, this will work :)

    It would be helpful to have a log of what goes on. You can open Console (in Utilities) to watch for RivenX messages. My guess is you’re missing the Extras.MHK file. Newer builds (internally) bundle that file, since as it turns out it’s installed on disk by the original game’s installer, which on Mac OS is a VISE installer, meaning I cannot extract the file out of it (the installer needs to be ran, which can’t be done on Intel Macs).

  12. Grant’s avatar

    I was glad to learn today that you’re actively working on bringing Riven to OS X — since Leopard is dropping Classic support for PowerPC users, there should be a whole new set of folks keeping an eye on your progress now.

  13. Seth Lipko’s avatar

    I downloaded Riven X and got into it. There was a blue screen that said “Riven X” at the top. Then a smaller screen came up that said “Debug” at the top. In the “Debug” box, in bold, it said
    “>
    Riven X debug shell v3. Type help for commands. Type a command for usage information.
    > ”
    I am completely ignorant of this stuff. I just want to be able to play Riven on my Powerbook G4. Please help.

  14. Jean-François Roy’s avatar

    Seth Lipko:
    Riven X is still in development, and only pre-release, developer builds are currently being offered. You may want to wait for 1.0.

  15. Seth Lipko’s avatar

    Ok, thanks. Can you notify me when that happens? So I can get that. And will Myst Masterpiece Edition work with that too? Or just Riven.

  16. Jean-François Roy’s avatar

    Seth Lipko:
    There will be an announcement on my blog (at the very least) when Riven X 1.0 is released. You can subscribe to the RSS feed to automatically get new entries, or check back here from time to time.

    Riven X will only play Riven, but does support multiple editions, including the Masterpiece Edition.