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: