rivenx

You are currently browsing articles tagged rivenx.

Riven X 0.7d1

I’m releasing Riven X 0.7d1 today with basic support for saving and loading games. This should make testing a little bit easier.

Enjoy!

Download Riven X 0.7d1 (5.05 MB)

I have now created a project on Launchpad for Riven X and MPQKit, and pushed the Subversion trunk to Bazaar branches in each project. More on that later, but for now the links:

Riven X in Launchpad
MPQKit in Launchpad

Riven X 0.6

Riven X 0.6 is now available and is a significant update from 0.5. Major new features include:

  • Water animation
  • Cursors
  • Transitions

In addition, all the important Riven script commands have been implemented, which means most of the engine is now functional, besides what is implemented by external functions (which includes most of the complex puzzles). Of course, a large number of bugs have been fixed since the previous release as well.

The next release is scheduled for the end of the summer and will focus on implementing a portion of the complex puzzles, as well as saving and loading games.

Download Riven X 0.6.

The recent introduction of the iPhone SDK got me thinking about the future of Riven X. And I came to the conclusion there was no future for a slideshow on modern desktops. However, plenty of people will want some games on their iPhones, and Riven certainly would be great with that touch UI. So I’m officially announcing I’m stopping development of Riven X for Mac OS X and will be working exclusively for the iPhone. Expect daily builds in a month or so.

I hope you’re as excited as I am about this. When you solve that puzzle at 4 PM riding the bus home or being jammed in traffic, you won’t have to wait anymore! Just slide that unlock slider, punch the Riven icon and off you go on an adventure.

Riven X 0.5

Update: Riven X 0.6 is now available.

Riven X 0.5 is now available. The most important new feature is the edition manager, which will allow owners of the CD edition as well as owners of the various DVD editions to use Riven X. It should be noted that optical disc swapping is not supported yet, which means that CD edition owners should do a full install for the time being. Other changes include performance improvements and a large amount of bug fixes.

Riven X’s edition manager

There is a number of outstanding issues in this version, namely one that will badly affect single-processor machines (see bug #70). I will try to remedy this in the early 0.6 builds, which will become available through Sparkle.

Riven X 0.6 will be a more interesting releasing focusing on missing engine features, such as transitions, cursors and so forth. For detailed information, see the 0.6 milestone page.

Download Riven X 0.5.

Riven X engine variables

I introduced in Riven X 0.4 arbitrary engine variables. The intent is for them to control various behaviors of the engine as development continues. Engine variables are categorized according to the sub-system they affect, and can have any arbitrary numerical, alphanumeric or boolean values.

At this time, there’s only one category, “rendering”, which contains only one variable, “renderHotspots”. As the name suggests, this variable is interpreted as a boolean by the engine and controls whether or not hotspot rectangles are rendered over regular card content.

To change the value of an engine variable, you can use the new “set” debug shell command as such:

set <category>.<variable> <value>

For example,

set rendering.renderHotspots 0

Right now, there is no way to query for the value of a single variable, nor for a complete listing of valid engine variables. To remedy that, I am currently working on a variable editor interface which will not only allow easy viewing and editing of engine variables, but also of game variables (what determines and control the state of the game; that is which doors are open, etc.).

Riven X 0.4

Update: Riven X 0.5 is now available.

There it is at last, a new binary release of Riven X. This new version is of course far beyond the previous release. Some highlights:

  • Basic hotspots are working (mouse up and mouse down), which means you can walk around the islands, flip switches, push buttons, and so on.
  • Major improvements in movie and audio rendering. Ambient sounds now fade in and fade out correctly.
  • Game variables are implemented and have sane default values, which means simple puzzles should be working correctly.

Of course, there’s still a lot of work left to be done. CD media is still not supported, transitions are not rendered, there are a lot of stability and performance issues left to address, many opcodes and all external functions are missing, water animation is not implemented, saving and loading games are not implemented and full-screen is not available yet.

In addition, this new release comes with Sparkle, the popular technology for self-updating applications. All development builds are set to check a development appcast which gets automatically updated daily with a fresh build from Subversion. In short, Riven X will update itself to the latest revision automatically every day. I hope this will help get new versions into the hands of testers more rapidly.

I’ll be preparing a short series of posts about useful tricks for finding problems and using the debug console in the coming days. In the meantime, enjoy this new release.

Download Riven X 0.4 (4.60 MB). A permanent link is available in the blog’s sidebar.

Forthcoming updates

Now that Christmas celebrations are beyond us, it’s time for an update on my two flagship projects. My plan is to release a new binary version of Riven X, MPQKit and mpqfs within the first week of next year.

The Riven X update will include over a year of progress in the project, including functional hotspots, allowing for the first time to explore Riven without having to entirely rely on the debug console. Numerous bug fixes to graphics and audio rendering, better error reporting and many new Riven Script opcodes will also be part of this update. If time allows, I will also include support for the CD edition and card transitions.

The MPQKit update will focus on bug fixes and may be the 1.0 release of the framework. Once that is out the door, I will be planning a 1.1 release to add some less-often needed features, such as the ability to sign new archives using your own certificates. Also, I will enhance the existing test suite (which is admittedly small right now) to cover most of the import code paths in the framework, namely opening and writing archives, reading files, listing files, adding files and deleting files. Finally, I will commit to the repository an external patch adding GNUstep support and release a binary version for Linux thanks to that patch.

The mpqfs update will focus on bug fixes, performance and Linux support. The next big update will introduce write support. I do not know exactly when that will be (there are some difficult problems to deal with in order to have efficient read-write support), but I expect it will be around March.

Until then, happy holidays!

The MPQKit and Riven X projects are ready for Leopard. You should have no problem building them using Xcode 3 for all supported architectures. If anything does go wrong, please let me know.