Twitter Reminder

Just a reminder to anyone hungry for more news, my day-to-day progress is posted to Twitter @gav_clayton. I post small updates and screenshots almost daily (sometimes multiple times a day) whereas this blog is generally for detailed updates and major milestones Even if you aren’t on Twitter yourself and can’t follow me, the feed is visible to everyone.

I’m moving rapidly towards first release of Daggerfall Unity and will have more updates for you soon. Stay tuned!

Remastering Daggerfall

Less than 12 months have passed since I began work on Daggerfall Tools for Unity. In that time, my little project has grown substantially and attracted a lot of attention from around the world, including articles on Kotaku AU and Rock Paper Shotgun.

As word about Daggerfall Tools for Unity has spread, a lot of hopeful Daggerfall players have visited looking for word on a remake – only to find a set of development tools not aimed towards players. While everyone seems excited about the potential Daggerfall Tools for Unity offers, there’s a lot of latency between new developers coming on board and getting up to speed before they can offer their contributions. So as a developer community, we may be climbing a steady ladder towards remaking Daggerfall, but there’s very little for non-developers to experience and no clear direction from which a remake will come. I’m contacted by passionate Daggerfall fans almost every week and it breaks my heart that I don’t have more for them.

I want that situation to change. I want the average Daggerfall player to be able to experience progress and have a clear sense of direction that Daggerfall Tools for Unity can be used for remaking Daggerfall, and then some.

What this means is that I can’t just create a toolset. Raw building blocks aren’t enough. I also need to create a scaffold for remastering Daggerfall that includes everyone, developers and players alike.

So let’s get this out of the way. I will shortly release a burgeoning Daggerfall remake, proudly using the Unity engine and Daggerfall Tools for Unity.

For players, this means you will be able to download regular builds to experience the project as it grows. You will become part of the process, able to offer your feedback and constructive criticism to the betterment of the project. Developers win out as well, because you get a functioning Daggerfall remake – completely open source – to build on and change as you desire. For the first time we can all, developers and players alike, come together and contribute.

So where does this leave Daggerfall Tools for Unity? Nothing changes at all. My remake project will be built on the same Daggerfall Tools for Unity that everyone has access to. If anything, this will only improve Daggerfall Tools for Unity by creating a proving-ground for new features and increasing the number of testers.

I will soon release a new web site, solely for distributing the latest playable build of my Daggerfall remake. Daggerfall Workshop will remain as the hub of social activity and development news.

And the best news for players is there’s a swag of new features coming in Daggerfall Tools for Unity 1.4 and 1.5, all aimed at creating playable systems and filling in those blanks between a toolset and a game.

Feel free to leave your comments on this post, or head over the forum post where I’ve kicked off the conversation.

DFTFU Developer Preview 1.3.29

Edit: Release version 1.3.31 now available.

Daggerfall Tools for Unity 1.3.29 is now available to developers for testing. This is a close-to-final version that still has a few kinks to iron out. However it should be close enough for developers to start testing and migrating their work.

The key new features of this version are:

  • Full Unity 5 compatibility.
  • New material and texture system.
  • Using Standard shader everywhere possible.
  • Simplified custom shaders for tile maps and billboard batches.
  • Significantly improved batching and performance when using new Deferred path.
  • Improved billboard batching using geometry shader, now supporting animation.
  • Events at key locations.
  • Started using prefabs for layout of non-static items such as doors, lights, and enemies.
  • Many small bug fixes and improvements.

I did mention there were still a few kinks to iron out, so I value any feedback on this version prior to full release.

I am also working on a full documentation refresh and new tutorials for some of the new features (like events and prefabs). This will take a few weeks to complete. I am planning full online API documentation starting from release 1.3.

Happy testing! If you have any feedback, please use the following forum thread.

http://forums.dfworkshop.net/viewtopic.php?f=7&t=74

Almost There

The 1.3.x preview release will be up in a few more days, over coming weekend at the latest. I’m stomping more bugs than expected and making some last-minute improvements. This is also my busy time of year (end of financial year here in Australia) so I’ve got some heavy work on from all sides.

In the meantime, keep an eye on the Github page as I’ll be checking in code frequently leading up to first 1.3.x preview build.

I also want to offer a partial retraction regarding my earlier statement about the number of batches being 10x improved over previous version. This turns out to be highly variable based on the number of lights affecting objects, shadows, time of day, etc. The real figure is closer to 5-10x less. It’s still a great improvement, but I don’t want to mislead anyone if possible.

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.