Back To Work 2017

Hey everyone, belated happy new year for 2017!

I’m back to work after taking a few weeks off. Now things have settled down, I’m also back to working on Daggerfall Unity’s quest system. You can expect a blog post for part 3 of this series soon.

Quests are the beating heart of Daggerfall, everything from the tutorial to vengeance! are powered by quests, and this will be my main focus in 2017 until things are working well enough to move onto spells and effects. With a bit of help from others this will come together at a reasonable speed. Just to manage expectations, you won’t see a fully-formed quest system arise out of nothing – things will continue to be built in small stages. But barring any major setbacks, you should be able to launch quests for testing with the quest debugger by March-ish. I can’t promise every part of quests will operate (in fact, I guarantee it won’t) but it should be enough for testers to sink their teeth into and iterative development will continue from there.

Speaking of help, I’m also looking forward to seeing what contributors and modders do in 2017. I think last quarter saw the most number of new contributors since Daggerfall Unity began in August 2015. This is really exciting for me because it confirms opening source from the beginning was the right choice. There will probably come a point where the project will be taken further by others (and probably faster) than I could take it by myself. If things keep heading the way they did in 2016, this should be a big year for Daggerfall Unity.

 

December 2016 Test Build

Hello everyone! This will be my last post for 2016. It’s been a great year for Daggerfall Unity with solid updates across the board. I was hoping to have basic quest support in by now, but sadly not everything goes to plan. This will return as a priority early in 2017 so watch this space!

One thing that always amazes me is the quality of work this community is willing to put back into Daggerfall Unity. It’s always a pleasure to find a new pull request on git from someone willing to contribute their personal time to make this project even better. So this post is going to focus almost exclusively on contributions from community members. It’s time for kudos and credits all around, and you’ll see very little of me this post.

 

Texture & Mesh Replacement

This feature began with Uncanny_Valley and has lately been updated and maintained by TheLacus. It allows for runtime injection of new textures and meshes into Daggerfall Unity’s scene builders, setting the stage for updated models, higher resolution materials, and improvements to Daggerfall’s vanilla UI. It’s still early days but the potential is incredible. Here’s a few screenshots of new assets by community members.

 

At time of writing, mesh and texture replacements aren’t quite ready for download. But now support for this is baked into the core, you should start seeing community-created packs in the near future. You can read more about mesh and texture replacement in this thread on the forums.

 

Early Bow Combat

New contributor electrorobobody added basic bow combat to the lineup of supported weapon animation. No counting arrows yet, and you’ll need to roll a new character for your free silver bow, but it’s awesome to finally burn down enemies with ranged kiting. Looking forward to bows becoming a strong part of the game in future.

 

Save & Load Weather

Daggerfall Unity added basic weather events a while back, but they would not be saved and loaded with your games. Thanks to midopa, the current state of weather will be saved and loaded. This will only get better once correct weather events are wired up based on climate and season.

 

Enemy Steering

Another epic update by midopa. He added a little steering to enemy AI to prevent enemies from stacking on top of small creatures like rats. As hilarious as this problem could be, it’s good to see a workable solution for this bug. It’s still possible for enemies to slightly stack in edge cases, but the problem is much improved and they will no longer ride around on each other (imagine skeletons surfing rats and rat-rat-rat stacks).

 

Potion Recipes

The perennial InconsolableCellist returned with some amazing updates for us. Credit goes completely to him for working out potion recipe format and integrating with Daggerfall Unity. This also means potion recipes will display properly in inventory, and they’re even usable to see the individual ingredients. This is really important ground-work for a bunch of other things down the line.

 

Books

I wrote the initial book reader UI ages ago, but InconsolableCellist wrapped it up along with random book drops in loot, correct tooltips, and all-round awesomeness. Books currently exhibit the same formatting problems as classic (because it’s the same book data). That’s something yet to be fixed.

 

Exterior Automap

Nystul has done it again with the perfect companion UI to his dungeon and interior automap. Yep, exterior automaps are now a thing! It even supports proper tagging of buildings, zoom, and rotation. As always, I’m completely blown away by how complete this is right from the start. It’s still waiting on full building name integration and building identification in scene, but that will come. For now, all the buildings are tagged by type. Go explore!

 

Spotlight: Allofich

I can’t give Allofich high enough praise. He has worked incredibly hard tuning up different areas of Daggerfall Unity to make it more true to the original. He fixed a wide range of UI problems, identified sound effects, linked sounds to their correct actions, fixed clothing and item problems, and so on. Check out his full list of commits here. It’s hard to show these off properly in screenshot form because the changes are either subtle improvements or related to audio, but below is one of the UIs he has cleaned up. Note the poor texture joins in the “before” image (circled). Huge props to Allofich for his work!

 

Thanks To: AnKor

OK this is embarrassing. I was looking everywhere for the animations used when player was riding horse or cart. These turned out to be in the overlooked CFA image file format. Somehow, I had completely disregarded these files which are a format holdover from Arena. Yep, I’m only human. Fortunately, AnKor pointed this out on the forums and I was able to implement CFA support in no time. Now we have this:


