Blog

You Are Here

The Never-Ending Crusade To Orient The Player

As soon as you allow roll in 3D space, you start requiring more brain cycles with every task you ask of the player. In particular, you're adding mechanical interest to each of the following tasks:

  1. Tracking targets
  2. Avoiding Obstacles in Local Space
  3. Knowing your orientation and position at a solar system level

I mainly want to talk about #3 in this post, since that is what I have been working on most recently. Some games (namely Crimson Skies: High Road to Revenge, Halo: Reach) bypass this problem all together by disallowing roll, but that's not a method of player expression I was willing to give up.

You Are Here

In Starfighter, you can warp your fleet around to different landmarks in a solar system. A landmark may be anything including a belt, a planet, a jump node, or even a nebula cloud. The goal is to let the player make both planned and emergency decisions to jump to any landmark without looking at a map.

Credit: James Clayton / Ubisoft Quickly switching where you perceive yourself to be is hard, as many trees in Far Cry 2 have discovered.

Credit: James Clayton / Ubisoft

Quickly switching where you perceive yourself to be is hard, as many trees in Far Cry 2 have discovered.

Knowing what's going on locally and what's going on system-wide are two almost mutually-exclusive modes of thought. A player who has just taken shield and hull damage is generally not thinking about aiming themselves at a jump node to escape, they are thinking about shaking the attacker. Once they solve the survival task they then switch spatial perception to the solar system.

And their brains start from scratch every time this happens. Does this problem sound familiar?

So you need to help them make the decision of where to jump as quickly as possible. This is helped by abstracting out your solar system design and using the art to complement it.

 

Skybox Design

Baked skybox vertices, with the focal point of the skybox facing +Z

Baked skybox vertices, with the focal point of the skybox facing +Z

The old skyboxes were gradients mapped to spheres that simulated a glow coming from the solar system's star. It looked pretty cool and it partially helped orientation since you always knew where the star was, but that wasn't enough. Knowing where the star was gave you no hints about where any other landmarks would be as you turned toward it. Even if most landmarks fell along similar orbital planes, until you saw 2 or more of them, you would be in the dark.

After reading Simon Schreibt's articles on the Homeworld skyboxes and doing more research, I switched over to a manual approach for creating Starfighter's skyboxes. Later, Travis Baldree showed me how I could bake painted textures into the vertex data using almost any modern modeler. This is beneficial because it allows me to color correct the skybox before it is baked to vertices.

Each background is constructed to have a focal point along the positive Z axis. This is where the light from in the skybox/galaxy painting comes from. It's where the point of interest is. It's also where the horizon sits. 

The focal point orients you forward, and the horizon tells you which way is up. Starfighter uses this concept fully, having different color hues for each side of the horizon line. other times it even suggests sky and terrain (because why not?). 

The skybox from above, with the horizon helping communicate where the average orbital plane sits. This works from every landmark in the system.

The skybox from above, with the horizon helping communicate where the average orbital plane sits. This works from every landmark in the system.

Each improvement to the skybox on it is own is not amazing, but we're trying to scattershot as much information to the player as possible whenever they change spatial modes. This all adds up!

 

Landmark Rules

The player is not the king of Starfighter's jungle, but they are asked to take on the role of predator nonetheless. One of the most meaningful ways to help the player feel like a predator is to position them like one. This concept is used to great effect in many games at a variety of scopes.

Starfighter employs these same techniques, rewarding the player for positioning themselves to ambush (attacking from below) and positioning themselves to stalk (attacking from above). Gates are always positioned above the average orbital plane, so when players enter a new system, they are given an overhead view of the system to plan their next jump. Their prey, smaller fleets and miners (soon), are busy below at belts and planets. 

Jump gates are placed above the average orbital plane, and are always the furthest landmarks from the center of the solar system. This makes them excellent vantage points, and it's a view you get every time you enter a new area.

Jump gates are placed above the average orbital plane, and are always the furthest landmarks from the center of the solar system. This makes them excellent vantage points, and it's a view you get every time you enter a new area.

Rules like this also make orientation easier, because one knows that looking "up" will always lead them to the jump gates. And if your skybox looks like something familiar, such as a dry desert plain, you piece your orientation together even faster. While the player is on the average orbital plane (at a belt, for example), traffic between jump gates feels like airplanes flying overhead, another point of reference any player can relate to.

These rules are abstract and very "gamey", but they are necessary!

 

Why Vertices?

As described in Simon's article, vertex coloring excels at gradients. Seeing filtered pixels on skyboxes doesn't fit with Starfighter's flat-shaded art style at all, and creating skyboxes that are high enough resolution to fix that will take forever.

One can pick out the hexes/vertices, but that doesn't bug me. If Starfighter weren't flat-shaded it might!

Telling A Story

The relatively low-resolution spheres feel very much like painting thumbnails (which are FAST to create), and thumbnail-detail is just fine because it can still tell a story in a way the old gradient/procedural skyboxes couldn't.

This makes each system more memorable. Later, a player may say, "I have to return to the junction system with the creepy blue cloud columns," and not even need to remember its name! This would never happen before!

Homeworld 2 skyboxes. Credit: Relic/Cunningham and Walter-NEST for extraction/packaging.

Homeworld 2 skyboxes. Credit: Relic/Cunningham and Walter-NEST for extraction/packaging.

The grand masters of this were (of course) Rob Cunningham and his crew. Each level in Homeworld 1/2 were carefully crafted to make you ask questions about where you were as much as impress you with their composition. They are oddly surreal but they work.

This happens in other games (notably Halo, with the iconic ringworld hanging in the skybox), but Cunningham and his team managed to tell an incredible variety of stories throughout the campaign that still hasn't been topped.

Starfighter's don't hold a candle to any of these, but lessons have been learned!