Tutorial – Cloning from GitHub

If you’re interested in developing mods or contributing to Daggerfall Unity, you’ll first need to clone the project from GitHub. This light tutorial goes through the basic process of cloning Daggerfall Unity using GitHub for Desktop and opening with a fresh Unity install. There are many other ways to clone from git, but this is probably the simplest if you’re new to Unity or open source repositories.

After cloning the project, I go for a quick run through Privateer’s Hold to check everything is working normally.

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.