Horse Physics

This week Vivas spirals even further into the darkest recesses of his mind to talk about horses in video games. What are they good for? Why are they there? How do they control? And his new idea for procedural horse middleware.

Like many people out there, last week I was attempting to immerse myself within the world of Assassin’s Creed 3, the latest historical murder simulator from our friends at Ubisoft. For the most part, my opinion of the game has been pretty good so far. The historical setting is well realized, the story is intriguing, and the multiplayer feels much improved over Revelations. However, there was one early sequence in the game where I was asked to chase a target while on horseback. In AC3 chase sequences require that you maintain a minimum distance to the target at all times in order to avoid desynchonization (the game’s version of a fail state which causes you to restart the checkpoint). What made this mission more complicated, in part because of my fastidious need to be a completionist, was that during the chase I was asked to blow up 3 powder carts.

As a result I had to time the moments when I fired my musket so that I would have ample time to reload before getting to the next cart. Meanwhile, I also had to keep pace with the target’s horse ahead of me so that I could get to him. Unfortunately the act of spurring my horse to speed it up cancelled my reload animation, while trotting so that my pistol could reload made me lose the target. However, this wasn’t the only problem with the whole sequence. It’s at this point that the game also decided to throw in some ill-timed geometry glitches that made my trusty steed the biggest bastard in the world.

Running along the road at full gallop there were instances where I had finally gotten the balance of reloading and keeping pace only to find my horse tripping over bits of a wagon that were obviously things that it should have galloped past. At one point the horse hit an invisible wall in the terrain and turned 180 degrees and started to run in the opposite direction causing me to lose synchronization. Needless to say the entire mission had me nearly throwing my controller in frustration. Up to this point, AC3 had been fantastic, and in retrospect this event is the only strike I can honestly level against the game (again so far…as I’m only about half way through it).

After finishing this mission (with full synchronization) I decided to do some horse testing via some full speed gallops on and off-road and some jumps. I came to realize that my problem wasn’t with the fundamental control scheme of Assassin’s Creed 3, but rather the horses of Assassin’s Creed 3. That’s when I realized the harsh truth. I hate horses in video games.

The reason for this is simple: they break the reality for me. Now I realize how absurd what I just said is especially for a game with as far out a premise as AC3. However, like it or not, AC3 still relies on real world physics. Objects have masses, moving objects have velocities and accelerations, momentum is conserved, and objects in contact with each other have some kind of frictional force between them. There are times in AC3 where only a few of these things apply to horses at any given moment. Let’s take jumping as an example. For those who aren’t equestrians, horses aren’t capable of jumping from a dead stop. They need some kind of running start in order to clear a hurdle, even a low one. From a physical stand point this makes sense, as the horse needs velocity and acceleration to allow it to clear the obstacle without just falling on top of it. However, in AC3 many is the time were approaching a jumpable barrier at a slow walk was enough to maneuver my horse over an obstacle.

“But Vivas, there were a lot of horses in colonial America! They can’t make a game with no horses!” some of you would say as a retort. However, I would argue that just because horses make the world more realistic they don’t need to be fully controllable all the time. Why is it that horses can’t be modelled more like cars in driving games? What if I just hold the X button to go, and the horse automatically parkours over any obstacles in it’s way? Combine this hands-off approach to horse controls and maybe developers would have more time to make the animations look less janky.

In fact, some studios go to great lengths when including horses in their games. As an example, PC Gamer ran a story in May of this year talking about how Call of Duty: Black Ops 2 would feature fully motion captured horses. They even included in the article a picture (shown above) of an actor on a horseback wielding a toy AK-47. Some people even make a living out of selling motion capture data of horses to the entertainment industry for use in CG effects and video games. Horse Locomotion has sold horse motion capture data to games like Red Dead Redemption, Dante’s Inferno, and even a PS2 game called Lucinda Green’s Equestrian Challenge.

Thinking back on Red Dead Redemption in particular, even that style of horse control was very automatic. In my opinion one of the most innovative things that Red Dead did was to have horses keep pace with each other just by holding the X button. You didn’t need to worry about missing dialog because your horse would automatically guide to whichever NPC was talking. You also didn’t even need to steer as the horse would just maneuver on its own. I’m not saying that horses need to look as realistic as they did in Red Dead Redemption, but it would be nice if they all controlled that way. It would also be nice if horses didn’t just follow you around everywhere and you could tell them to stay put or hitch them to something (or even make them disappear like in Darksiders) to keep them from moving. Another thing that has happened to me on more than one occasion in AC3 and even back in Brotherhood.

So why are horses, apart from historical realism, even present in video games? Well the simple answer is that they are a means of conveyance. Like a car in Saints Row or Grand Theft Auto they get the player from point A to point B. This is especially useful if you can’t or choose not to fast travel from one location to another. They also act as a gold sink in some cases where a player decides to pimp their steed with armor, special saddles, and the like. With this simple purpose in mind you would think that more developers would just iterate on what Red Dead Redemption did and make super realistic horses that basically control like cars in open world games. Yet this course of action maybe cost prohibitive or engine prohibitive. That’s why I think it’s time for some new horse middleware.

If I were to toss out the names Unreal, Source, and id Tech I have no doubt that many of you readers would tell me that the common thread amongst those names is that they are all engines used within some of the biggest and most popular games of the past decade or so of video gaming. But what if I tossed out the names SpeedTree, Beast, or Scaleform? Crickets, right? Yet these pieces of middleware are responsible for procedurally generating trees, dynamic and character lighting, or other “software glue” as Wikipedia phrases it. Yet there’s no middleware suite that includes the animations generated from mocapping a horse along with procedural physics calculations like Euphoria.

That’s why I think it’s time for ‘SpeedHorse’, a suite of procedural tools that would allow developers easy access to horse motion capture data and animations, and realistic physics calculations. Horses could then be generated that would be able to move and animate like real horses and also respond to collisions, hits, and other objects with reactions that are reactionary to the environment around them. This would streamline the whole process and allow them to take more time to determine the hardest part of horse physics in games, the controls. I swear, there’s a market for this, and any one interested in helping me bring this to fruition should let me know immediately. I would love to talk to you!