Contains XL Engine Launcher, version 0.199 of DaggerXL and build 9.50 of DarkXL.
DaggerXL is a Modern Daggerfall Engine Recreation for current Operating Systems and hardware – essentially it is a remake in the spirit of a port. It will ultimately fully emulate the game of Daggerfall and then optionally enhance it by refining existing features and adding new gameplay elements that were originally intended.
DaggerXL makes use of hardware acceleration providing higher resolutions, color depth, greatly improved visibility, better texture filtering, enhanced performance and more. In addition DaggerXL will support full modability, similar to more modern Elder Scrolls games, using custom tools.
The original Daggerfall data is used, so the full game is required. Custom mods can then be applied to optionally enhance the graphics, sound or music.
Visit the DaggerXL Blog for more information, screenshots, movies and more.
Join the DaggerXL Forums to discuss the project, make feature suggestions or just talk about DaggerXL or Daggerfall.
Visit the Downloads page to get information on the current build, including instructions for installation and use.
It's been a long time since I last updated the ModDB page for DaggerXL but the project has been progressing. In this post I'll go over what's going on, talk about the latest version and where the project is going.
First thing to mention, there is a new version of DaggerXL - version 0.199. You can download it as part of the XL Engine package from the xlengine.com website downloads page.
Last time I talked about the project moving to a new website - with one main site, blog, forums, wiki, etc. for this project as well as the other projects such as DarkXL. That move has been completed, you can visit the xlengine.com website, blog, wiki, downloads page and forums for more information. Note that some information has not been presented regarding DarkXL, you can view that information on the xlengine.com blog.
Obviously this is not the first release for DarkXL or DaggerXL, but it is the first release since the process of merging the projects has begun. The following will be packaged in this release: XL Engine Launcher, version 0.199 of DaggerXL and build 9.50 of DarkXL. Currently DaggerXL and DarkXL are still separate executables, however they are packaged together and should be launched using the new Launcher. As you'll read later in this post, they will no longer be separate executables in the next (post-merger) release. Now I'll talk about each item, but before then I'll talk a little bit about a change in philosphy and why these are "interim" builds rather then the promised version 10.0 (beta) and 0.20 (alpha).
To put it simply the amount of time spent on these projects is variable. Sometimes I get busy and sometimes a lot gets done quickly. When combined with big releases this can result in progress "lulls" where nothing appears to be getting done. It's not true, of course, I work on things as I get time - but the perception of progress is lost. So I've talked about moving to smaller builds that would work toward the big milestones (such as 0.20, 0.30, etc.) but said that this would wait until after the merger. However as little issues come up, the large builds get delayed and so does the merging process. So I've decided to take action now instead of later and release interim builds - not everything is complete that I talked about and some stuff is disabled. But this will allow me to get the merger out of the way before working on more stuff (thus complicating the merger even more) and will a start to the post-merger way of doing builds.
The builds will no longer be hosted using the old "DivShare" method or using the old blogs. The Downloads page will be updated on this site, which will be the go-to place for new information and builds.
The goal is to move to a weekly build system, even if it's just small features or bug fixes some weeks. I want to have a continual sense of progress rather then the "bursts of activity" that we have now. That is the only way to grow the project and I think will be a big improvement for everyone - including me. For DaggerXL, builds like 0.20, 0.30, etc. will be more polished milestones while builds like 0.199 will be interim builds that may contain incomplete features. But this is a work in progress, there's no reason you guys can't see these things in progress more. :)
The XL Engine Launcher
The old DXL_Settings.txt files are gone now. You will use the XL Engine Launcher to setup anything that currently cannot be set in-game, including things like game path and mod settings. The files it writes out are different, so if you try to run DarkXL or DaggerXL directly without using the launcher, you'll get a message telling you to run it at least once. In addition, the launcher will verify that certain files exist in the paths that you specified and tell you if things are not setup correctly when you hit the "Play" button. It will also verify that OpenAL can be setup correctly and tells you if you need to update your OpenAL drivers.
Below you can see the launcher, click on the game picture to setup that game and alter it's settings. Note this is a slightly outdated screenshot - I added support for enabling and setting up texture replacer mods as well.
Below you can see the various video and graphics settings for DaggerXL:
DaggerXL version 0.199
So I'm still having some issues with version 0.20, so this interim build disables things that aren't working if they are problematic. So not all the promised 0.20 features are there but they will come online after the merger, giving me more time to make a nice, polished Alpha release later.
Features that are there and enabled:
Improved enemy support, random encounters, fixed dungeon textures, helmet rendering and full proper loot tables are still incomplete. Those will show up in the 0.20 alpha build.
I have started working on the engine merger. I'll present a list of things to know and what is going on:
Switch from DirectX to OpenGL
The engine will be cross platform so I'm switching to OpenGL in order to make things easier for myself. I already have a modern working OpenGL engine, so this should be fairly painless. This also means that all reliance on D3DX will be removed.
Support for advanced sector rendering, DaggerXL style polygon/terrain rendering and voxel rendering
Basically the engine will have support for multiple ways of storing and rendering scenes.
Single executable, multiple game support using scripting and dynamic libraries
The engine will support an arbitrary number of games, though obviously only the games already talked about right now. Many things, such as weapons, enemies and UI will be supported using the scripting system as "pioneered" by DarkXL.
The engine will initially support Windows, Linux and OS X.
In addition I will be implementing the missing rendering features needed to faithfully render BloodXL and OutlawsXL. When the merger release is made, it will include the first release for BloodXL and OutlawsXL support. It will obviously be pre-alpha material, but you should be able to run around all the levels and look around. Enemies and weapons will follow shortly afterwards. The DarkXL Beta and DaggerXL Alpha will follow the initial release. However I will be making incremental weekly builds at this point (when possible), so there may be more interim versions depending on how it goes.
The engine merger is underway, so I'll discuss the progress and goals of the process.
I'm currently working on step 2. Many of these will simply be moving the existing code into the new code base and cleaning it up and doing any necessary modifications to make it work in the new project. I will be taking the opportunity to refactor code that needs it - removing outdated assumptions, optimizing and ensuring stability. So it's a lot of steps but just remember that most of the code is already written.
In order to meet these goals, I will be enlisting help from some people during this process to do some testing. If DaggerXL or DarkXL currently runs poorly for you and/or crashes let me know and I'll add you to the list. If you run on Linux (the distribution shouldn't matter, as long as you have proper OpenGL drivers and support) or OS X also let me know, since I'll need extra testing on those platforms.
A public release will be made once the merger is complete, at which point normal development will resume. Obviously the next step will be to work towards version 0.20 of DaggerXL and the DarkXL Beta. At this point I'll be moving to the weekly build schedule, when possible, as previously promised. (i.e. lots of small builds, rather then few large builds)
As you may know, DarkXL has an incomplete, built in level editor. Obviously once the merger is complete, having an editor tied to DarkXL doesn't really make sense anymore. Therefore the level editor will become it's own project under the XL Engine - very much like one of the supported games. Basically it'll have it's own script files + library and continue to use the engine like before.
It'll support different game configurations, including DaggerXL. Basically the way it works is that you build areas out of sectors - but these sectors can have different attributes. For DaggerXL dungeons, for example, a sector would be a dungeon tile that is flagged to disable sector rendering and collision (using the mesh data instead). It will still do portal culling along sector connections, allowing for coarse high level culling and connectivity. So you'll basically be able to build interiors and exteriors and place them on the map. You can then package these up and distribute them as mods. Initially this is just a level editor, so you'll have to use existing pieces (though you will be able to construct your own tiles out of individual models).
I will be converting the existing editor code and adding DaggerXL support after the merger release. Until that happens the existing editor will be temporarily unavailable. I will spend most of my time moving the games forward, but I'll still get the editor working soon to make testing and checking out things a little easier for me.