Updated Builds June 2018

Discuss Daggerfall Workshop news articles.
User avatar
Posts: 5532
Joined: Sun Mar 22, 2015 1:51 am

Updated Builds June 2018

Post by Interkarma » Sun Jun 03, 2018 5:42 am


New builds are available on Live Builds now.

For the next couple of weeks, I'm dropping work on magic & effect system to iron out several bugs and improve the play experience for users. Major focus will be on improving overall stability of quest system.

These builds are tagged Experimental due to the large number of changes happening this month. While you should always expect general bugs and problems during pre-alpha development, these changes are dramatic enough that I felt some extra warning was required.

Please play these builds normally and report bugs as usual. But you might want to take the precaution of starting a new save for these builds in case you need to roll back to an older version to continue your character.

What's New

Daggerfall Unity's floating origin support now works for all spatial dimensions. This has already been highly tested and should be fully backwards compatible with old saves and have no serious impact on gameplay. The purpose of this change was to pave the wave for environments with greater verticality in future.

UI Rendering
The user interface is now rendered to an offscreen RenderTexture before presentation to player. The end result should look and feel just like the previous setup. The purpose of this change is to help support a Vive VR mod currently under development by InconsolableCellist. Future improvements to this system will allow for UI components to render to any in-world object with multiple UI stacks.

Quest Logging
The quest system now has its own dedicated log file. You will find this as quest_log.txt in your PersistentDataPath (see manual). This log stores information specific to the quest system and nothing else.

Quest Stability Fixes
Certain quests (mainly commoner/merchant quests) could destabilise other systems due to exceptions thrown in back-end. This might be evidenced by not being able to recover health while resting, sudden performance drops, or the Talk UI sticking on the screen as the player moved around.

The quest engine now has improved exception handling along with improved checks for bad data (null references, etc.). This process is still ongoing, but you should find quests are much less likely to cause problems now.

If a quest successfully compiles but throws an exception at runtime (i.e. something went wrong) the quest is now terminated immediately and the exception is logged to the quest log. This will help prevent problems like not being able to recover health because a quest is crashing the game loop.

I have also restored messages like "you're too late, I gave the job to some spellsword" when a quest cannot compile for some reason (such as location has no matching building types). This was actually one of the more common crashes we were experiencing before.

Quest Travel Time
Quests now take all Place resources into account when calculating automatic travel time for a quest. Previously only the first target Place resource was calculated. This would frequently result in quests with impossible deadlines. This change should make the deadline always achievable, but may be overly generous in some cases. This will continue to be tuned over time.

NPC Home Locations
All Person resources will now automatically generate a full Place resource as their home location. This has been done to support the currently unimplemented "create npc" action which should assign an NPC automatically to their home. Previously the home information for an NPC was only used for flavour text. This change is backwards compatible from a code point of view, but any quests compiled prior to these builds might need to be ended from console or travel around until the expire out normally.

Please note that "create npc" is still not fully implemented in these builds. It will only log intention then end. I want to make sure I haven't broken anything else with this change before proceeding.

Unity Upgrade
On June 15, I will be upgrading the version of Unity used to build the game from latest 5.5.x to latest 2018.1.x. The minimum developer version on GitHub will be set to Unity 2018.1.2f1. The purpose of this change is to improve overall performance and take advantage of features in new versions of Unity.

Any .dfmod asset bundles might need to be rebuilt after this change, especially if using custom materials and shaders. Script-only mods will probably be fine.

Unfortunately this change will break a very popular mod: Enhanced Sky by Lypyl. As Lypyl has not been active for a while and we don't have current source to his mod, this has become a blocking issue for the mod to continue working as-is. However, we do have older source for this mod, so if Lypyl does not return and update Enhanced Sky, someone should be able to reconstruct most of the mods function from the older version.

User avatar
King of Worms
Posts: 3201
Joined: Mon Oct 17, 2016 11:18 pm
Location: Scourg Barrow (CZ)

Re: Updated Builds June 2018

