Finishing the Flight


This Devlog is all about our trials and tribulations with our most important feature: Flight.

This was written by Justin Locke, the Lead Programmer, so any mentions of "I" or "me" is referring to, well, me.

Version 1

Just directly modifying the position and rotation

Our first version of flight was rather complicated. Namely, it involved using both the mouse AND the keyboard to control the flight of the plane. The keyboard (A and D) would handle the Yaw of the plane, and the mouse would handle the pitch and the roll.

In case you're unfamiliar with planes...

Our forward flight was as simple as adding the direction the plane was pointing to its position, thus making the plane fly straight forward

In an effort to already apply patchworks to this flight, we added (or attempted to add) inertia to the movement, as well as adding W and S to control the speed of the plane. 

As you might imagine, this version of flight was… not very fluid or enjoyable. And we hadn’t even added the item collection system yet! Time to throw that out.

Version 2

Using the force, Luke.

After re-importing a fixed plane model to fix some issues with gimbal lock, it was time to start over. 

Rule 1: No directly modifying the plane’s position. 

To that end, a rigidbody was added, so we could use Unity’s Physics instead of trying to come up with our own, like convoluted method. This meant we could change values quickly to experiment with.

Chris added a new camera, with a free-cam mode to allow the player to look around for items to collect.

I worked on adding lift to the plane, for increased upward velocity as the plane’s speed increased.

I also tried to document how our flight would work in a technical sense. 

(Excuse the bad handwriting)

Finally, it was time for item collection. I hooked it into the Camera script, so that you would need to go into Free-Cam mode in order to pickup items, as that would help to aim. At this point, items would simply follow behind the plane, but it was quickly changed to be pulled into the plane, as it was very hard to fly and look backwards to pull items.

We stuck with this mode until December 2019...

Version 3

Playtesting revealed that this method was also too difficult to use. Too hard to control, pick up items, and not crash. 

Time to do it all again! This time with Rule 2.

Movement must be either all mouse, or all keyboard. Not both.

Now, flight would be all on the mouse. Moving the mouse forward and back would control pitch, side to side would control yaw, and roll would adjust automatically. Moving the mouse would elicit a slow constant change, meaning that the player could take their hand off the mouse if needed. Going into free-cam would also go into slow-mode, to further take cognitive load off of the player, and giving more time to react.

We also added an option to invert flight for those that wanted to.

Tanner Hovis-Johnson, our lead designer, worked independently on a dedicated keyboard control scheme, and I hooked that into the options so that the player could switch between them freely.


We also switched the item collection to a new “Vacuum” system that would suck up all items inside, as opposed to connecting to only one item at a time. This would eventually evolve into what we have now, the Gravitron Matrix!

And yet… something still wasn’t quite right.

Version 4

War Thunder and mouse following

Even with all of the improvements, the plane still felt too stiff. It was always centered in the camera, and felt very slow. Our solution was found in a different game: War Thunder.

We had previously discussed this type of control scheme, but chose not to follow it. We decided to look back and try it out again after we found an easy to follow tutorial that implemented it.

https://github.com/brihernandez/MouseFlight

We also found Rule 3: No directly modifying the rotation either.

After importing this as a base, we’ve been re-integrating our code into it, and we’re preparing to release a build with this version of flight for playtesting soon. As a bonus, it also has a more detailed tutorial with a new Boost feature that provides a major speed boost to the plane when flying along a set path, allowing faster movement over long distances.


Conclusion

After all these weeks, we've finally come to the three rules.

1. No directly modifying the plane’s position.

2. Movement must be either all mouse, or all keyboard. Not both.

3. No directly modifying the rotation either.

We can combine 1 and 3 together, since they're both about the plane's transform, which leaves us with 2 rules.

1. No directly modifying the plane’s transform.

2. Movement must be either all mouse, or all keyboard. Not both.

These 2 rules that have been discovered through both private and public playtesting give us an extremely solid base to work from going forward. They may be a bit late in the pipeline, but now that they're here we can focus on other areas that need attention before our eventual release, some of which will be detailed in future devlogs by the rest of the team!

We hope to see you flying with us in the future.

Files

1-29-2021.zip 76 MB
Jan 29, 2021

Get Island Flight Courier

Buy Now$5.00 USD or more

Leave a comment

Log in with itch.io to leave a comment.