There’s a scene in the new moon landing movie, First Man, in which Ryan Gosling’s Neil Armstrong climbs into a g-force simulator to brave the effects. The metal bars around him spin every which way, like playground equipment in a hurricane, and he falls unconscious within seconds.
The comparison might be hyperbolous, but it’s nonetheless what we’re reminded of when lead technical designer Aaron Ketteringham describes the ordeal of designing a camera to suit CrossVector X – an on-rails space game that sees you skimming the surface of alien planets in a fighter ship.
“It’s quite tricky,” he tells us, “because the ship is following the spline, you’ve got the camera following behind that spline, and then you’ve got the player aiming, the ship rotating, and the spline camera rotating around. You have all these angles and rotations trying to work together and it feels quite nice at the moment, but it’s not perfect.”
It’s clearly not not working, since we finish the enjoyable EGX build of the game without pulling a Gosling. But there’s plenty of challenge involved in building something like CrossVector X, where control is a constant negotiation between the game and its player.
Level design for an on-rails shooter is a curious process without obvious parallel in other genres. The team at OatCake Games needs to build a satisfying planetary surface environment for you to zip through, of course. But that world also needs to gel with the set path the ship follows through it – the spline Ketteringham refers to. It’s no good creating a planet pockmarked with areas of interest if the spline doesn’t take you through the best bits at a pace that allows you to appreciate it.
“It was quite a challenge for us,” Ketteringham says. “It’s definitely a new undertaking because we’re quite used to designing single-player levels you can block out. We had to sit down with pens and paper and figure out how is our ship going to move around the world, how our camera is going to follow, and of course there are still some issues to work out, bearing in mind it’s pre-alpha – it’s trial and error.”
Ships fighting in the background give a sense of larger battle
Once the pre-alpha level was designed on paper, the team built terrain in a creative landscaping tool called World Builder, returning to it until the environment felt right. After that, the tweaking process began to resemble the direction of a CG film.
“If something isn’t quite right we can adjust the spline track ever so slightly and the camera will follow it,” Ketteringham explains. “So if you want a nice shot of the ship going upwards you can tilt the spline. We can manipulate it quite a lot so we can get nice panning shots.”
Ships dogfighting in the background give the sense of a larger battle you’re simply meandering through, and the team intends to add more of this ambient cinema – hinting at the story and factions it has in the pipeline.
The sharp, frozen edges of CrossVector X’s planetary surface are highlighted by bold lines that Ketteringham describes as “Borderlands-y.”
“Our lead artist went ahead with this cartoony style,” he continues. “We made everything really bright and colourful to stand out, and then we started messing around with it so see what looked nice, and we thought black outlines really make the terrain stand out to us.”
What might not be obvious as a player is that these outlines aren’t baked into the environment beforehand, but willed into existence during play. “It’s rendering from the camera’s perspective,” Ketteringham says. “So it detects what side is closest, finds the edges, and puts in the black line depending on where the camera is angled.”
Despite tricks like these, it’s the camera and aiming that has remained the most consistent and formidable challenge during CrossVector X’s development. Thankfully, altering it has been easy, Ketteringham working for the most part in Unreal Engine 4’s Blueprint scripting system to circumvent coding.
“We use object oriented programming so we can go in and change things and shouldn’t get any backlashes with things coming in previously,” he says. “You probably can tell the aiming is not quite perfect and I think I’ve figured out why. I’m going to change that tonight.”
CrossVector X is coming to the PC. Unreal Engine 4 development is now free.
In this sponsored series, we’re looking at how game developers are taking advantage of Unreal Engine 4 to create a new generation of PC games. With thanks to Epic Games and OatCake Games.