Introducing Daggerfall Modelling

The last few days, I’ve been working on a new tool called Daggerfall Modelling. Where Daggerfall Imaging 2 handles everything 2D, Daggerfall Modelling has the job of browsing and exporting Daggerfall’s 3D models. This tool is also intended to be a successor to the venerable model and block viewers in Daggerfall Explorer.

This post shows off an early build of Daggerfall Modelling and talks about the user interface in development. Keep in mind this is a very early build, with only a small number of features implemented. However, this should be enough to get a feel for the direction this tool is going in.

Creating an engaging browsing experience is no easy feat. Daggerfall has over 10,000 individual 3D models. It wouldn’t be very helpful to just dump the user in the middle of this ocean of objects (as I did in Daggerfall Explorer). If an artist wants to rebuild the beehive-like castle at the centre of Sentinel, how do they go about finding that model amidst thousands of objects? More troublesome, some objects are split into many pieces and scattered throughout the model database. There are also specific textures to use depending on the geographic region a model belongs to. These regional changes affect cities and dungeons alike. Without some kind of structure to help the end user, this quickly becomes a nightmare of minutiae.

The solution was to let the world in. Specifically, allow the user to start with a location (say Wayrest or Sentinel), then drill-down to the objects of interest.

This provides an important spatial component to browsing. Want to find the Mage’s Guild in Sentinel? Just bring up the Sentinel map and click on the block containing the Mages Guild. Daggerfall Modelling uses the same auto-map data and colours as the game itself. If you’re familiar with a location in-game, it should only take a few seconds to find the models you’re after in Daggerfall Modelling.

Combine this with a search feature, and it becomes possible to rapidly and visually browse the location database for places of interest. Besides locations, you can search for a specific block or model. Or you can just swim through all 10,000+ models if that’s what you want to do.

Following are some screenshots demonstrating the “search and click” concept.

  • Below is a search for “sentinel”. The only matching location is the city of Sentinel in the region of Sentinel. After selecting the location, we’re given a map of the city to work with. We can drill-down into each block of the city map to target the models in that block. Note the red skull button just above the city map. That means this location has a dungeon. You can switch from “City Mode” to “Dungeon Mode” and locate models from the dungeon data.
  • Need a location but can’t quite remember where it was, and only vaguely what it was called? You can enter partial names and Daggerfall Modelling will match every location from the database containing your search string. Imagine you were looking for a place with “wall” in its name. Every location containing “wall” is found below, grouped by region, and given a unique icon showing whether it’s a city, temple, dungeon, etc.

The right-hand pane (not fully implemented) is an XNA-driven hardware-accelerated view. This is where you can view blocks and models in full 3D or as thumbnails. When you’ve found what you’re looking for, add it to the export queue to save out later.

Speaking of exporting, Daggerfall Modelling will save models in Collada format. This empowers 3D artists to work on Daggerfall’s models in virtually any package. This is an important step to making Daggerfall Modelling part of a tool chain for eventually replacing Daggerfall’s 3D models with higher-polygon versions in DaggerXL.

Note that Lucius does not currently have plans to allow model replacements until after significant game-play features have been implemented. However, Lucius has approved the choice of Collada as the primary file format. I will continue working on Daggerfall Modelling to make it an indispensable tool for artists interested in working with Daggerfall’s 3D objects.

Do you have any feedback? Hit the comment button below and let me know your thoughts. Daggerfall Modelling will be built in small stages with community feedback in mind.

Incoming!

I push against the Workshop’s iron-banded door. It sticks for a moment then creaks open as if welcoming me home. Dry air blows past my cheeks. With a final look to the outside world, I descend a thousand steps into darkness, stopping only to light torches along the way. Far above the heavy door slams closed, sealing me in the depths. I look around, satisfied everything is how I left it, and sit down to work. It’s great to be back.

As you can probably guess, I’ve had to step away from the Workshop for real life reasons and other projects. I’m deeply sorry for not posting at all during this time. Thankfully, Lucius has continued working his usual magic with DaggerXL. If you’ve been living under a rock like me for the last several months, make sure you go check it out. It’s way more interesting than anything going on around here (not counting that escaped Imp I can hear scratching around inside the walls).

The good news for anyone following Daggerfall Connect is that I’m going to be active again for a while. First order of business is to get my subversion repository at Google Code populated. This has been done now, with the main trunk currently versioned at 0.4.9.

The main changes in 0.4.9 are:

  • Several bugfixes and other minor improvements to the core DaggerfallConnect library and DaggerfallImaging2.
  • Map support for outdoor locations and dungeons. This is nearly complete, but needs a bit of work to finish up and get some bugs under control. If you want to play with this, please don’t be disheartened that not all maps load properly (or just throw exceptions). I’m working on fixing this now and updates will be committed to the 0.5.0 branch before long.
  • XNA support. There is now an XNALibrary project demonstrating the basics of using DaggerfallConnect to load Daggerfall’s textures, 3D objects, blocks, and maps into XNA. There are also a few XNA tutorials underway that call this library.  Disclaimer: This is exactly how I left it when I had to walk away from the Workshop last year. The XNA stuff is very rough and unfinished. I’ll be fixing all this up and posting to the 0.5.0 branch over the next week or two. All XNA code is currently based on XNA Framework 3.1.

