1.3 Incoming

Daggerfall Tools for Unity 1.3 is almost done. This version has a whole swag of improvements for developers to play with. Here’s the summary of new features.

Extending

  • Events have been added to key locations throughout the library. It should be easier than ever to write custom code to extend Daggerfall Tools for Unity without changing the core library.
  • I have started moving over to prefabs for non-static elements such as enemies, lights, hinged doors, etc. This will also help developers extend these elements more easily.

Materials

  • Overhauled material loading and caching system. The new material system now uses a pair of structures to request a material and receive results, rather than complex methods with a dozen in/out parameters.
  • Have moved to the Unity 5 Standard shader everywhere possible. A unified shader means simpler processes and better batching. It also means Physically Based Shading and real-time Global Illumination is possible. This could prove a huge boon for texture artists seeking to improve the quality of Daggerfall’s materials.
  • Normal maps can now be auto-generated for materials.
  • Emission maps are auto-generated for windows and bright materials such as fireplaces and lights.
  • Faster loading and processing of all materials.

Billboard System

  • Now using geometry shader with animation support for all surface billboards. Dungeons and interiors are still using standalone billboards for now.

Batching

  • The number of render batches and state changes required to draw a scene is now around 10x less. Therefore scenes which required approx. 5000 batches in 1.2 now require less than 500 in 1.3.

Image Processing

  • The texture loader can perform image processing using a matrix convolution filter.
  • Events allow you to setup your own image filtering when textures are loaded.

Builds

  • Softer coupling to Arena2 folder, allowing developers to release static scenes without contents of Arena2. An example would be a standalone dungeon game. Obviously procedural elements will require Arena2 folder.
  • Arena2 folder can now be stored in _Data folder for standalone Windows, Linux, and Mac builds. WebPlayer builds must continue using Resources method.
  • Added very early support for WebGL builds for static scenes only. Supporting procedural scenes in WebGL is in the pipeline for a future release.

Fixes

  • Fully compatible with Unity 5.1.
  • There are hundreds of small bug fixes and usability improvements. A huge thanks to all the brains at forums.dfworkshop.net for their help and advice.

I am in the process now of squashing bugs and testing. I should have an updated Developer Preview ready over the weekend some time (or mid next week at the latest). My plan is to hold the release version in Developer Preview status for about a month before promoting to full release. There are a few reasons for this (apart from the fact I really like lists (and parentheses)).

  • I need a full documentation and tutorial refresh. Some of the new features also need entirely new tutorials. This is a time-consuming process.
  • I would like time to get feedback from developers on the new features so I can make any last-minute bug fixes or changes.
  • I want to give developers time to finish up any mods/extensions they are working on to work with 1.3. it would be great to release an updated Mod Showcase Demo for 1.3.

That should about cover it for now. If you have any questions, please don’t hesitate to contact me.

Returning Soon, And More

Just a quick update for you. I am returning to work on Thursday. Once I catch up a little, I’ll get stuck back into the DFTFU 1.3 release. I’m also working on a new technical post for the Workshop Blog that should be up before the weekend. The 1.3 release is shaping up nicely, with lots of great new features for developers to play with. I can’t wait to have it ready for you guys.

Something I mentioned on Twitter a few weeks back is that I would like to talk more about my game projects outside of anything related to Daggerfall. Sometime in the next month or two, I’m going to launch a new site to share my progress and learning experiences creating my own game. I have always enjoyed watching people go through the journey of game development, even way back in the Zzap!64 days when the likes of Martin Walker detailed their process month by month. In turn, I enjoy sharing my experiences with everyone and I value the feedback I receive. I’ve never been fortunate enough to work in the game industry proper, but it has always been a passion for me that I don’t think I could ever abandon.

This may or may not be something you are interested in, so I will keep it separate from the Workshop. I also hope you will understand this will take some time away from my Daggerfall hobby, but hopefully not to its detriment. I promise not to abandon Daggerfall Tools for Unity, but to be an active part of the community and making contributions long into its maturity. Exciting progress is being made by everyone, and I hope to be as much a part of that as possible well into the foreseeable future.

With all the great contributions lately, I can see Daggerfall Tools for Unity becoming self-sustaining. There will come a time when the community here will take things much further than I ever could by myself – in fact I believe that process has already started. Daggerfall has been on my mind for almost 18 years (wow!) and I need to start looking for my next passion. I want to start something original and use everything I have learned to create something of my own, something I can be proud of no matter how feeble it is. If any of you are interested in this new journey, I look forward to seeing you there soon.

Fast-Tracking 1.3 Release

I have decided to fast-track 1.3 into release status, as currently Unity 5 compatibility is in Developer Preview 1.3 only. A lot of new Unity 5 developers are downloading the latest 1.2 release version and experiencing problems, which leaves a bad first-impression of the tools.

