1. WolfQuest: Anniversary Edition
  2. News

WolfQuest: Anniversary Edition News

Buzza's Banjo Pups for the Saga

In the upcoming WolfQuest Saga,* pups will keep growing -- changing from cute little furballs into enthusiastic, awkward teenagers who must plunge in and learn how to hunt the hard way. These older pups needed some new music tracks that captured their gangly charm -- and today's devblog look at how WolfQuest composer Tim Buzza approached this challenge. Tim's music has been at the heart of WolfQuest since the very beginning, and we're delighted with what he came up with for these new tracks. Enjoy this peek into his creative process!

[previewyoutube][/previewyoutube]

* The upcoming WolfQuest Saga is "the rest of the game." Your pups will continue to grow into the fall and beyond, learning to hunt under your supervision, and then becoming yearlings when next year's pups are born. Time will continue progressing through the years until you die. The Saga is currently in development but we do not have a release date for it.
___________________

The WolfQuest saga will continue! Stay tuned for more news in upcoming devblogs about it and other new features!

We do not announce specific release dates. We will release them when they are ready.

A New IK System

Longtime WolfQuest players (or at least, longtime followers of this devblog) may remember the trouble we had getting the wolf's IK system to work well. IK (Inverse Kinematics) refers to the mechanics of a chain of objects, such as bones and joints in a leg or arm, and how their positions are calculated when interacting with other objects. One of our challenging tasks in the development of the Anniversary Edition was creating an IK system for wolves, so they would interact more naturally with their environment — both the ground and other objects such as elk who were fleeing for their lives from the wolves.

[previewyoutube][/previewyoutube]

Inverse Kinematics is hard -- and Inverse Kinematics for quadrupeds is really hard. So we decided to use a software plugin called Final IK, which is considered the very best IK system available for Unity. It was designed for bipeds, but the FinalIK developer added some modifications for quadrupeds, so it worked well to some degree but by no means in all the ways we wanted it to work. But it sufficed.

Since then, Mikko joined the WolfQuest team, and after focusing mainly on multiplayer for several years, he was available and interested in a new challenge, so he took on the challenge of creating a custom quadruped IK system. I asked him to explain the process:

Mikko says:

The original motivation for the new IK system was to avoiding 'space legs' (where the wolf stood perpendicular to the slope, like walking around the exterior of a spaceship). FinalIK's quadrupedal grounder is just two bipedal grounders glued together and it can't handle the pose modifications necessary for making a quadrupedal animal behave sensibly on slopes. I also had improvements to bite IK in mind, given all the trouble we had with it in FinalIK — particularly how forelegs were often not positioned sensibly. I don't recall if a simpler interface was one of my original goals, but it's certainly become apparent as a benefit along the way. FinalIK is comprised of many separate IK components (we used fullbody IK, look at IK, grounder IK and aim IK) which partially affected the same bones. This not only necessitated assigning references at multiple places but also made it hard to reason about which part or parameter of it was responsible for what aspects of the overall pose. Something that definitely came up during implementation was tail IK. Without space legs, the tail pose on slopes was obviously wrong so I had to do something about it. Fortunately it was pretty simple, probably the simplest part in all this.

Some of the biggest and so far unresolved challenges are related to some advanced features. I've had to shelve a lot of code because it was taking too long and I wanted to get the basic features done first. But it may be better to concentrate on ones pertaining to currently present features. One challenge has been dealing with all the different animations with different features. I've identified five kinds of foot motions which have meaningful differences (stationary, sliding, gait, acyclic and airborne). Then there's root motion (animation making the animal actually move) which required some additional work. I can't make many assumptions about how different bones are positioned, so the IK has to be flexible and deduce a bunch of parameters from the state of bones after animation is applied. Another challenge is detecting at which points during a gait the animal's feet touch the ground. Again I can't assume anything about foot height or velocity during the step, so I need to analyze the animation frames in a generic way. There are at least some cases currently where grounding is detected incorrectly and I need to improve it at some point. Lack of animation is also its own challenge. If no animation is playing, nothing will reset the positions of the bones between frames. Since the IK has to take cues from the animation, there's a risk that without an animation a feedback loop will form when it instead acts on its own result from the previous frame.

Bite IK is the most complex type of IK in use here and it took a while to arrive at a good algorithm for it. I first tried some general-purpose algorithms, but they tended to have the problem of making the wolf's spine look either stretched out or scrunched up. I wanted to retain the feel of the spine's shape from the animation. Eventually I came up with a custom solution which bends the spine in a couple of different ways and has some tweakable parameters to fine-tune the appearance. Avoiding "space legs" relies on the animal being in an upright orientation when the IK begins its work. In the initial integration I did this by adjusting the orientation of the model's root transform (it's like a base to which the entire model is attached). However it turned out that when a root motion animation wants to move the animal, it uses this same transform and the conflict caused some badness. I had to refactor the IK so that instead of rotating the base of the model it instead grabs the spine and rotates that to being the animal to an upright orientation before further processing. When doing this kind of work it's important to understand how the various positions and directions relate to each other. Numbers in the inspector may have the correct information but they're hard to grasp intuitively. To make it easier for myself to see what the IK is doing, I've added various debug graphics. The orange line is the spine before any IK is applied. Yellow lines show the positions of bones after the overall orientation has been adjusted to match the surface under the animal but before any actual IK. Green lines show the IK result. Cyan vertical lines are raycasts made for leg grounding and slightly darker blue vertical lines are raycasts used for body orientation.

