Daggerfall Unity July 2018

New Builds For July 2018

These are the first round of public builds after upgrading to Unity 2018. There are some general changes in these builds related to updated engine version you should be aware of.

  • Some mods might not work under new builds. Check the Released Mods forum for an update and please let the creator know if any problems running their mod in latest version.
  • Enhanced Sky is probably the main mod known not to work with this new version. You will just see a pink background instead of the sky. Nystul is currently working on an update for Enhanced Sky compatible with latest version of the game.
  • For Windows users, the “output_log.txt” file is now in your persistent data path (same place as settings.ini and save games). Please refer to this link to find where your Player log is saved based on OS. The included manual still needs to be updated with this information.
  • For Windows users, you will also see a couple of new files “UnityPlayer.dll” and “UnityCrashHandler32/64.exe”. You can ignore these and just run “DaggerfallUnity.exe” as normal.

What’s New

Besides the update to Unity 2018 for builds, there are some new features and bug fixes.

  • Improved near death experience (MeteoricDragon) – Introduces a subtle pulsing warning when player is at extremely low health. Can disable from Advanced settings at startup.
  • Magic Item & Potion Maker crafting stations in progress (Hazelnut) – Work has started on these crafting stations and the general UI is now available. They are not yet completed and currently cannot produce magic items or potions.
  • NPCs no longer stop when player’s weapon is drawn (MeteoricDragon).
  • Reputation propagation is now implemented (Allofich/Hazelnut). This means when you complete quests for certain reputation groups, your reputation gains/losses will influence related groups as per classic.
  • Sorcerers no longer regen spell points, just like classic – recharge now available at Mages Guild (MeteoricDragon).
  • Fixes for enhanced scroll list bugs (Hazelnut).
  • Fixes for sound effects not respecting global sound effect volume (MeteoricDragon).
  • Discovered locations are now imported from classic saves (Allofich).
  • Console command “add [item] [qty]” now supports “add gold [qty]” For example, “add gold 1000” will give player 1000 gold pieces.
  • Console command “reset_assets” will clear mesh and texture caches and refresh scene by performing an in-place quicksave then quickload. This uses the “QuickLoad” slot, so make another save if you don’t want to overwrite this slot.
  • Console command “setmqstage 1” no longer forces player level 1. You can now use this command to restart main quest at any level. Caution this will also reset reputations and global variables.
  • Bug fix for travel map opening map IMG files in read-write mode. This would cause a black screen when opening travel map on some systems depending where game files were stored. Changed this to use read-only mode as intended.

If you’re on the forums, you can discuss this release in this forum thread.

 

For more frequent updates on Daggerfall Unity, follow me on Twitter @gav_clayton.

Get Ready For Diseases

Unlike later games in the series, diseases in Daggerfall are more than a mere annoyance. They mean serious business and could spell a permanent end to your adventures if left untreated. Diseases will sap your attributes to nothing and even kill you in a matter of days if you don’t manage to get cured.

So good news everyone! Starting with latest Live Builds you can become infected with diseases in Daggerfall Unity thanks to dirty creatures like bats, rats, and mummies.

Diseases actually began development a while back. Most of the research and back-end framework was built out by two rockstar contributors you should already be familiar with: Allofich and Hazelnut. Diseases have just been waiting for me to implement effect system to handle their payload and support their curing by spell effects. This is another great example of a successful collaborative effort for Daggerfall Unity.

Rather than roll out a dry article about implementation details, I’ve decided to use the Visual Diary format to tell a bit of a story and show all the different parts of the disease system in the context of normal play. I’ve decided to create a fictional day in the life of your average character to show how he might catch a disease and find his way to a cure. This is also great opportunity to show just how far gameplay has come, as everything that follows is something that could play out in Daggerfall Unity right now.

Let’s begin.

 

Continue reading

Updated Builds May 2018

A new round of 0.5 builds are available from Live Builds page. Here’s an overview of what has changed in this version.

