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.
With 1.3 freshly released, it’s time for me to update my roadmap again. While my overall heading remains constant, the beats and rhythm of my short-term goals are always in flux, constantly evolving as I converge on solutions and new priorities emerge. I find that right after a release is the perfect time to step back and consider my next move. So let’s take a look at where I’m up to and what’s on the horizon.
To start with, I’m wrapping up tutorials and fixing any bugs discovered in 1.3 release version. I plan to support the stable 1.3 branch right up to the next major release. Any minor bugs will be fixed quickly, followed by an incremental release. It’s possible some of the key features in 1.3 will be refined, but no major changes will be made at this point. Anyone waiting for 1.3 to settle down can confidently get started with it.
For those of you waiting on tutorials, Prefab Basics should be up in the next day, and Streaming World sometime next week. I’m hoping all the tutorials earmarked for 1.3 will be completed in next 2-3 weeks.
Work In Progress Branch
In case you missed it, there is now a work-in-progress branch on GitHub. New features will be added first to the work-in-progress branch and only promoted to the master branch once they become complete and stable. At which point, I go into maintenance mode for the new release and start work on the next major release. This is a much better workflow and should result in faster turnaround of fixes in maintenance releases. It’s very likely you will see a few more version points added to 1.3 before it’s done.
Every major release (two betas, 1.0, 1.1, 1.2, 1.3) involved heavy changes to the underlying code. This often broke your work and was very frustrating for you. I’m sorry about that. Hopefully 1.3 marks the last major paradigm shift for some time (jumping to Unity 5 was a big one), and the new event and prefab systems help you create your projects without needing to modify the core tools.
I plan to continue this developer focus moving forward by adding more events, prefabs, interfaces, editor scripts, etc. to help you work, and make fewer breaking changes to the underlying code base. It’s obviously inevitable this will happen sooner or later, but hopefully not to the extent seen between 1.0-1.3.
To date, I’ve worked very broadly across the entire spectrum of Daggerfall. This has been essential as much work was involved in setting up content readers, building a bridge into Unity, and seeing the entire game world up and running. Those system are huge, difficult, and take a mountain of work to pull off. And they are so interdependent that it’s necessary to build all of them before any of them really work. This is where most Daggerfall projects stall and fail. And guess what! We’ve pushed past that like a boss and still have plenty of steam out the other side. This is where the really interesting stuff kicks in and all that hard work pays off.
Starting with 1.4, I’m going to focus on a very specific set of features each release, plus some iteration on previous features. In this way, we climb the mountain one challenge at a time. The work becomes easier because the next goal is always in sight, then the next, and so on until the top.
Work on 1.4 has already begun. The only thing I haven’t shared with you are my plans for this release. Here’s a list of everything I have either already started work on, or plan to include. And the good news? From here on, everything is geared to helping you add real gameplay features.
- Daggerfall save game import. Yep, the ability to read vanilla Daggerfall save games and import this data.
- Unity save games. The foundations of a Unity save-game system will be implemented for new demo titles. You can use this, ignore it, or extend as needed.
- Real player scripts. With stats, special advantages, special disadvantages, reputations, etc.
- Real monster scripts. With all their properties read straight from the game files.
- Real combat formulas. For real melee combat. Spellcraft will be added later.
- Item and loot table support. Play with real Daggerfall items and their properties. Custom loot tables for monsters and dungeons.
- Starting work on effects system. At first this will only be complete enough to support player and monster scripts, and melee combat. Spellcraft will be added later.
- Demo character sheet UI. With inventory and paper doll support.
Some of you may be wondering about the text & translation features I had originally planned for 1.3. Unfortunately the Unity 5 release dropped a huge spanner in the works and a great deal of effort was involved bringing everything up to par with the new paradigm. In that time, I have rethought my approach toward text and translation based on feedback from other developers.
Obviously this remains an important consideration, but I no longer believe it prudent to add a locked-in translation system to core tools. The problem with this approach is it limits options for other developers who may wish to use some other translation system, or a different approach entirely.
The original system as planned would also have added some complexity for developers who just wanted to get stuck in for their own amusement, and are not concerned about targeting multiple languages. Obviously larger projects that want to localize have a plethora of options available in the Unity landscape alone. There is simply no need for me to re-invent the wheel here.
So I’m going to keep doing what I do best, which is provide hooks back to the game files and the means for other developers to easily suck out the data they need. This data obviously includes text, and will have everything a developer needs to pair with their preferred translation system. This set of features are now part of the 1.5 update, which includes quest file support.
That’s everything for now. As usual, Daggerfall Tools for Unity is a constantly evolving beast and this is all subject to refinement. However the journey remains the same. I may not be remaking the game personally, but by Julianos I’m going to create all the moving parts needed to help that become a reality, and with your help it’s practically inevitable.
So if you’re a developer who loves Daggerfall, get started today and help show the world what can be accomplished!
Daggerfall Tools for Unity 1.3.31 release version now available!
Key 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.
- Event system.
- Started using prefabs for layout of non-static items such as doors, lights, and enemies.
- Many bug fixes and improvements.
- New Feature Gallery.
- New Tutorials.
I’ve updated Daggerfall Workshop with a new template and some extra tech under the hood. This is still a work in progress, please forgive any kinks while I iron them out.
The Daggerfall Tools for Unity Features page has also had a major facelift. Check it out!
As part of the 1.3 release, I will be refreshing all existing tutorials and writing some new ones to round everything out.
The manual has now been retired and rolled into a brand new tutorial called Getting Started which covers the extreme basics of setting up a new project. This will be the new starting point for any Basic and Intermediate tutorials. I was covering a lot of the same ground at the beginning of each tutorial, and from now on I can just reference beginners to the Getting Started tutorial instead of repeating steps. Follow-on tutorials will be a bit leaner as a result.
Following is a list of the tutorials coming online for 1.3 release. Links will be added as each tutorial becomes ready.
Basic Series 1.3
Intermediate Series 1.3
- Streaming World (expanded)
- Distributing Builds
Advanced Series 1.3
- Using Events
The above will keep me busy for a few weeks. If you think a tutorial is missing from the lineup just let me know. Depending on complexity, I can add it to the lineup now or some time after 1.3 launches.
Also please let me know of any problems you find with the documents.