Hey guys! NQ-Wave here, and today we’re going to talk about the changes we’ve made regarding ship and character movement that are upcoming in Alpha 2 of Dual Universe.
In Dual Universe, players will be flying all kinds of constructs; from small hovercrafts roaming the ground to huge spaceships floating in space, from atmospheric planes to ambivalent atmo/spacecrafts. These very different configurations mean experiencing very different sensations. As you already know, we’ve always wanted to take a more realistic approach to how we handle space travel, especially with a ship’s inertia within a dragless void.
We were quite happy with how ships translated differently in atmosphere and space, but we hoped to add an improved sensation of weightlessness. And now it’s done! Now when trying to manoeuver a ship while in the atmosphere, you should experience the true dragless feeling of space and the effects of air upon a ship’s hull. Even if you only have a few adjustors, you’ll still be able to rotate your gigantic battlecruiser if you give it (a lot of) time, whereas, in the atmosphere, drag will keep you immobile.
Also, in the sad event of a collision between your ship and whatever hazardous object floating about in space, you’ll really feel something! But we’ll let you try it for yourselves! (Though we don’t really suggest it.)
There is something else we want to tell you about moving around in this scary, nearly empty void. Let’s say you’re enjoying your nice space travel, gliding frictionless at a few tens of thousands of km/h. Suddenly, you realize that you don’t have enough fuel for deceleration, and maybe because of a small lack of planning, your fuel tank is inaccessible from inside the hull! Don’t blame yourself, that happens to everyone eventually. If you want to decelerate, you’ll need to refill! You have two options here. You could just ignore this small problem and pray before going down in a fiery blaze upon the surface of your destination planet.
3, 2, 1, 0 G!
But since crashing on a foreign planet is probably a player’s last resort, let’s approach this differently! We bet that you wished your Nanosuit would enable you to make an extravehicular trip to reach this fuel tank. Well, now that’s totally possible!
As of Alpha 2, your Nanosuit contains a jetpack that allows players to glide around in space! To try it, you just need to be far enough from any planet. Keep in mind that this jetpack is not powerful enough to compensate for high gravity. Once you open the airlock of your ship, just jump into the great unknown!
Once you begin floating in space, you’ll hear the familiar, yet reassuring sound of your jetpack. To control it, you can use the WASD keys to move horizontally. The Space Bar and C key will give you vertical movement. And since there is no gravity to hold you down, you can roll your character with A and E keys.
Due to the physics of empty space, only the acceleration is controllable. When removing your hands from the keyboard, your character will continue to glide along at a constant speed! But maybe you’d prefer to better stabilize for precise control. That’s why we’ve added a brake in your Nanosuit which you can use to nullify your speed. Just press CTRL to activate it!
Of course, because of how physics work, you’ll be able to manoeuver around an immobile space station as well as around your small fighter traveling full speed in space. And we’ve even heard that you can use this jetpack to jump from one construct to another when they are doing a fly-by. But here again, maybe that’s not the best idea for your survival. We can’t say we didn’t warn you! Now, get out there and enjoy your extravehicular activities!
Enough about space! Let’s put our feet back on solid ground for a minute. There is other stuff to talk about.
I’m Like A Bird!
When you’re on the surface of a planet that is lucky enough to have an atmosphere, you’re used to moving your ship through use of ailerons, using air to provide lift and sustain your ship in altitude. Ailerons are very useful both for lift and drift compensation. You were also used to stabilizers; elements that enable you especially to compensate drift.
We’ve now unified the behavior of those elements. You’ll now find them in the ‘Airfoil’ category, and be able to choose between ailerons, stabilizers, but also traditional fully functional wings. These elements work in similar ways and can be used for lift and drift compensation. The controller of your ship will automatically use them for one of these goals depending on their orientation.
These elements have different characteristics, however. Ailerons do not produce a lot of drag, but can stall easily. You must make sure that the angle between your aileron and your current speed is not too large or you’ll stall and won’t get any lift! And crash — probably. On the other hand, stabilizers are very forgiving in regard to stalling and can be very useful to compensate drift during a sharp turn, but they induce a lot of drag. Finally, wings offer a tradeoff between drag and stalling. We’re sure that you’ll find the Airfoil element that best fits your purpose.
Speaking of piloting, we’ve also made some wanted changes in this area. First of all, we decided to have varying behaviors of ship control depending upon the situation. In the past, hovercraft planes and spaceships used to be controlled in a similar way, and we wanted to change that to better adapt controls for the type of ship you are building. When piloting a hovercraft, you don’t care as much about your roll than when piloting a spaceship, for instance.
Some Va-Lua-ble Insights
As you may already know, the behavior of a dynamic construct is controlled by its Lua configuration. When you create a dynamic construct and place a control unit on it, the Lua configuration of that control unit is automatically done for you. You don’t need to tweak a single thing! This is the autoconfiguration of your ship, and the behavior is chosen depending upon the element you use as a cockpit. A hovercraft seat will use a ‘hovercraft’ autoconfig scheme, whereas a fighter cockpit or a commander seat will use the ‘airplane cockpit’ autoconfig scheme. You can also manually choose the autoconfiguration you want to apply to your control unit by right-clicking on the element and choosing ‘Run default autoconfigure’.
At its core, Dual Universe is about customization. As we previously mentioned in our last DevBlog, we’ve made several improvements regarding Lua in general, and made it possible to change select behaviors without requiring code. You can do that by right-clicking on the cockpit of your ship, and choosing ‘Actions for this element’ > ‘Edit Lua parameters’. This opens a window where you can change the control parameters of your ship. Once you have autoconfigured your ship, you can use this panel to choose the rotation speed, for example.
Through this same panel, you can also change major behaviors of the airplane cockpit control scheme. (Try changing the autoStabilizeRoll and rollInducedYaw parameters to experiment advanced control!)
One last word, if you want to dive a little bit more into the arcane of piloting configuration, don’t hesitate to try and modify the new autoconfigure scripts of your constructs. We made significant strides to give you easier access to your ship’s control and allow for easier experimentation. Try it out! Just right-click on a control unit and choose ‘Actions for this element’ > ‘Edit Lua script’. Hint: A lot can be done in the system -> flush event.
Don’t be afraid of giving something new and creative a whirl! You can safely try all sorts of things here without being a total code nerd. And if by mistake you break something and your ship becomes uncontrollable, just re-run the autoconfigure, and your construct will be good as new.
That’s all for today! We hope you’ll have fun playing with this new way to pilot ships in Dual Universe, and the new jetpack. As always, don’t hesitate to give us your feedback regarding these new changes, and thanks a lot for your support.