New Features

  • Spellmaker now shows gold and spell costs. Spells will remain free to buy and cast for testing purposes.
  • Casting spells now deducts spell points from player, but can continue to cast spells at 0 spell points for testing purposes.
  • Crime & Punishment updates with more work on Court UI in progress (Allofich).
  • Implemented Drain Attribute, Paralyze, Levitate effects. Check these Twitter links for short videos of Paralyze and and Levitate in action.
  • Started work on Heal Attribute effects and resistance back-end. Currently only Heal Strength is available, will build more soon.
  • Can now open spell book from character summary UI.
  • Using smaller SoundFont “TimGM6mb.sf2” by default to reduce distribution size.
  • Can now use custom SoundFont by placing .sf2 file in StreamingAssets/SoundFonts and setting SoundFont=filename.sf2 in settings.ini.
  • Active spell effects are now saved/loaded.
  • Allow mods to save/load data (TheLacus).
  • Updated player headbob, smooth crouch, and other movement mechanics (MeteoricDragon).
  • Implement town NPC dialog to include “Where Is > Person” queries (Nystul).
  • Implement spell icons for active spells. Includes tooltips while game is paused.
  • Updates to ensure default materials always have glossiness 0 and metallic 0 and alpha channel available. This is groundwork for using later Unity versions.
  • Attacking civilians with offensive spells is now considered assault. Killing civilians with offensive spells is considered murder.

Bug Fixes

  • Fix bug with loose file asset injection (TheLacus).
  • Fix bug where player could not delete spells from spell book.
  • Fixes for enemy turning (Allofich).
  • Fix mobile NPCs “skating sideways”. Still some mobile NPC pop-in to resolve.
  • Fix guild membership lost after loading a game (Hazelnut).
  • Fix weather manager causing a crash after loading interior save, and preventing future saves.
  • Fix enemies shooting bow too much (Allofich).
  • Fix %god macro causing a crash in popup dialog. This would become evident when player could not complete quest or rest after bug occurred.
  • Fix certain quest NPC placement tracking to support dialog system.
  • Fix certain town quests starting and ending instantly due to travel time not being calculated (merchant and commoner quests are still in progress).
  • Fix bug where player could melee attack at bow range after changing hands from a bow attack.
  • Fix travel map border not disabling when zooming in.
  • Minor quest fixes.

 

For more frequent updates on Daggerfall Unity, follow me on Twitter @gav_clayton.

First Look At Spells

I recently demonstrated spell missiles and discussed the back-end framework driving magical effects in Daggerfall Unity. I’m happy to report that it’s now possible to create custom spells and hurl sparkling death at your foes! As my last article was a bit dry and technical, I’ll start this one off with a short video of spells in action.

 

New Builds

You’ll find all new test builds on the Live Builds page as usual. Here are the key features of this release.

  • Create custom spells in the Spellmaker UI (invoke using “showspellmaker” from console).
  • Spellbook UI where custom spells are saved with your character.
  • 3x magic effects are currently available for testing:
  •     Continuous Damage Health (a damage over time effect).
  •     Damage Health (a direct damage effect).
  •     Heal Health (heal yourself and other entities).
  • All elements and target types are available (as appropriate for effect) when creating spells.
  • Smooth crouching, head bobbing, and head rocking when damaged (Meteoric Dragon).
  • Sound and music volume sliders (in progress). Some effects not wired up to volume slider yet (Meteoric Dragon).
  • City Guards and crime tracking, starting work on Crime & Punishment (Allofich).
  • More mod support in the back-end (TheLacus).
  • Various small bug fixes and improvements.

While only 3x effects are available at this time, this doesn’t nearly do justice to the progress that has been made. Spell effects are actually very small scripts – usually no more than a few lines of code and some properties. What really matters is the framework driving magic in Daggerfall Unity has finally progressed to this point. The previous article has more on this if you’re interested.

 

Testing

