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.

Roadmap Jan-Mar 2015

I wanted to post a quick update of my plans over the next few months. This gives me some goals to meet and ensures any potential developers know where I’m headed next.

  • 1.2.x release with streaming world. This should be out in the next week. I’m currently stomping bugs, updating docs, and testing everything I can.
  • A few weeks break for Real Life work, as discussed a couple posts back.
  • 1.3 begins. This will be another big release with an emphasis on Text & Translations, NPCs, Quest Foundations, Performance Review, and Mixing Custom/Procedural Assets.

Moving forwards, I will try and be more conscientious of other developers. This involves a few changes to how I think about the tools.

  • Move to GitHub. I plan to do this as part of 1.2.x final release.
  • Fewer breaking changes when possible. This involves thinking about the impact of any changes to upstream developers. Where possible, I will avoid sweeping changes and use [Obsolete] rather than simply remove old methods.
  • Thinking about multi-player, multi-camera patterns. As much as possible, I will try to organise tools not to depend on a single-player, single-camera pattern.
  • Improve code practices in general. This will be stuff like using Interfaces where appropriate and trying to make the code easier to understand.

Obviously there will be a changeover period where your upstream code will get clobbered by changes at my end, but I’m hoping that sometime after 1.3 you can start to have more confidence about importing changes into your fork.

As always, I’m open to suggestions and learning from others.

Work/Life Time

Hey everyone. I just wanted to let you know that work is still heavy at the moment. I am also about to start a couple of surprise work projects that require a higher than usual amount of presence and concentration.

Things should go back to normal in around 6-8 weeks. In the meantime, I will work on what I can in Daggerfall Tools for Unity, but expect updates to slow down for a little while.

If you don’t hear from me for a couple of weeks, please do not be concerned. I know that I’ve been very active while getting this project off the ground, but it was inevitable that sooner or later I would need to take a break from my hobbies to concentrate on the business. It sucks, but I’ve got to pay the bills.

Thanks for your understanding. 🙂