Post by King of Worms » Thu Jun 07, 2018 5:38 pm

Very nice news, Im looking forward!

User avatar
Posts: 5532
Joined: Sun Mar 22, 2015 1:51 am

Re: Updated Builds June 2018

Post by Interkarma » Fri Jun 08, 2018 7:15 am

New Live Builds are up now. This is mainly a bug-fix release with the following changes:
  • Several classic quest action fixes in quest machine.
  • Fix crash introduced in #119 when loading a save game with quests active.
  • Fix dungeon swimming triggering outside under certain conditions.
  • Increase quest machine timer resolution when resting. This allows certain quest actions to fire in time.
  • Rest is now broken reliably when an enemy spawns nearby from quest or random spawn.
  • Fixed clicking locations on Betony travel map at both zoom levels. Also fixed crosshair placement.
  • Fixed input fall-through when closing UI (e.g. clicking exit on talk and the click also registering on same NPC behind exit button, opening up talk UI again).
  • Fix %spt and %spc macros swapped around.
  • Fix to spell point accounting for instant cast spells.
  • Fix unintentional falling damage when exiting a dungeon.
  • Fix to ladder top/bottom marker selection when clicking an indoor ladder.
  • "start quest" now supports loading from quest packs. (Hazelnut)
  • Some overridable formulas for mod support. (Hazelnut)
My experiences with testing classic quests over the last week has been substantially more stable and I've experienced no issues with other major changes. Provided no serious problems after Unity 2018.1.2f1 upgrade, I will drop "Experimental" status on these builds and go back to working on magic & effects.

Until then, I will keep performing bug-fix and polishing across the quest system and other parts of the game.

User avatar
Posts: 2216
Joined: Sat Aug 26, 2017 2:46 pm

Re: Updated Builds June 2018

Post by Hazelnut » Fri Jun 08, 2018 8:50 am

Brilliant progress! I am looking forward to moving to up to date Unity.
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

User avatar
Posts: 5532
Joined: Sun Mar 22, 2015 1:51 am

Re: Updated Builds June 2018

Post by Interkarma » Fri Jun 08, 2018 9:21 am

Thank you Hazelnut! :) I appreciate the stuff you added the last week as well.

I'm also very much looking forward to that Unity 2018 upgrade. I've been planning this one since about February and it's exciting to finally be imminent.

CM August
Posts: 86
Joined: Fri Jul 14, 2017 11:11 am

Re: Updated Builds June 2018

Post by CM August » Fri Jun 08, 2018 12:30 pm

Thanks a ton for your ongoing fixes!

User avatar
Posts: 3277
Joined: Tue Aug 25, 2015 1:54 am

Re: Updated Builds June 2018

Post by Jay_H » Fri Jun 08, 2018 12:38 pm

Great! I'm sorry I can't contribute more quest bug reports during this time you're dedicated to it. I'm happy for the progress you've made though.
Come join Lysandus' Tomb, a Daggerfall Unity fan Discord.
In-progress guide for Quest Pack 1 here.

User avatar
Posts: 141
Joined: Mon Feb 12, 2018 8:23 pm

Re: Updated Builds June 2018

Post by MeteoricDragon » Mon Jun 25, 2018 8:29 pm

Are there any features (other than overall performance) from the upgrade to 2018.1.2f1 that DFU is now using or are planned to be used in the future?

User avatar
Posts: 5532
Joined: Sun Mar 22, 2015 1:51 am

Re: Updated Builds June 2018

Post by Interkarma » Mon Jun 25, 2018 9:18 pm

I don't have anything specific in mind for the core, although I believe a few of the graphically-inclined mod creators (e.g. TheLacus & Nystul) were waiting on the upgrade for certain features not available in Unity 5.5.

User avatar
Posts: 1428
Joined: Mon Mar 23, 2015 8:31 am

Re: Updated Builds June 2018

Post by Nystul » Tue Jun 26, 2018 8:42 am

I want to take a look at the job system to see if we can get better performance.

Post Reply