Unreal engine techniques for creating believable bicycle mechanics and dynamics.
Will the engines dedicated vehicle functionality in unreal engine 4 help me create a believable bike implementation?
My role in my team Margin of Error, is project manager and programmer as well as having the ability to help out in any areas where I may be needed.
I recently posted on the Reddit mountain biking forum asking riders what they would like to see in our game and what is it about the sport that attracts people and keeps them competing. The thread was one of the most popular of the month, on a board with 43000 subscribers, getting 60+ up votes and lots of feed back.
From this I learned that there was an instant interest and following from riders looking for a good mountain biking game. I plan to set a out a set of criteria that I can bring back to the threads and other forums along with videos of my progress and ask the riders using the specified criteria which model looks or feels more believable.
Relevence To Game Concept
Our game "All the way down" is a mountain biking game. At the core of any mountain biking game is the actual mountain bike. I feel this is a very important core mechanic that has to be researched thoroughly and implemented expertly. Without a solid bike mechanic players will not feel the experience that we want them too.
In our game we have not yet decided if the camera will be fixed to first person or if the cameras will be in various third person perspectives. This research topic will determine if firstly, it is feasible to create a functioning mountain bike in unreal engine. If that's not possible we will have to revert to the first person camera option and "fake" the mechanics, whereas we will have simulated physics and animations to make the experience feel right.
There are many issues that may arise with this topic.
Firstly on the Unreal Engine side of things, there is very little documentation on vehicles in general at the moment and documentation for bicycles is near unheard of.
The main issue is that I am unsure of my capabilities on the implementation side of things and may fall short of what I want to achieve.
Dclxvi.org, (2015). An Introduction to Bicycle Geometry and Handling.. [online] Available at: http://www.dclxvi.org/chunk/tech/trail/ [Accessed 4 Nov. 2015].
Sheldonbrown.com, (2015). Gyroscopic Forces by Jobst Brandt. [online] Available at: http://www.sheldonbrown.com/brandt/gyro.html [Accessed 4 Nov. 2015].
Unrealengine.com, (2015). Introduction to Blueprints. [online] Available at: https://www.unrealengine.com/blog/introduction-to-blueprints [Accessed 4 Nov. 2015].
Wikipedia, (2015). Bicycle and motorcycle dynamics. [online] Available at: https://en.wikipedia.org/wiki/Bicycle_and_motorcycle_dynamics [Accessed 4 Nov. 2015].
YouTube, (2015). Unreal Engine 4 Vehicle Tutorial (Blueprint). [online] Available at: https://www.youtube.com/watch?v=t82xeOPW6Z4 [Accessed 5 Nov. 2015].
YouTube, (2015). The Counterintuitive Physics of Turning a Bike. [online] Available at: https://www.youtube.com/watch?v=llRkf1fnNDM [Accessed 5 Nov. 2015].
YouTube, (2015). How Do Bikes Stay Up?. [online] Available at: https://www.youtube.com/watch?v=oZAc5t2lkvo [Accessed 4 Nov. 2015].
Research Materials 1: Real World
Why do bicycles stay up?
This is a nice video explaining in simple terms the physics behind why bikes stay up and basically how they work. It also shows how bicycles don’t necessarily need a rider to stay stable as long as they are going at sufficient speed, this may be the best way to look at our bicycle implementation in our game, in that we worry about the bicycle and animate a character on it afterwards. One theory suggests that angular momentum in the wheels keeps the bike from falling over but this can be disproved by locking the handlebars in place, this makes the bike fall as easily as a stationary one. Another theory disproved is the theory that bikes stay up because of forward momentum.
When a bike leans to one side, the front wheel also steers to that side. The result is the wheel comes back in under the bike and stabilizes out again. A bikes steering axis tilts backwards and because of this its front wheel touches the ground behind that axis. When a bike leans to the left the upwards force from the ground acts to turn the wheel and handlebars to the left, helping the bike steer its wheels back under its centre of mass.
The weight of a bikes handlebars and front wheel is generally distributed in front of the steering axis, so when the bike leans to the left the downward force of this mass helps turn the front wheel to the left, like divining rods turning to the direction of your hands.
There is a gyroscopic effect from the wheels but it doesn’t keep the bike upright on its own, it helps to steer, similar to the way helicopters work, discussed at around four minutes into this video. This effect is called gyroscopic procession and basically means that on a gyroscope the effect of your torque lags behind where you push. In a bicycle this gyroscopic procession from the leftward lean helps the front wheel steer back under the bikes centre of mass helping it to stabilize again.
The above image shows a computer generation of a bicycle. As the bike leans the front wheel also turn that way the effects mentioned above take place and the wheel manoeuvres its way back under the bikes centre of mass creating the turn.
The counter intuitive physics of turning a bicycle.
Demonstrates how to turn a bicycle left you must first turn the handlebars to the right to get yourself into a lean and then counter steer to maintain that lean and keep turning.
Bicycle and Motorcycle Dynamics
Research Materials 2: Unreal Engine
Introduction to Blueprints in Unreal Engine- An introduction to blueprints in unreal engine.
Official unreal tutorial to build an advanced vehicle time attack game. This would be a great place to start to get an understanding of vehicles in unreal engine. What I hope to see is the wheels and input functions being built up one by one and hopefully I can deconstruct that and build a vehicle with only two wheels. I don’t have much experience with unreal engine 4 and this could be a huge task. There are plenty more vehicle based videos on the forums but for now I don’t want to go farther than this until I know what I’m at.
More – An extra tutorial. That may be worth looking at afterwards.
Research Area Discription
I plan to set up a simple bike and track simulation in unreal engine. At the simplest level I will record a video of gameplay and use that as a base. From there I will try adding more techniques and functionality and record more videos with each iteration. I will then post the videos and questionnaire online asking what feels the most believable. From this I will be able to determine which techniques are necessary and which techniques are not necessary or give very little improvement. At the end of this I want to be able to guide developers in similar situations on the best way to create a two wheeled vehicle in unreal engine.
How is this relative to my role?
My two main roles in the team are Project Manager and Programming. The question I'm asking is directly related to the core player mechanic in our game. Which I will be working on next semester.