The next full release will be 0.5.0. I also need to get all the written tutorials and other stuff moved over to my Google Code project wiki.

That’s it for now. If you’ve been interested in Daggerfall Connect in the past, but lost interest due to my infrequent updates, now is a good time to have another look. Things are finally coming together enough to be interesting.

A Few Quick Things

Just a quick post to outline the next round of updates coming when I return to the Workshop.

  • The Daggerfall Connect project format has been changed back to Visual Studio 2008 / C# Express 2008. This decision was made to support a wider range of people. Naturally, you can still upgrade the project to a 2010 version after you download.
  • Daggerfall Connect project has been created on Google Code. SVN access will be ready as soon as I can shift over at my end. All online documentation and tutorials will be moved to the project wiki.
  • I am retiring the “Workshop Demo Engine” (based on Ogre) as the standard 3D engine for Daggerfall Connect. All future Daggerfall Connect tools and demos using 3D graphics will be based on XNA.
  • The next release of Daggerfall Connect will introduce an XNA tutorial series covering how to render individual models and blocks, through to entire cities and dungeons.
  • Map support will be finalised in the next release of Daggerfall Connect.

I am also pleased to announce that I have re-started Daggerfall Scout as my next project. I have a new vision of this tool as an Atlas-like explorer covering the major points of interest in Daggerfall. I will post more details on this project as soon as I can.

Daggerfall Connect Source Code

The current stable sources for Daggerfall Connect can be downloaded below. This archive also contains sources for Daggerfall Imaging 2 and several tutorials.

Download Daggerfall Connect Sources 0.4.7 (Self-extracting archive)

All you need to build is:

SVN access will be available soon, in addition to other open-source project features. I will post more on this when I am able.

Australia is heading into a new financial year. As is usual at this time of year, I need to step away from the Workshop for a while. I look forward to posting more updates when I return.

Daggerfall Imaging 2 Released!

I’m pleased to announce that Daggerfall Imaging 2 is now available for download. This version is a major upgrade to Daggerfall Imaging, with the following key changes:

  • An improved, fully visual user interface with thumbnail previews.
  • A flow layout image browser with image selection, mouse-over properties, and clipboard support.
  • Bulk exporting with a tightly-integrated export manager.
  • Custom descriptions for image files.
  • Written entirely in C# using the Daggerfall Connect Library.

Download Daggerfall Imaging 2

Download Manual (In PDF format. Requires Adobe Reader)

I have decided to release all the source code for my new tools (currently Daggerfall Connect and Daggerfall Imaging 2) under the free MIT License. More details will be released in the coming weeks.

   
 

There are a few limitations with the first release of Daggerfall Imaging 2 that will be corrected in the next version (2.1). These are:

  • Limited GIF support. Poor palette matching, no transparency or animation.
  • Image Browser renders flow layout only. A print layout is planned for 2.1.
  • No printing or document export support at this time.

I look forward to hearing your feedback about Daggerfall Imaging 2. If you encounter any bugs, or have any suggestions, please contact me.

Daggerfall Imaging 2 Export Manager

I’ve received a couple of emails from people asking me if Daggerfall Imaging 2 can export to more than just GIF files. This isn’t the first time I’ve heard this question. Many seem to have missed the fact you could do this in Daggerfall Imaging 1.0.

I think the reason for this is the old web-like interface. Users discover the right-click copy method and don’t notice the “Export” icon on the toolbar that allows you to export to a wide variety of formats.

Considering this, I’ve decided to overhaul how you export files in Daggerfall Imaging 2. Rather than use a modal popup dialog, this is now tightly integrated into the main view via a sidebar that can be toggled open or closed. The screenshot below shows DF Imaging 2 in near-complete form.

 

The left-hand pane shows thumbnails of image files by library (textures, img, cif, etc.). You can mark image files for export by putting a tick in the check box of any item. A right-click context menu allows you to check all, check none, or invert checked items. You can also set your own descriptions for each image file, which is stored in an XML database.

The middle pane is the Image Explorer; a flow view for viewing images up close. You can toggle animation, transparency, and zoom in or out. The status bar tells you about the image you are hovering over. Another right-click context menu allows you to copy images to the clipboard.

The right-hand pane is the Export Manager. This pane allows you to set an export format and destination, along with a few options. The Export Preview tree previews the folder structure created by the exporter. This structure will change based on your destination folder, chosen image library, and selected format. The goal is to keep your exports neatly organised. These settings are remembered each time you open DF Imaging 2. This tight integration should make it easy to export as many (or as few) files as you need.

Everything is coming together nicely. I just need to complete the new export manager and DF Imaging 2 will be ready for release. Hopefully this is something I can finish over the weekend.