The purpose of these builds is to test the magic & effects framework is well-behaved and usable in its current state. What I’m looking for are crashes and other unexpected behaviour in the framework. Once this is working well, I will continue to roll out more effects in future builds. To keep testing as focused as possible, here’s a summary of what you can expect from this release.

  • Create and cast spells using the starting 3x test effects above.
  • There is no spell absorption, reflection, or elemental resistance at this time.
  • You can select elements to change appearance of spell and missile, but all elements are equal in terms of damage.
  • All target types (caster, touch, target at range, etc.) should be working.
  • Spells do not yet increase related magic skills of character.
  • Spells are all currently free to buy and to cast – so make them as weak or powerful as you like.
  • All of these free spells will be expired at some point closer to 0.5 stable.
  • Magic items are not implemented yet, this will come much later in 0.5 cycle.

Note: Due to changes in the modding system older mods may not work in this version. Please revert to build #105 for any broken mods until creators update for current version.

 

Feedback

For discussion on these builds, please head over to the forums. If you want to report a bug, post this to the Bug Reports forums. If you’re not sure if something is a bug or just not implemented, don’t hesitate to ask in Help & Support.

I hope you enjoy this early preview of spells in Daggerfall Unity. Have fun!

 

For more frequent updates on Daggerfall Unity, follow me on Twitter @gav_clayton.

Magic & Effects Back-End

In my previous article, I showed progress on the visual side of spell-slinging and had lots of fun with casting animations and throwing around missiles with lighting effects. Now I have to regard the business end of the spell system and how all of this holds together under the hood. This article will be a lot more tech-oriented than my previous one, but may still be of interest if you’re curious about how spells will operate in Dagerfall Unity.

Please keep in mind this is all under active development so concepts discussed here are likely to be refined or expanded by the time everything rolls out.

 

Magic & Effects System

One major shift in this process was changing how I think about the spell system. I have a long list of goals I want to achieve during this stage of development, above and beyond just emulating Daggerfall’s classic roster of spells. Primarily, I want to create a central way of handling the majority of effect-based gameplay. This means advantages/disadvantages, diseases, poisons, spells, magic items, potions, and so on should all come together under the one system or group of related systems. Once I had made that decision, it no longer made sense to call it the “Spell System” as spells are just one part of the collective. So the Magic & Effects System was born.

This is why you won’t see the word “spell” very much moving forward but you will see the word “effect” a lot. In this context an effect isn’t something visual, it’s how something works. For example, an effect that heals the player is a script which increases their current health. This naming is taken from Daggerfall itself where spells and magic items reference effects directly using a type and sub-type.  You can read more about classic Daggerfall’s spells and their effect indices on this UESP page.

You will also see the term effect used by Daggerfall’s Spell Maker UI when creating a new spell. You can add up to three effects per spell as shown in screenshot below from classic Daggerfall (spell maker is not yet implemented in Daggerfall Unity).

 

Continue reading

Spells: Front-End Graphics

It’s finally time for spells to get the treatment and become a regular feature in Daggerfall Unity. I have decided to approach this feature-set in a more visual way than I did the quest system, which involved several months of back-end work before I could even show a single screenshot. This time around, I want the process to follow the visual diary approach from day one to make it more interesting to watch things unfold. This also helps me stay motivated as it’s a lot more fun to hurl around glowing balls of magical death than build a runtime compiler for the quest system.

There will be some more code-oriented articles later in the series, but for now let’s take a look at the front-end graphics of spell-casting animations and missiles.

 

Setup

Before I can do anything else, I have to implement the basic cast/recast loop. Thanks to Lypyl, a baseline spellbook interface is already in the game. It doesn’t have any actual spells yet, just some temp line items, but that’s all we need right now.

I wired up the spellbook to the “cast” key (default is Backspace) so player can select a spell from their collection. It doesn’t matter which “spell” you choose at this point. Just double-click any item to let the game know you’ve selected something.

Continue reading