Welcome to the Coding Qilin

A new blog site under construction.

The Journey to Satisfying Character Movement in Unreal Engine

Character movement that serves gameplay is a crucial feature to get right for any game, but it’s also highly dependent on the type of game that you’re designing. For example, the primary mechanic of Getting Over It is character movement - the tough controls combined with the unrelenting landscape give the game its distinctive ‘feel’. ‘Feel’ is difficult to define, but to me it’s the emotions the designer wants the player to experience....

August 17, 2020

Quick Tip: How to save default Unreal Editor Preferences

Once you become a bit more comfortable working in Unreal Engine, you might find that the default Unreal Editor settings are not to your liking. They’re easy enough to change in the editor preferences menu1 : However, what you will quickly notice is that these settings do not translate between projects. Every experimental test project, every new game jam will reset your settings back to the default. That isn’t really a big issue if it’s only one or two settings, but once you are consistently changing the same ten settings spread out across the interface it can become tedious....

July 23, 2020

Quick Quaternion Tips

The problem with Euler Angles Everything has its place in software development. However, I have often found the ubiquity of Euler Angles in 3D applications to be a hindrance to programming complex systems that involve 3D orientation. Their primary advantage is being the most intuitive of the mathematical representations of rotation we have. Nobody wants to input a matrix, axis-angle and especially not a scary 4-dimensional quaternion. And while Euler angles are useful for user input and some camera systems, in my experience everything else in computer graphics can be handled extremely efficiently and, to an extent, intuitively with quaternions....

May 7, 2020

Creating Moving Platforms with Directional Gravity in Unreal Engine

Why is directional gravity so difficult? In 9.8, one of the fundamental mechanics is the ability to walk around planets. This is not default behaviour in Unreal Engine, in which the built-in Character class has hard-coded vertical gravity. All the walking, jumping, crouching, swimming and falling movement code carries the assumption that the character’s Capsule collision is vertical, and that the player is moving in the x-y plane. I will go into detail as to how I navigated through most of those issues, but there was still one flaw in my alterations....

May 3, 2020

Building Gravity for 3 Dimensions

One of my favourite video games as a child was Super Mario Galaxy. It was my first ‘real’ video game, played on the Wii, and I was enthralled by the clever puzzles and levels Mario navigated with impressive jumps and flips over lava and quicksand. Disclaimer: I have never worked for Nintendo, and therefore have no idea how they actually created gravity in Super Mario Galaxy. This post is merely my attempt to replicate the feel in a practical way....

April 6, 2020