Friday, June 25 marks the first anniversary of the DaggerXL project. While I didn’t have time to setup an event ahead of time, there will be a new Anniversary contest announced tomorrow and an IRC Q&A on Monday to commemorate the occasion.
Looking back, DaggerXL has come a long way from it’s humble beginnings and has a long way to go still…
So let’s take a quick look back:
First screenshots ever shown of DaggerXL, taken on June 25, 2009:
Soon afterward, Daggerfall textures start getting loaded – they are not region corrected, the shading is wrong and the FOV is waaay off – but it’s a start:
In just a few days, Privateer’s Hold is starting to take shape:
There are a variety of problems still and it doesn’t quite look right, but it’s recognizable.
DaggerXL goes through many improvements in the next couple of weeks and by mid/late-July the first demo is released.
The end of July sees a lot of work on cities and exteriors. At this time the world is flat and has only one ground texture – but it’s so nice just to be able to see the great outdoors.
And at the very end of the month the outdoor lighting system goes in, nighttime in Daggerfall is so atmospheric.
And at this point the foilage starts coming in:
Early August sees the addition of Skies, time of day, bloom, NPCs and interiors (among many other things) – the DaggerXL exterior starts to look more complete:
And this is when people got to see some of this stuff in action for the first time – in motion – with the Daggerfall At Night Movie.
There were some delays after this and a lot of time getting the terrain system working with all the different regions working followed by a lot of UI, gameplay and other work. Here are some final screenshots of the terrain development which you may enjoy:
Anyway that is enough reminiscing for now – if you want to see more or to read more about the development of DaggerXL – just read older posts on the blog and look at the archives. Many topics have been ignored or glossed over in the post, such as UI, combat, UI, inventory system, stats system and so on…
A lot of work has gone into DaggerXL with a lot more to come – it’s been a fun project so far. Much of the fun, though, comes from the community – I’m not sure DaggerXL would be where it is today without all the encouragement, testing and feedback of the people who follow this project.
So thank you all.
Changes to the Blog
First I’ll point out that there have been several subtle changes occurring to the DaggerXL blog.
Support for Multiple Languages
The biggest one is that the multi-lingual support is finally coming online properly. On the sidebar you’ll see links to versions of this blog in several languages with more on the way. This is all thanks to several members of the DaggerXL forums who have been kind enough to donate their time translating blog posts, pages, news items and various words and phrases used throughout the blog. If you visit the forums, members whose names are gold are part of the Linguist group responsible for these translations. If you’re ever on the forums, give the members of the Linguist group a pat on the back for all their hard work.
Tools for Increasing Awareness
I’ve also been adding some simple tools for increasing DaggerXL awareness, such as the “Share” buttons and the link to the new ModDB profile. The share button can be used to share specific blog posts (or the entire blog) on sites such as Digg and Facebook. I’ve also categorized the posts – no more unsightly “uncategorized” setting for everything. In the future I will be adding proper tags so that posts show up in WordPress searches.
As I mentioned above, I’ve also added a ModDB profile for DaggerXL as a “mod” for Daggerfall. DaggerXL definitely isn’t your usual mod – since it is a custom engine – but it’s the best category that they have for it. DaggerXL has been getting some good attention over there, hitting as high as the 14 th highest ranking mod for a day. It’s gone down a lot since then, mainly because it’s not as new and it’s still early on. Check out the ModDB profile for DaggerXL:
In addition DaggerXL has also been featured ModDB Video Spotlight for May 2010, which is nice to see. The idea for making a ModDB profile for DaggerXL actually came from a comment made on this blog – due positive support from the site and the interested members I have to say it’s been a success so far and should only get better as DaggerXL becomes more complete.
Character Creation Progress
The Character Creation system has been taking a while and it’s not done yet, so I thought I’d share some of the progress so far.
The first thing I noticed when setting up the character generation is that there are a lot of “popup” windows with text, and these windows sometimes have buttons on them with various options (Yes/No, Male/Female, etc.). The background is a sort of paper made up of a few tiles with text read from the Text.RSC file. So the first thing I had to do was make a system for creating a popup window that automatically sized itself based on text read from a “Text Record Database” file, while formatting that text and appending buttons in automatically generated positions – again based on the widest text line and the height of the text block. When an option is selected the window needs to disappear, return control to the parent window and optionally notify said window of which button was hit (if any – not all popups have buttons).
This system wasn’t well formalized up to now, so I added a formal notion of layered windows which can either pass through updates (clicks, keystrokes) or absorb them. These layered windows are rendered from bottom to top and updated from top to bottom, stopping once a window absorbs the input. All the existing UI will be migrated to use the improved system, simplifying the code in the process.
Now all I have to do to create a popup is specify the text record index, some flags (which buttons if any) and add it as a new window layer. The system (the character creator in this case) doesn’t need to manage it anymore after that – making it really easy to use. Here is are two examples of the popup windows, from the province selection part of the Character Creation:
All the text comes from the text record database files.
The province select also reads a special “mask” image, which is not rendered as a texture but used to determine which province the user is clicking on. Unfortunately, the mask image doesn’t exactly match the rendered image which is why selecting a province can be slightly finicky in Daggerfall – and also in DaggerXL. Fortunately it’s close enough and works well enough so I’m going to leave it alone since it behaves just like vanilla Daggerfall.
There is a lot more elements finished, such as the class selection, but I’ll describe other parts in more detail in a future post once the system is complete. For now I’ll leave you with more images of completed elements: