Daggerfall Modelling Beta 1 Released!
The first beta release of Daggerfall Modelling is now up for download. I have decided not to enable gravity and collision in this release because I am not happy with the state they are in. They will be enabled in the next release. Following are the final release notes for this version.
- Added a Quick Search feature to search pane.
- Search pane can be collapsed.
- Region accurate billboards (rocks, trees, etc.) now decorate the scene.
- Region accurate sky in exterior free camera views.
- Adjust sky appearance with time of day slider.
- A compass is now shown in free camera mode (bottom-right of view).
- Play with interactive objects in dungeons (levers, doors, lifts, etc.).
- Explore using an XBOX360 or compatible controller.
- Invert mouse-look and controller-look.
- Updated engine. Many improvements to scene management and versatility.
- Overall performance improvements to search and load times.
If you are installing Daggerfall Modelling for the first time, make sure you read this first!
The controls have changed in some places. Any view rotations on the left mouse button have been moved to the right mouse button. This has been done to free up the left-mouse button for new features down the road. For updated information on controls in the views, check the appropriate page in the Daggerfall Modelling Wiki.
I hope you enjoy this release of Daggerfall Modelling.
Project Updates Feed
I’ve added an RSS feed on the left for the Daggerfall Connect project. This project is updated frequently, even if the blog is not. Visitors can now check the feed to get an idea what I have been working on lately.
Daggerfall Modelling Beta 1 Almost Here
Just a quick update to let you know the Beta 1 release for Daggerfall Modelling will be up in the next few days (hopefully this weekend). I’m in the process of fixing bugs and rounding off some rough edges now. In case you need a reminder, the main features of this release will be:
- Improved searching. Added a Quick Search drop-down to the search pane for quickly finding common resources.
- Updated engine. Scene management and rendering have been totally rewritten for more speed and versatility.
- Skies, trees, rocks, etc. now decorate the free camera view in cities and dungeons.
- Change time of day while exploring outdoor scenes.
- Play with actions in dungeons (doors, levers, platforms, wheels, etc.).
- Turn on collision, gravity, and compass for a more game-like exploring experience.
- Explore using an XBOX360 or compatible controller.
- Overall improved performance and stability.
Visual Diary: XNALibrary Update
After a hectic mid-year rush things are finally settling back to normal. I will have more time to dedicate to my Daggerfall tools for another few months before the silly season begins. I am now working on getting Beta 1 of Daggerfall Modelling ready for release.
When I started Daggerfall Modelling the goal was to make a quick and easy Collada exporter for Daggerfall’s 3D assets. It didn’t take long before I realised an opportunity to revive Daggerfall Scout in a more useful form. Like all projects, escalating the scope after most of the code has been written is a recipe for trouble. While trying to wedge in action records to my scenes (levers, switches, etc.), I came to the realisation my code had become as messy as hell. To accomplish what I had in mind a total rewrite of the scene manager was needed.
As an adjunct to Daggerfall Connect, I have also been developing an XNA class library that makes using Daggerfall assets with XNA a snap (creatively called XNALibrary). This code base is something I wish reuse for other projects, so it made sense to get all the scene management and rendering out of Daggerfall Modelling and build it properly into XNALibrary. The end result is a small XNA 3D engine designed specifically for rendering Daggerfall scenes. I then had to rip out all the old code from Daggerfall Modelling and port it over to XNALibrary as the primary engine. It was a lot of work just to end up back where I started, but internally the code is much improved. Following is a quick tour of what’s new in XNALibrary, as seen from Daggerfall Modelling Beta 1.
Scene Graph
Previously, Daggerfall Modelling used a one-dimensional array of objects and looped through them to draw scenes. This is fine for small environments but doesn’t scale up very well. It also makes visibility testing and render batching harder than it needs to be. When it came time to link up the levers and switches, I realised it was time to put in a scene graph. I decided to use a simple Bounding Volume Hierarchy based around spheres. The beauty of bounding spheres is that you don’t have to worry about axis alignment as you do with boxes. Spheres may not wrap objects quite as tightly, but they’re a lot easier to handle when transformed (rotated, translated, scaled, etc.) as the volume is always the same shape and alignment in 3D space. On the left are a couple of screen-shots of the bounding volumes, rendered as wireframe spheres. The root node is red, general models are white, and sprites are green. Resources are added to the scene from the top down, with renderable objects like models and sprites in the leaves of the tree. This hierarchy makes it easy to cull non-visible groups – if a node isn’t visible, then none of its children can be visible either. It also simplifies mouse picking and collision as these tests are only performed where necessary. Batching visible polygons by texture becomes easier, which greatly improves rendering times. And finally, linking up chained action records becomes simplified thanks to each scene node being a discrete class aware of its own state. |
The next release of Daggerfall Modelling should be ready in 3-4 weeks. This will coincide with an update to the Daggerfall Connect library download with XNALibrary updates included. All of this is in the SVN now, if you want to download the code as it’s being written. Just keep in mind not everything may be in a stable state in the latest SVN version.
Quick Update
Like a lot of Australians the close to financial year is my busiest time. Thankfully it’s all over and things will start returning to normal soon. That means I can get back to regular updates to Daggerfall Modelling. More to come soon.