And of course there's the usual challenges of any complex software project. The IK consists of half a dozen sub-components and I have to keep them and their interactions straight. My long experience as a programmer helps enormously here, but even so in the early stage there were times when the code felt like a giant ball of yarn and it was hard to tell what should go where. Gradually I was able to untangle it and put it in a manageable shape.


___________________

The WolfQuest saga will continue! Stay tuned for more news in upcoming devblogs about it and other new features!

We do not announce specific release dates. We will release them when they are ready.


Hex Invaders

Territorial conflicts have long been part of WolfQuest, but they've always been limited, even in Anniversary Edition. Players can't start claiming territory until they've found a mate. In spring and summer, packs are pretty busy with their young pups, so they don't have time to really focus on their territory. But this is changing in the upcoming WolfQuest Saga* -- as the pups of the year grow bigger and stronger, the pack leaves the rendezvous site and becomes nomadic, following the elk herds. Now the pack has more time and energy to strengthen and expand their territory. And that means more conflicts between packs.

[previewyoutube][/previewyoutube]

As we began working to make rival packs more aggressive and expansionist in the fall and winter seasons, we realized that this also created an opportunity to improve the gameplay around territorial conflict. In the game previously, rival packs could weaken your claim on a territory hex just by being in it (for example, if they chased an elk herd into one of your hexes and spent some time in it). In the new system, rival packs must deliberately invade a hex with the intention to claim it from you.

So in the Saga, when a rival pack invades one of your hexes, you'll see an onscreen alert about it. You don't HAVE to respond, though. Maybe you don't care that much about that particular hex, Naybe you've got more critical things to deal with at the moment. It's up to you. But at least you get the info and can make the best decision for yourself and your pack at that moment. (However, if you do not go fight them for the hex, they'll be emboldened and move on to another hex of yours.)

Like anyone, rival packs prefer an easy challenge over a hard one, so they'll be more tempted by weak hexes along your border. And of course, you can look for weak hexes on your neighbors' borders and invade them -- and those packs will evaluate the situation and decide whether or not to defend their hex. They're more likely to respond if you invade a strong hex vs a weak hex. But beware: if you invade a rival pack's hex, whether or not they respond to that takeover attempt, they'll often invade your territory in return. So be careful if you don't want to start a pack war.

Because packs are most expansionist in fall and winter, defending your border -- and perhaps conducting a few invasions of your own -- becomes another thing to keep you busy while you help your pups learn how to hunt elk. As with hunting, your pups will be cautious in fights initially, gradually gaining XP and confidence to participate as time passes.

All this is coming later this year as part of the WolfQuest Saga!

* The upcoming WolfQuest Saga is "the rest of the game." Your pups will continue to grow into the fall and beyond, learning to hunt under your supervision, and then becoming yearlings when next year's pups are born. Time will continue progressing through the years until you die. The Saga is currently in development but we do not have a release date for it.
___________________

The WolfQuest saga will continue! Stay tuned for more news in upcoming devblogs about it and other new features!

We do not announce specific release dates. We will release them when they are ready.

Patch 1.1.2g Released!

v1.1.2g - Released 4 June 2024

[h3]BUGS FIXED:[/h3]
* Known Wolves: NPC wolves spawned on other maps are not assigned names at birth.
* Hellroaring Mountain DLC: Territory hexes on east edge of map are unclaimable.
* Hellroaring Mountain DLC: Chewed Radio Collar mispositioned when summer pup is carrying it.
* Small white sphere at entrance to one Amethyst den.
* One AM den doesn't glow in scent view.
* Minor terrain and water issues.

Patch v1.1.2g in Public Beta

v1.1.2g - Public Beta

NOTE: Game saves ARE backward compatible with the last released patch, v1.1.2f. Multiplayer games are also backward-compatible either, so you can play with those who have that last-released patch.
BETA 1

[h3]BUGS FIXED:[/h3]
* Known Wolves: NPC wolves spawned on other maps are not assigned names at birth.
* Hellroaring Mountain DLC: Territory hexes on east edge of map are unclaimable.
* Hellroaring Mountain DLC: Chewed Radio Collar mispositioned when summer pup is carrying it.
* Small white sphere at entrance to one Amethyst den.
* One AM den doesn't glow in scent view.
* Minor terrain and water issues.


_____________________
[h3]TO GET THE BETA BUILD[/h3]
1) In the Steam app, go to your Library, then right-click on the WolfQuest: AE name in the left column and choose Properties.
2) Then go to the Betas tab and select the WQ current Beta option in the pulldown. No password is necessary. Steam should then start downloading it. Later you can switch back to the public version in that Betas tab, by selecting NONE in that pulldown.