It’s only a short jump from here to having these transport options in the game.

 

Thanks To: Testers

I also want to send out a huge thanks to all the amazing people who tested Daggerfall Unity in 2016 and reported the bugs and problems you found. There are simply too many people to list, but you know who you are. You’re on the forums, and Twitter, and Reddit, and sending me emails. You guys rock!

 

Bugs and Problems

Yep, we got ’em! Any large update like this will bring its fair share of new bugs. If you come across a bug during tests and would like to report it, please lodge this in the Bug Reports forum. Don’t forget to read the Guidelines to help you provide the best information to developers.

Contributors, please keep an eye on the Bug Reports forum for anything that might fall into your wheelhouse.

 

Where To Download?

You can always download the latest version of Daggerfall Unity from the Live Builds page. If this is your first time downloading Daggerfall Unity, welcome! Other information on Live Builds page should also help you get started. If you have any troubles, or just want to discuss updates, please go to the December 2016 Test Builds Updated thread on forums.

 

That’s it for 2016! Thank you everyone for visiting and all your kind words of support. Here’s wishing you all a very Merry Christmas and Happy New Year, and all the best for 2017!

 

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

Standalone Builds Update

After launching Live Builds a week ago, I’ve been very happy with the ability to push out small incremental changes. Besides the streamlined build process and less of a wait time, it also means I’m not overwhelmed with bugs every release. I can now tackle large problems fast and keep track of smaller problems for when I have the time.

This ability to turnaround builds so quickly has lead me to rethink the standalone builds (for now) and continue with the leaner, more agile cloud build process. I will revisit the standalone builds later in Daggerfall Unity’s life cycle. Here’s a summary of how to get Daggerfall Unity moving forwards:

  • GitHub always has the most recent code for developers.
  • The Live Builds page always has the most recent builds, and links for getting Daggerfall.
  • I will start to tag specific live builds as “Stable”. This means that everything implemented so far is generally working as expected.
  • I will restore the Daggerfall Tools for Unity pages as soon as possible, including updated tutorials.

If you were waiting for the convenience of a standalone build, I apologise for changing my plans. Daggerfall Unity is very much a living thing, both in terms of development and community, and can take up a large amount of my personal time. Anything that saves me time I can put back into gameplay, or spend with my family, is extremely valuable to me.

The good news is that pointing Daggerfall Unity to your game files has never been easier. The setup helper introduced with version 0.2 makes it very easy to get up and running, and you only need to download the game files once.

The first 0.3 stable build will be tagged soon. Lootable monsters just went into the latest live build and is with testers now. I only have the Rest and Keybind UIs to go and I’ve hit all the feature milestones planned for this release.

Live Builds Now Available

live-builds-header

Get Up To Date

Live builds based on latest code are now available to testers, as described in this blog post.

Check the forum topic State of 0.3 for information on 0.3 at time of writing.

 

Get The Latest Test Build

You can download latest builds from the all new Live Builds page.

 

Provide Feedback

Use the Bug Reports forum to log bugs. Please read the Bug Report Guidelines topic first.

 

Stable Builds

The latest stable build is still version 0.2.9 from 09-Apr-16. This version will be updated to 0.3.x in a few weeks once the majority of bugs have been found and eliminated.

Quick Update – 1 August

Short Delay

The 0.3 test cycle has been delayed slightly due to changing from Unity 5.3 to Unity 5.4 and less than typical free time on my end. Things are back on track for now and I estimate first 0.3 test build should be ready in approximately 7-10 days. I will update you in the case of any further delays.

 

More Information On Test Builds

I’ve had a few queries via email and Twitter about how test builds will work from 0.3. I’ll try to clarify this now. If you need more details please don’t hesitate to ask.

The short answer is that not much is really changing from your side. If you’ve tested with 0.2 or earlier the process for you is basically the same. The key difference is how builds are generated and how frequently I’m able to put a new build into your hands.

In 0.2 and earlier, I had to manually create a build for each platform, package to a zip file, upload to my host, then configure new download in WordPress and update related pages. This isn’t difficult, but it can be time consuming when rapidly turning over bugs. In many cases a bug could be fixed much faster than I could work through the manual build process. So I tended not to generate new builds until a larger block of work was completed. This ultimately means you had to wait weeks or a even a few months to see fixes.

 

Automatic Cloud Builds

Enter Unity Cloud Build. This service allows me to setup an automated build process for Daggerfall Unity’s target platforms. Cloud build works by periodically checking the git repository for changes and automatically spits out a complete new build for each platform. The download is also hosted by the cloud build servers. All I have to do is share the build and give you a download link. Here’s how it looks from the back-end:

CloudBuild-BackEnd

 

One a build is ready, I can either download a zip to test for myself, or share out a link to the public. The public link is what I’ll give to you, which takes you to a page like below. This is your front-end to the cloud build process.