As a result, the promised text and translation features will be only partially completed in next release. I’m going to bump text and translation to 1.4, and bring some of the material changes planned for 1.4 down into 1.3 which relate to Unity 5 improvements.

There will also be a refresh on the documentation and tutorials for Unity 5, now that features like Deferred Shading are available to all.

Look for the release to be ready sometime within the next week.

Modding Daggerfall Tools for Unity

I just started an open conversation around modding Daggerfall Tools for Unity on the forums. Please feel free to jump in and let us know your thoughts.

Daggerfall Tools for Unity Mod Discussion

If you are planning to start a project for texture replacement, model replacement, etc. let me know about it, I’d be happy to feature your work. I can also create a new forum room for larger projects to help discussions and organisation.

New Workshop Members

Daggerfall Workshop is expanding today. I’d like everyone to welcome Nystul, InconsolableCellist, and LypyL to the site!

Over the last several months, I have been amazed by the contributions these three have made to Daggerfall Tools for Unity. They have all selflessly offered code, reported bugs, raised ideas, and generally helped to refine the vision of these tools. But most importantly, they demonstrated the power of open source at work inside a passionate community. They have each shown what is now possible with Daggerfall and Unity.

Anyone following me on Twitter or watching the DFTFU Subreddit may be familiar with their work already. Here’s a sampling, just to be sure.

Nystul

Nystul created a Terrain Extender script for the default Streaming World terrain. This enlarges the default draw distance of a few miles out to insane distances. Nothing shows this better than a couple of screenshots.

Below screenshot was taken just above Direnni Tower using the default Streaming World setup in Daggerfall Tools for Unity.

direnni_near

Not bad! Definitely a huge improvement over the painfully short draw distances in vanilla Daggerfall. But check below for how this same spot looks with Nystul’s Terrain Extender.

direnni_far

That popping sound you heard was my brain exploding. You can see clear across the Isle of Balfiera archipelago to the mainland. Simply amazing! And here’s another lovely far terrain screenshot.

mountains_far

 

LypyL

LypyL is the creator of the jaw-dropping Multiplayer Demo. This was literally a Daggerfall world-first, allowing you to explore the Illiac Bay and its thousands of locations with other players. If you missed out dungeon crawling with mates, I strongly recommend you give it a shot by clicking on that link!

Besides multiplayer and other enhancements (e.g. climbing and flying), LypyL has also proved to be a fearless experimenter, showing us the mad fun you can have with an open source Daggerfall. The below videos put me in mind of the vast mod potential enjoyed by later Elder Scrolls titles.

This kind of spirited tongue-in-cheek modding is exactly what I was hoping to empower everyone with from the outset. Not only can we remake Daggerfall, you can use Daggerfall Tools for Unity however you like!

Oh, and LypyL has also been working on a dynamic sky system for Daggerfall Tools for Unity.

 

InconsolableCellist

Speaking of remaking Daggerfall, this last contributor is by no means least. With the stated goal of creating a fully playable version of Daggerfall, InconsolableCellist is working towards the outcome I think everyone wants to see the most. He has also proven to be a great contributor, expanding the default tools and building all the scaffolding of a real game.

Obviously there’s a fantastic amount of work to do, and much of it is hard to show off visually. But InconsolableCellist has been working very hard indeed, building GUI systems, a text console interface, monster spawners, timers, quest logic, and much more. Best of all, he is continuing the spirit of open source by keeping everything available to the community on his Daggerfall Unity GutHub repository.

Below is an early look at InconsolableCellist’s quest system back-end in action.

And here is a screenshot of the text interface a bit further along, looking more like Daggerfall.

ic_dialog

InconsolableCellist has also experimented with running Daggerfall on the Oculus Rift. This was simply a proof-of-concept (and based on a much earlier version of Daggerfall Tools for Unity), but it demonstrates that we can one day play Daggerfall on VR headsets.

What Happens Now?

Daggerfall Tools for Unity is an interesting project all by itself, but the real story is what other people do with those tools. We have finally reached a point where the story becomes less about me and more about those who build on what I started.

InconsolableCellist, LypyL, and Nystul are now full posting members of Daggerfall Workshop. This means they can show off their progress right here and entertain us with the occasional blog post.

These three will also have collaborator rights to the Daggerfall Tools for Unity GitHub repository, allowing them to post changes to support their own work, help support others, and expand our tools into the future.

For my part, I will continue working just as I have been in the past. I will keep on reverse-engineering bits of Daggerfall, adding new features, fixing bugs, and help oversee the continued vision and quality of code changes. My job as tool creator is to help keep the tools useful and free for everyone.

The real story of Daggerfall Tools for Unity is just beginning! The more people who contribute, and the more this community grows, then the more amazing stories we’ll have to tell. I look forward to seeing what this all means for Daggerfall in the future.

Stay tuned! There is more exciting news still to come this week.