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.

XL Engine Source Code released. I have not upload a license yet, there are still some details to work out. More info on its nature here.

Here is the GitHub link: github.com/luciusDXL/XL-Engine

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media

I have started filling out “Issues” on GitHub so you guys can see what I’m planning on working on in the near future.

There are currently 5 milestones: Beta 1, Beta 2, Beta 3, Beta 4 and Beta 5.


Beta 1: the initial release, all the games previously stated should be working at 100% with the exception of multi-player. As stated before only software rendering will be available but higher resolutions will be supported.

Beta 2: the OpenGL 3.2 device should be implemented and true 3D hardware rendering support added – basically Daggerfall will surpass previous builds visually in addition to being gameplay complete.

Beta 3: the “Unified Sector Theory” release – perspective correct hardware rendering for 2.5D games. At this point Dark Forces should surpass the current build visually in addition to being gameplay complete.

Beta 4: will add support for additional platforms – Linux and OS X.

Beta 5: the “Multiplayer” release – add multiplayer framework and support for certain games (such as Blood).

Source Code:

After some thought, I have decided to release the full source code for the XL Engine and game implementations with the Beta build. In order to start this process I have created a Git Hub public repository and have started the process of pushing up the code.


That said, however, there are some surprises in store for the release so I will not be uploading all of the code until the Beta is published. The repository will be incomplete for now but that will be rectified for the release. Also this version of the XL Engine was rebuilt recently and so it does not contain all of the functionality past builds have had. However I am moving over the code and refactoring it to fit in the new engine as I need it but until then you will see holes. No game specific functionality is pushed and the code will not build as-is. Again this will be corrected for the release – this is just getting the ball rolling.


Finally some of the code is currently in a very rough state, this is a work in progress. I will not be taking pull requests at this time and this will be a quickly moving target, any part of the code can be radically restructured at any time. So if you have any ideas, like porting to other platforms, please wait until the Beta release and the repository is complete.


I have not upload a license yet, there are still some details to work out.


Here is the GitHub link: github.com/luciusDXL/XL-Engine

The GitHub page now has the most up to date version of the roadmap.

Here is the GitHub link: github.com/luciusDXL/XL-Engine


Please read the XL Engine Source Code post is you have questions about pull requests, the source code, etc. before asking. Thanks. :)

Progress:

I have been asked for a time frame for the Beta 1 release and to gauge how far along the build is, as a percentage. I have decided to answer the questions, as best I can, while providing a progress update.

As for when I will say relatively soon, though I’m afraid that I won’t be able to give any dates until I know for sure.

As for % of completeness, that too is hard to say. The engine is basically where it needs to be, with the exception of the sound system – though that already reads Voc files, plays 2D sounds and could easily play 3D and looping sounds – its mainly a matter of resource tracking at this point. The UI needs to be finished but that, honestly, will only take a few nights of work. There are additional niceties I would like to add but most of them can wait (like controller support). So engine/UI wise I would say its at 90% or so but the other 10% isn’t very time consuming.

Where the majority of the remaining time will go is finishing the game support itself. The good news is that the current approach basically allows me to work towards all of the games in parallel (exactly how is a discussion for another day). So overall I would say I’m around 50% of the way there but the pace is accelerating due to improving methods.

This probably doesn’t sound great until I mention that I basically started from scratch a few months ago, largely due to the long hiatus and change in design – though I move and refactor old code as needed. So it is going well and the pace is very promising for meeting my goals of getting a build out near the beginning of this year. And to be clear that 50% is overall, meaning that all the games are made good progress towards completion (Daggerfall, Dark Forces and Blood), though it obviously, and intentionally, doesn’t indicate which are further along.

However as soon as more concrete promises are made something will happen so… I’m going to avoid making said promises until I know for sure. :)-

Estimated Progress Towards Beta 1

Engine – 90%
Game Support – 50%




Recent Engine Features

* Vsync now works correctly, though causes noticeable “input lag” at low refresh rates – such as 60. However this “lag” has been decreased and should be small enough for many people.

* Frame rate limiting, as an alternative to vsync, now works correctly and accurately – and has almost no perceivable “input lag” on Windows. This doesn’t completely fix tearing but greatly improves it, especially during explosions and rapid screen movement. This can be set to multiples of the refresh rate – such as 120, 240, etc. to further limit any input issues – and tends to improve the overall experience even at higher multiples. Though, obviously, your system should be able to reliably hit the requested framerate. If the system can’t keep up, the framerate limiter has no affect on performance (unlike traditional vsync). In addition it saves on CPU load which can be useful for weaker systems.

The XL Engine will probably default to a frame limiter of 120 Hz, though obviously you can change it to use vsync instead or have no frame limit (this last option is not recommended though).

* Adaptive Vsync – if available this will allow for synchronization if the system performs well enough but does not if the system under performs.

* Proper dynamic vertex buffer support so that performance is good for all Graphics “levels.”

* Render targets and improved UI aesthetic.


State of the Game Support

* All games have working libraries and entry points. They can all be selected, run and shut down from the UI.

* All games are debuggable and run, though only one is currently playable.

* All games are fully disassembled and partially re-written. Obviously some of the code is easier to understand then other parts.

* Dead code has been identified and removed from all games.

Midi Playback