CloudBuild-FrontEnd

 

To make this process even easier for you, I will setup a permalink page from dfworkshop.net that always points to the latest shared builds. I plan to update this page frequently. If the code on git changes, you’ll have a new test build not long afterwards. More information for this will be available with 0.3.

 

Rolling Builds

This is where things get interesting. Instead of waiting months for next test cycle, testers will now have a direct pipeline to code updates as they are generated. If you’ve ever played an Early Access game on Steam that gives you an “experimental/unstable” option for rapid updates, my rolling test builds are fundamentally the same concept. You will now get to play with new code as it’s being developed.

The main downside to this style of rolling build is that you will be playing with live code. Usually things will work as expected, but sometimes things that were working will break. For example, quicksave was briefly broken while I was overhauling the save interface a few weeks back.

The key is for testers to understand what is a bug and what might just be broken because it’s in the middle of changes.

 

Watching Git

To this end, I highly recommend testers keep an eye on the commits page on git. These commits tell a story of what is being worked on and what has been recently fixed. If you see that I’m working on a big system (like saves or looting), then you can bet something will be broken in that system until work is complete. I try to keep my commits exclusive to a specific update and provide good descriptions. I’ll continue to work on improving the quality of my checkins as time goes on.

 

Providing Feedback

As before, the Daggerfall Workshop Forums are the correct place to log bugs or ask questions about a feature. Specifically the Issues & Support forum. If you aren’t sure if a feature has been implemented yet (e.g. quests), please ask before logging the absence of this feature as a bug. Daggerfall Unity is a live work in progress and some features are much further down the pipeline than others.

At every major milestone, I will post some information on things that need the most attention from testers. For example, the loot and inventory system was the major component of 0.2.

 

Stable Builds

If you don’t feel up to watching git, downloading test builds, testing features, and providing feedback – that’s OK! I will occasionally release a “stable build” at major milestones where everything is more or less running as expected. Not everyone has the time or interest to be a full-on tester, and that’s all good. Just grab the stable builds when they’re available and let people know about Daggerfall Unity.

The first 0.3 stable build will be available a couple of weeks after the first test build. This gives me a chance to nail any show-stopping bugs before putting the stable build into your hands. I’ll post an update on this when available.

 

Conclusion

I hope that clarifies the new build process more thoroughly. In summary:

  • You’ll get new builds almost as quickly as code changes. The latest build might be awesome or it might not even run.
  • I will provide a permalink page on dfworkshop.net that always points to latest several builds.
  • Keep an eye on git commits to see what’s being worked on.
  • Post feedback, bug reports, and questions to the Issues & Support forum.

Thank you for reading. I look forward to you joining me for the next big step in Daggerfall Unity’s development process.

 

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

New Options For Downloading Builds

The 0.3 release should be wrapped up in the next week or so, provided nothing comes up in testing to cause delays. Along with 0.3 there will be more options for downloading builds to better cater to various groups in the community. Read on to see what’s coming up.

 

 

get-play

 

If you just want to take a quick look at Daggerfall Unity, and avoid the hassles of a test setup, then 0.3 might encourage you to try it out.

  • New standalone builds will be made available for each platform (Windows/Mac/Linux).
  • Standalone builds are self contained and do not require you to provide Daggerfall game files.
  • Standalone builds will be updated less frequently but will generally be more stable.

 

 

get-test

 

If you’re an existing tester, or would like to help catch bugs, then I have some good news.

  • Test builds are now automated using Unity Cloud build and will be updated approximately weekly, or daily during heavy development.
  • However, test builds are based on live code and will not be as stable as standalone builds.
  • Test builds are cut-down for smallest download and will require you to provide your own Daggerfall game files (just like previous test builds).

 

 

get-mod

 

The biggest feature in 0.3 is Lypyl’s mod system, which he introduced a few posts back. The mod system allows you create asset bundles containing code, textures, sound, etc. that can change how Daggerfall Unity works.

  • Modders will need a copy of Unity3D 5.3 Personal/Plus/Pro and a copy of game files.
  • Modders are encouraged to clone from git (tutorial coming soon), but just downloading a zip of current project should be adequate.
  • New forum areas will be opened to help modders find each other and collaborate on projects.

 

 

get-contribute

 

If you would like to contribute to Daggerfall Unity, and have a good understanding of both Daggerfall’s inner workings and Unity3D, it will become easier to contribute from 0.3.

  • Full Daggerfall Unity project is now on git. Contributors should create their own fork of project.
  • Contributors will need a copy of Unity3D 5.3 Personal/Plus/Pro and a copy of game files.
  • Contributors will also get new forum areas for discussion.
  • A Trello page is in the works to help contributors find tasks they may be able to help with.

 

That all for now. Hopefully 0.3 will represent a new stage in the development of Daggerfall Unity, with even more options for gamers, testers, modders, and contributors.

 

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