One of the new features coming in Daggerfall Tools for Unity Release 2 is support for standalone builds where the Arena2 folder is not generally available. For example, the web builds I showed earlier would be considered standalone.
The toolset makes this possible using two complementary approaches. The first is just normal serialization of scene data. This is automatic and doesn’t require any work on your part. All of the materials and 3D models in your scene are just saved as you would expect, along with additional metadata about those resources. For example, every 3D mesh saves a list of default texture keys used to rebuild textures for climate swaps. You generally don’t need to think about this, it just works.
The second method is new to Release 2. When loading a file from Arena2 with FileUsage.UseMemory enabled (now the default), DaggerfallUnity will first try to use Resources.Load() to find that file from your Resources folder. This means you can add, for example, ARCH3D.BSA, BLOCKS.BSA, MAPS.BSA, and TEXTURE files to your Resources folder and load content in at runtime without the end user requiring a Daggerfall installation for your build. All you need to do is append “.bytes” to the end of any Arena2 files added to your Resources folder so Unity can load them as proper binary files. This works for every Arena2 file loaded through the API with FileUsage.UseMemory specified.
As an example of this, check out the new web player demo below. This loads a Wayrest city scene using normal serialized data for all of the models and materials. The sky however is created at runtime from SKY13.DAT in Resources. The entire build is 3.7MB (not counting the web player itself).
Wayrest Snow Scene (Point Filtering)
Controls: WSAD to move, SPACE to jump, SHIFT to toggle run, and ESC to uncapture mouse.
www.dfworkshop.net/web_demos/wayrest-snow-test1/wayrest-snow-test1.html
This freedom creates exciting opportunities for building Daggerfall projects directly for web or mobile platforms. You’re no longer limited by where Daggerfall can be installed. It’s all just binary data that Unity can use anywhere. I hope this freedom will inspire others to create amazing Daggerfall projects in the future.
Cool feature, but just a heads up: Bethesda has always been lenient about people writing programs that work on their assets, but extremely picky about anyone distributing those assets. And even though Daggerfall is very old now, and has even been released as a free download, they might still decide that they would have to pursue anyone distributing Daggerfall assets via other channels, just to make sure they don’t set a legal precedent of leniency. Or they might not care. I don’t know, but I just wanted to make sure nobody got blindsided.
A legitimate concern, and just for the record I don’t plan on wholesale distributing Bethesda’s copyrighted content. There’s no need to really, when anyone can just download said content freely from Bethesda’s own web site. The very first page of the Daggerfall Tools for Unity manual directs users to do exactly that.
But I do think this feature is important to make Daggerfall Tools for Unity as useful as it can be. For example, it would enable Bethesda (or someone they authorize) to bring Daggerfall to iOS, Android, XBox, Playstation (any platform supported by Unity) using the original binary files – without DOS emulation.
That’s a powerful idea. Just think of a Black Mesa styled remake of Daggerfall across several platforms. Another example is Baldur’s Gate Enhanced Edition. Bethesda could sell that themselves, turning a dead game into profit. The toolset is there for everyone – right now – and totally open source under the MIT license.
The MIT license being what it is, Bethesda are free to use my hard work to revitalize one of their old games, and they don’t need to pay me a cent. Although a T-shirt would be nice. 😀
I am in the middle of contacting Bethesda to get approval to use their assets on project. Fingers crossed that they give me their blessing.
Good luck with your project, stc105. If the below thread is any indication, Bethesda do show some leniency towards not-for-profit fan projects using Daggerfall’s content. See posts from (at the time) forum moderator Dogsbody, after he checked with Bethesda in relation to the following query on Bethesda’s forums.
http://forums.bethsoft.com/topic/1044690-daggerfall-roguelike-legal
You will of course need to check with Bethesda yourself as you suggest for permission to use their assets in your work.