After some deliberation and suggestions, I am tackling midi playback a little differently this time around. The system midi players (like the Windows midi player) have issues and seem to be harder to configure in recent versions of Windows. While there is software available to help, such as VirtualMidiSynth, I don’t want to rely on users installing this software on their computer.

Instead the XL Engine will use software midi synth and support Gravis Ultrasound patches and Sound Fonts. In order to accomplish this I have integrated Wild Midi and am in the process of integrating FluidSynth. The release will come with default patches and fonts so people can hear good quality midi from the get go. Of course you will be able to download and use your own patches and sound fonts.

Setup is easy – just pick the format you want to use and select either the config file (for patches) or sf2 file and you are done. The libraries are statically linked with the engine, so no extra DLLs, downloads or installs to use.

In order to limit the dependencies and code size, audio drivers are being excluded from my build of fluidsynth – it will write raw audio which will be processed by the engine’s sound system, just like Wild Midi. Midi playback is also properly threaded to limit the burden on the main CPU.

Finally I would like to thank Brother Brick (a member of the forums) for suggesting Wild Midi – it is a great library for software midi playback. Unfortunately it does not – yet – have all of the features I want but it does a great job at what it has implemented. :D

XL Engine – State of the Project

XL Engine – State of the Project

News 6 comments

Interkarma has made large strides in his own Daggerfall work Daggerfall Unity. There are many reasons to continue DaggerXL and I have been building tools...

December 30, 2013 - The Story Continues

December 30, 2013 - The Story Continues

News 4 comments

I have resumed work on the DaggerXL Beta after taking a break for Christmas. I don’t have much new to show yet but I will talk about a few topics.

November 10, 2013 - Dungeon Blocks

November 10, 2013 - Dungeon Blocks

News 0 comments

First, you’ll recall the texture assignment code I showed before for dungeons when explaining how random numbers were involved. In that function there...

November 2, 2013 - Factions

November 2, 2013 - Factions

News 0 comments

The last couple of days have been slow due to work, Halloween and such, so I’m still working on loading save games. However, to keep the news flowing...

DaggerXL Version 0.199

DaggerXL Version 0.199

Demo 16 comments

Contains XL Engine Launcher, version 0.199 of DaggerXL and build 9.50 of DarkXL.

HQ Font and Cursor replacement

HQ Font and Cursor replacement

HUDs 2 comments

4x Resolution font and cursor replacement for DaggerXL.

Version 0.198 Released - Bug Fix Build

Version 0.198 Released - Bug Fix Build

Demo 7 comments

Version 0.198 is mainly a bug fix build. One fun feature,though, is that random monsters are no longer just bears - though they still aren't correct.

DaggerXL Version 0.197

DaggerXL Version 0.197

Demo 0 comments

The current pre-alpha version of DaggerXL - version 0.197. Please note that this is still a work in progress and that many features need to be implemented...

DaggerXL Version 0.195

DaggerXL Version 0.195

Demo 1 comment

luciusDXL made this, obviously. I'm just re-uploading it here because the other file server was going down a lot.

DaggerXL Version 0.181

DaggerXL Version 0.181

Demo 0 comments

The current pre-alpha version of DaggerXL - version 0.181. Please note that this is still a work in progress and that many features need to be implemented...

Post comment Comments  (50 - 60 of 94)
Spe¢ter
Spe¢ter

Bad thing I got win 7 :/

Reply Good karma Bad karma+1 vote
luciusDXL Creator
luciusDXL

Please visit the DaggerXL forums, if you have time, and post a bug report. DaggerXL should work in Win 7 and if it doesn't it would be good to know so that it can be fixed.

DaggerXL forums:
Daggerxl.50.forumer.com

Reply Good karma+1 vote
thunderising
thunderising

wait, so this is standalone?

Reply Good karma Bad karma+1 vote
luciusDXL Creator
luciusDXL

It requires the original game files and executable. But the DaggerXL engine is a native Windows application.

Reply Good karma+1 vote
Morsey
Morsey

I hope this doesn't need DOSBox.

Reply Good karma Bad karma+1 vote
AlexanderSig
AlexanderSig

It doesn't.

Reply Good karma Bad karma+1 vote
Vulpes
Vulpes

You are doing great thing. Good luck!

Reply Good karma Bad karma+2 votes
udm
udm

Amazing. Privateer's Hold, just like how I remember it. /twothumbsup

Reply Good karma Bad karma+1 vote
luvmods
luvmods

Great work! This is one of the few mods I can honestly say that it looks simply amazing. :D

Reply Good karma Bad karma+2 votes
AdamantConsternation
AdamantConsternation

Really impressive stuff! You don't see very many people willing to knuckle down and recreate a game engine from scratch!

Reply Good karma Bad karma+1 vote
Kris015
Kris015

Did/are you planning on making the controls easier?
I played Daggerfall lately for the first time, but quit because the controls really REALLY bugged me.

Reply Good karma Bad karma+1 vote
Post a comment

You are not logged in, your comment will be anonymous unless you join the community. Or sign in with your social account:

Icon
Daggerfall
Game
Daggerfall
Developer
Contact
Send Message
Homepage
Xlengine.com
Release date
Mod watch
Start tracking
Share
Style
Genre
Role Playing
Theme
Fantasy
Players
Single Player
Embed Buttons
Link to DaggerXL by selecting a button and using the embed code provided more...
DaggerXL
Statistics
Last Update
Watchers
489 members
Addons
1
Downloads
5
Articles
44