Friday, September 13, 2013

Movement : Skiing

Forward
This is the first part of many I plan to write about the movement system in Tribes. Before getting into the nitty gritty details of movement and skill, I wanted to first give a brief overview of the systems of movement.

Introduction
Skiing played a huge role in what Tribes successful- and as said before, most agree it is at the core of Tribes. Skiing made it possible to achieve very fast speeds in the game- and unlike other shooters that were fast-paced due to the ability to change direction on the ground on a dime, Tribes was fast paced due to gravity, long falls, and raw speed. Redirection was more gradual, and the twitch play was entirely different than what you see in traditional arena shooters- because it was more about leading, and less about quick reflexes.

The Birth of Skiing
How was skiing “discovered” or “invented” ? Many claim it was the players who found it during the beta of the original game. Many claim it was the developers. So really, who was it? I thought it may be helpful to ask Scott Youngblood, the lead designer and mastermind behind Tribes 1 and Tribes 2, to entertain the question.

His response:

Yes, I remember specifically the day the skiing was discovered. Symlink (Dave Moore) was working on the physics of Jet packing one day… and he came into my office and said that he found a bug with our jet packing… but he wanted to show it to me before he fixed it. I went to his office, sat down at his chair and he told me what to do….

“Alright… he said… Jet up over that hill until you’re above a slope going down….”

“Then let yourself start to fall… and right as your about to hit the ground, start tapping space.”

He didn’t tell me what was going to happen… he just told me what to do.

So I Did it…. And before I could get to the top of the next hill I uttered these words:

“Don’t fix this…. We will USE this.”

Skiing was borne...

...We purposely didn’t TELL people about it because we wanted you to discover it. Players have much more fun with things that they can discover than things they are told about.

The Phyiscal System / The Act of Skiing
Player movement in Tribes, if looked at in terms of a physical system, is a rube goldberg machine on crack, pumping out more energy than what it is taking in. At the top of a hill, the player holds down the ski button and directs himself down it- his potential energy becomes kinetic energy as he starts gaining speed. No energy is lost due to friction- so as long as the player is heading downhill, he will accelerate- on a flat surface, he maintains momentum.

On an upwards slope, the player engages his jetpacks- he uses up the jetpack fuel (energy) in order to ascend over the battlefield, losing a bit of lateral speed, but gaining much in vertical speed. There is a brief moment of hangtime, where huge lateral distances can be crossed as the player levels out. The heights the player reaches garners him a lot of potential energy. The player then begins to fall at very fast speeds.

While falling, the player makes fine-tuned course adjustments with by tapping his jets in order to fall into a downhill slope at roughly the same enterance angle as the slope angle, ensuring no health is lost in the energy transaction. The player then holds the ski button before landing, and swoops down into the next valley. The jetpack is constantly regenerating energy when not in use, so while falling and skiing, all of the energy you use on your last ascent is all replenished. And the process repeats itself- it is with the repitition that great speeds can be achieved.

Types of Skiing
One of the many controversial topics Tribes players have discussed over the years is the best form of skiing- it's one of the many reasons the Tribes community has been fractured. Simply put, there are two forms of skiing- “jump skiing” and “smooth skiing”.

Jump Skiing
“Jump Skiing” happens with a jump at every contact with the ground- this makes net prediction and aim prediction a bit harder since the players are not moving smoothly, but changing direction often (after every “bounce”)- player movement has to be extrapolated with the bounces in mind for any prediction to take place. Jump skiing looks silly admittedly- it looks like a bug from an old game. Some people like that though, it feels “glitchy” and part of a finicky player-made experience- much like wall jumping in Gunz or bunny hopping in Quake, it pays an homage to “emergent gameplay”.

A large part of what made jump skiing feel correct was an “elastic” player collision system. In most modern games, a player’s velocity and direction are only adjusted when they are jumping or landing and come in contact with a surface- otherwise, they “stick” to the ground and move along the ground normal (thus making the collision a bit “velcroish”). In Tribes, your collision normal with the ground, and position and velocity changes were made every tick, no matter what. Regardless of whether you were in mid-air, just jumping, just landing, or walking. This made all the player movement feel very elastic in nature. As far as I know, most modern games that use “smooth skiing” rely on a velcroish collision system- I reckon that it makes for less collision computations, and saves on system resources and bandwidth a little bit.

Anyway, jumping gave you an initial upwards acceleration before even tapping the jets, which easily complimented the jetting. As well, jumping allowed use of your side jets much faster- if you jetted before jumping, there would be a lag in the power of the side-jets. For these reasons, it made sense that the jumping key was also the skiing key- it was more intuitive. With jump skiing, the differences between carving from game to game are more subtle and easily adjusted for, since carving is not system-moderated like it is with smooth skiing.

Smooth terrain was not always needed with jump skiing- sometimes a bit of jagged terrain was actually preferred with this system, allowing for quick redirections given you attacked the terrain patches at the right angles. Small imperfections in an otherwise downwards slope could easily be hopped over using jumping skiing- which made some of the more jagged maps a bit more tolerable.

