So I want to stop and talk about my plans and progress.
DaggerXL Version 0.20
I plan on trying to get version 0.20 out this week, though I may delay something in order to get that done (probably the startup-time caching). There are several reasons to try and get this done, some of which you’ll see below.
One reason is to get a proper build packaging DaggerXL and DarkXL together with the launcher. This way the merging process can really become visible, the programs will be easier to use (no more text file editing, paths with problems with spaces, trying to figure out which directory to point things to and so forth). And extra validation before program startup will also make diagnosing issues easier. Basically something that’s long overdue.
(The Launcher, previously shown in an XL Engine forum thread)
The next step is to get the DarkXL Beta finished and released, though it may be missing the Pure Renderer until after the engine merger, due to the decision to go to software rendering. On the plus side, the Pure Renderer will open up the software to a much wider audience of users. Due to the merger the source code will not be immediately released as previously stated, keep reading to find out more about it. Once the DaggerXL version 0.20 is released, the DarkXL Beta should follow within a couple of weeks. The OS X support will be delayed so that it can be properly implemented in the merged XL Engine.
The next step is merging all the shared code into the XL Engine, as well as refactoring the DarkXL/DaggerXL rendering systems to work well in the engine. At this point I will be dropping all D3DX reliance and using an alternate, cross platform library for image loading/saving (the main thing I was using D3DX for). In addition, due to the upcoming “Pure Renderer” (i.e. software renderer), the need to support old and crappy drivers has diminished. Therefore supporting two API’s to drive the GPU doesn’t make any sense anymore. At this point I will be switching from Direct3D to OpenGL. Fortunately I already have a shader-based OpenGL engine working for another project, so the transition will be quick.
At this point I will be releasing the source code for DarkXL but not the XL Engine immediately. The XL Engine source code will be released once it has time to mature and be optimized. BloodXL and OutlawsXL game source code will be released much sooner, probably after the first releases.
Once that is complete I will making an OS X port of the XL Engine (and thus all projects using the XL Engine). This won’t happen immediately, but soon afterwards.
Once the merger is complete I will begin a build per-week cycle, though the changelist may be small on busy weeks. The idea is still to work towards larger builds, but to release progress as I go. This will be complimented with the progress and goals listed on the Wiki under XL Engine Progress. I’ve talked about this kind of thing before, but it’s something that is really important now, given the scope of the XL Engine and projects.
BloodXL and OutlawsXL will get their initial releases once the merger is complete. Many things will not work correctly initially, but it’s important that I get things moving and builds out soon. The first goal is to get the visuals working completely in all the levels (all levels already load correctly). This includes things like translucent deep water in Outlaws, RoR, dual adjoins (i.e. 3D sector bridges and floors), texture scaling and alignment and so forth. Then comes weapons and enemies, I’ll talk more about this when the time gets closer.
For DarkXL I’ll start working on the next Beta build which will fix any issues left open by the first Beta. Then I’ll start working on making sure all the custom levels and mods work correctly.
For DaggerXL I’ll start working towards build 0.30 with all the previously discussed NPC interaction, shops, spell/ranged combat system, guilds and quests.