Dev Blog 14 – Development Challenges

Brad Hill Dev Blog

Welcome back to the Bi-Weekly Project Orion Dev Blog! This week we’ll be discussing some of our progress across various fields and taking a look at how some newer assets are shaping up in game as we approach our next release milestones.

Creating Mission 2

While we’ve been working on various missions, Mission 2 has stood out as an interesting challenge for us. It’s very different from our initial mission design, utilizing a combination of linear level design and multiple zones. Our initial mission was a large open battlefield, so moving to this style of level required a lot of changes on our part to keep everything working.

For one keeping all the units (including the player) within the level boundary was much more difficult. You can’t simply block off areas when the player can fly freely in 3 dimensions, so we’ve adapted our level boundary system to follow a specified path through the level, keeping the AI units and the player where they need to be.

The second challenge was a completely new gameplay style. Mission 2 takes place within the remains of hundreds of ships left over from a massive battle that took place early in the war between the TDF and the OSA. The Arckin have decided to use the protection of the massive debris field as a staging point for a fleet preparing to jump and attack another TDF colony. Your mission is to move undetected through the debris, avoiding Arckin patrols, and assist in a preemptive strike against the fleet.

Stealth gameplay may be very different, but our AI system has been designed with modularity in mind and has taken very well to this addition. This mission will also make use of the Orion’s vector thrusting abilities as you navigate through the narrow passages inside the remains of destroyed ships to avoid detection.

A Matter of Scale

One of the biggest challenges we’ve encountered working on Project Orion is getting across just how massive some things are. Way back in the initial concept stages we had planned on most battlefields covering up to 10 square kilometers (roughly 4 square miles). We quickly ran into several issues, the biggest being it was hard to find targets, it was nearly impossible to fill a space with useful content, and things seemed way too small.

This might seem strange, but in order to allow maps of that size everything moved significantly faster, and a 2km long capital ship seems pretty small when you can fly its entire length in 5 seconds. The decision was made to seriously scale back both the size of the battlefield and movement speed.  This brought us closer to what we wanted when we designed the game: fast-paced intense dogfighting taking place in epic close-quarters battles. Still however, the scale was hard to really take in.  We’ve found that this is natural when the environments don’t provide a lot of reference points (space is like that), and you’re moving at high speeds.

With that in mind we put together a quick reference image comparing the scale of the current TDF ships, and yeah the capital ship is actually that big.

Massive ships aside, another issues we encountered with huge levels was actually a serious engine limitation. Unity stores all numbers relating to position and rotation with standard 32-bit floating point numbers. A float can only be so large, so as the size of the number increases you begin to lose decimal precision to compensate. Eventually (around 5km from the world origin of 0,0,0) the precision becomes so low that things seem to shake. What’s happening is precision values are being rounded, causing jerky camera movement.

The developers of Kerbal Space Program had to overcome the same issue, which if you’re interested you can read more about in their dev blog post here. So far we’ve managed to stay within that magic 5km limit, but in future levels we may be pushed to solve the issue once and for all, probably using a similar moving origin system that the Kerbal devs implemented.

Audio Update

Following our recent changes to our combat systems we’ve been working on improving the overall player experience in Project Orion. A big part of fighting from inside the Orion is utilizing your ships weapon systems and abilities effectively. In order to do this you need to know when your weapons are free to fire or when your abilities have enough energy to activate. The heads up display on your helmet does a good job of showing you this information, but when battle gets hectic you might not want to avert your eyes from the incoming enemies.

Audio can greatly supplement the use of UI elements in informing the player of their ships needs and capabilities, so over the past week we’ve been working on adding more auditory feedback to the Orion.

All of the weapons we’ve added since the early Alpha now have fully functioning audio feedback including overheat sounds, out of energy warnings, and indications of when a cool down is preventing them from being fired. The same goes for all of the Orion’s current abilities including the Micro Warp Drive and the Recharge Capacitor seen in the early Alpha.
In addition to the weapon related notifications we’ve created new and improved UI warning audio to be triggered when the Orion’s hull integrity has gone critical or an unsafe warp jump is attempted using the Micro Warp Drive.

With these changes we feel the player will be far more informed and in control of the Orion, leading to a more rewarding combat experience.

That’s all for this week folks, thanks for reading. We’ll back with another Dev Blog in a couple weeks, during which we’ll be talking a bit more about our next Alpha testing phase so stay tuned!