The one major flaw jump skiing had was deadstops. There would sometimes be spots in the terrain or on buildings that, if hit just right, would make the player come to a complete “dead stop” or bounce in an unintended way. I believe this had something to do with the player landing on the edge of a triangle, where the physics engine couldn’t sort between the different verts in the collision octet tree or what have you (I’m not completely sure on the fancy math terms). Some techniques to prevent deadstops from occurring exist- one is to make the player hitbox “pill-shaped”- another is to ensure there is as little flat terrain as possible. Another is to make sure no two floor surfaces rub up against one another too much (very important when working with the .map format when making maps for Tribes and Tribes 2).


Games That Use Jump Skiing:
Tribes 1 was where skiing was first invented/discovered. In Tribes 1, terrain was more blocky, and you needed to know your route to every minute detail, or you could easily lose all your velocity or be sent off a different direction. But side jets were stronger in Tribes 1 than in Tribes 2. In T1 you did most your redirecting while in the air. Snipes and other shots were a bit easier to dodge by strafing at the apex.

You can find a very substantial explanation and dissection of the Tribes 1 physics on [5150] Andrew's blog, found here: http://floodyberry.wordpress.com/2008/02/20/tribes-1-physics-part-one-overview/

Tribes 2 included skiing not as a bug, but as a feature- so it felt more fluid and intuitive. In Tribes 2, terrain was made much smoother. In Tribes 2 Classic (T2C), speeds gained using skiing felt a bit greater than in T1, and the increased tessellation of the terrain object made slopes more gradual. However, in Tribes 2 there was less sideways jetting; you did most of your redirecting on the ground by carving in bowls, not in the air. Snipers more easily countered by hugging terrain, compared to strafing at the apex. In a general statement, most veterans have said Tribes 1 skiing was more finicky and temperamental, whereas Tribes 2 skiing was more soupy and loose.

Legends was another game that used jump skiing. They claimed they had the physics of Tribes 1, which was debatable. It felt more like T1 physics adjusted to feel more like T2- which wasn't bad at all, really. It was easy for both T1 and T2 players alike to get used to Legends.

Smooth Skiing
Smooth skiing where player actually glides along surface without hopping- it feels more natural, looks more realistic, and is more aesthetically pleasing or “correct” to some people. Dead stops aren’t as big of a problem with smooth skiing than it was for jump skiing. However, carving systems are harder to implement with smooth skiing- and differences in carving are more readily noticeable..

Smooth skiing also suffers from a wonky ski/jump, jump/jet system. Jump jetting still needed, and you had to ski, jump, and jet all at some point. This system where two actions happen with the same key, either both on press, or one one press, one on unpress, very wonky, not intuitive.

Smooth skiing also relies on smooth terrain, which in poly land isn’t always the case, especially on maps that had terrain just slapped onto it. With smooth skiing, you feel every imperfection in the terrain. Unless a system is cleverly designed where your player can “roll over” the small imperfections, the tiny pits and bumps will be the bane to smooth skiing. And ultra smooth terrain makes for a very uninteresting map, catering to uninteresting game play.

Games That Use Smooth Skiing:
Tribes Vengeance was one of the first games to have smooth skiing. In T:V you had no carving at all, skiing just simply removed friction from your feet, and was not reliant on your facing direction or directional keys at all. Your redirection was soully at discretion of the terrain, and you had to use jets to hover up and land into hills at a “sweet spot” or tap jets for quick redirecting (carving with jets, as it were). The lack of carve control was offset a bit by having air control while in mid-air without needing to use jets. The old Tribes vets were thrown for a loop. Those who played T:V as their first Tribes game picked it up quite fast. I wouldn't go so far as to call it intuitive- it was more watered down than intuitive, and appeared like an attempt to make intuitive controls met only halfway- the lack of carving really hurt the game.

Tribes Ascend, the next game in the series, used smooth skiing with some form of carve control, which proved quite better at slower speeds, but felt very ineffective at higher speeds. At higher speeds, it was possible to get skiing to “kick in” and work more effectively by tapping the jets a few times- this felt wonky, and unnatural. As well, you lost momentum at an alarming rate while heading uphill- making it so players avoided skiing uphill altogether (in other games, you wanted to ski up at least part of the next uphill before jetting up over it).

There have been plenty of other games over the ears that have used smooth skiing, including Ascension, Legions:Overdrive, and more recently Project Freefall, and Legacy. Legacy in my opinion has the best feeling carving to date. SmoothP claims he has taken a look at Andrew's T1 physics write-up and refactored all of the variables into a smooth skiing system.

Which is Better?
So is it smooth skiing or jump skiing? Both have their advantages and disadvantages. Jump skiing feels more buggy in nature, but also caters to that oldschool arena player nostalgia- and we all want to see some of the fast-paced intense action of the old games come back. Smooth skiing feels more refined, mature, and eye-catching, but it lacks some of the extra mobility features jump-skiing had, had quirky control schemes, and carving is harder to make feel right without spending a good deal of time on it.

My opinion? Jump-skiing is better. Its what I'm most used to, and it pays an homage to the old games, for which we owe a lot to. However, much effort needs to be spent on battling the dreaded deadstops if you plan on using this method.

Smooth skiing isn't bad- and it is easier to appeal to a newer audience using it. If this is used, consider inventing a new control scheme that makes jumping, skiing, and jetting intuitive. Perhaps use a different bind for jumping than what you use for skiing, so you can still jump while skiing to get past those pesky little bumps, and you can still jump before jetting for that extra boost in mobility. Using 3 keys for movement might be a bad... it's one you'd have to feel out.

No comments:

Post a Comment