First Look At Classic Save Importing

Just a quick update today, as I’m right in the thick of it getting the test build ready.

The below GFY shows the current early state of importing classic Daggerfall save games inside Daggerfall Unity. At the moment this is just spawning a character to exact position in world, but I hope to be importing all vital character details eventually. As with everything else, classic save import will become more advanced over time. My ultimate goal is for you to be able to import your Daggerfall characters and pick up the game more-or-less where you left off.

This represents a nice milestone in development so far, one that has required several weeks of planning and engineering just to accomplish this much. Now to put some meat on those bones.

[gfycat data_id=”JitteryAdventurousEnglishpointer”]

Character Creation – Part 3

I’ve been so focused on importing Daggerfall’s save games that I forgot to post a video of the character creation as it will be seen in the first release of Daggerfall Unity. So welcome to part 3 of character creation (or part 2 if you’re just following along on YouTube). I really need to think about these titles more.

Players familiar with Daggerfall’s character creation process will notice a couple of things missing from that video. The first release of Daggerfall Unity will not have the “10 question to determine your class”, custom class creator, or biographies. The biographies in particular have to wait for a while as they interface with a few other systems (like inventory and reputation) which still need to be written. As outlined in my mission statement on the forums, I will be building individual parts of Daggerfall in small, incremental stages that give priority to core systems first. My goal is to work towards a minimum viable product sooner rather than later, and keep iterating over the whole until it takes shape as a completed Daggerfall clone.

Personally, I think it’s better to put a work in progress into your hands (along with the source code) than make you wait long stretches between releases. This approach also means that my efforts are battle-tested right from the start, leading to a more robust final product. Think of Daggerfall Unity along the lines of Early Access – except it’s completely free, open source, and you can literally become part of the development. Even if you aren’t a programmer, good testing and feedback is vitally important.

I’m running a bit behind on the first release now, mainly because of the additional work required to import native save games. But we’re getting close to first release of Daggerfall Unity now, so keep an eye on the Workshop over the next few weeks for more information.

Character Creation – Part 1

I want players to really connect with Daggerfall Unity from the start. Rather than dump you into Privateer’s Hold with a random starting character, my first order of business is to code up character creation and importing existing save games. This means you will be using your characters (new or existing) to experience the project as it grows. The below video shows progress far.

It will take several releases before character creation and importing saves gets to where I want them, but I’m iterating quickly over the problems. Once everything is working, I hope it will help you form a personal connection to the project. The other huge advantage in a save/load system is that you will be able to send me your save games with bug reports. This should cut down on time required to reproduce and resolve any bugs you find.

A lot of work was required just to bring things this far, and that doesn’t even include the big stuff you’ve already seen in action like the streaming world. To give you some idea of what’s happening above, here’s a rundown of new systems packed into that short video. Some of these systems are visible, others are ticking away under the hood.

  • An entirely custom state-driven UI system to render and properly scale Daggerfall’s 320×200 UI at any target resolution. This includes stuff like panels, buttons, outlines, text labels, message boxes, and so on.
  • A custom bitmap font system to render glyphs directly using Daggerfall’s native font files.
  • A messaging and event system for handling opening and closing windows, clicking buttons, etc.
  • ITextProvider interface and support classes to handle extracting native text resources from TEXT.RSC, book files, etc. This also forms the basis of translation features, which can implement ITextProvider in conjunction with a translation asset.
  • Extraction of native video streams and playback in Unity engine with all correct timings.
  • Initial race definitions. This is incredibly basic right now to keep development flowing. The goal is for final race definitions to be read from text files to simplify creation of custom races. Same goes for custom classes when the time comes.
  • Initial entity and effect systems. This covers stuff like player (and monster) resistances, immunity, special abilities, and weaknesses.
  • Real-time export of audio from DAGGER.SND into a Unity AudioClip for playback.
  • Started implementing an importer for importing vanilla Daggerfall save games.
  • Started integrating a serialization system for Daggerfall Unity save/load game.

I hope to have the first release available within 3-4 weeks with at least partial character creation working. New features will just keep being added from there. It’s obviously still early days, but that’s the shape of things to come.

LypyL Action Enhancements – Updated

Below are the awesome improvements LypyL has made to the action system. Billboard actions and touch-based actions are now working. And for the first time we can teleport through those terrifying red doors. Great work man, great work.

[gfycat data_id=”CompetentCarefulCooter”]

[gfycat data_id=”DownrightAnimatedHind”]

[gfycat data_id=”MindlessClassicJavalina”]

[gfycat data_id=”ElaborateDelectableArmadillo”]