logo80lv
Articlesclick_arrow
Professional Services
Research
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
Order outsourcing
Advertiseplayer
profile_loginLogIn

Creating Tears of the Kingdom-Like Building System in Unreal Engine

Evelyn Schwab showed us the working process behind the building system inspired by The Legend of Zelda: Tears of the Kingdom and explained how Unreal Engine's Physics Constraint Component helped set up the mechanic.

Introduction

My name is Evelyn Schwab, I'm a game developer focusing on technical art and technical design. I started out in gamedev around 8 years ago with several small project attempts, pushing me to develop skills across a broad array of areas and into cross-disciplinary roles once I moved away from solo dev and more into the industry. My public projects are mostly game jams and vertical slices as well as another physics-heavy project, the Chaos Prop Destruction System, which I released to the Unreal Marketplace in mid-2022.

Unreal Engine

I started with Unreal Engine as my first major engine in 2017. At the time, Unity was still the dominating engine for beginner developers but, as someone with limited programming experience at the time, Unreal's Blueprint visual scripting system was a big draw to me. I still view it as one of the major benefits of starting out with Unreal, as it allowed me to familiarize myself with the workflows and problem-solving mindsets that are needed for game programming without being overwhelmed with C# syntax. Visual scripting is sometimes looked down upon as being a more limited form of programming, but, though I do prefer C++ nowadays for Unreal work, there's very little that can't be done with Blueprint. Unreal's feature richness and overall complexity can be overwhelming as you grow more competent with the tools, but the documentation and resources that Epic Games provides have improved dramatically over the years and are continuing to get better.

Unreal Engine has a wonderfully broad community of developers online producing resources, community documentation, and courses. I'm primarily self-taught and learned Blueprint and the engine features through online resources and documentation, but my C++ knowledge primarily grew from Tom Looman's deservedly popular Unreal Engine C++ Pro Course, which I would highly recommend.

I have also spent a couple of years teaching game development in a Tertiary context, and I believe that working with students to develop their skills and projects has allowed me to deepen my own expertise and apply it to a number of development situations that I otherwise would not have.

Building System

When a game releases with a very technically impressive mechanic, I think many developers find themselves heavily inspired by it. The physics-based fuse mechanic in the recent Legend of Zelda isn't an especially new concept, having been notably popular in Garry's Mod; however, part of the appeal of Garry's Mod is how hilariously unstable and explosive it can be. The Ultrahand mechanic in Tears of the Kingdom differs from other implementations, in that it's so stable and predictably controllable that it can be used as a key gameplay feature for solving puzzles, combat, and traversal. I think the fact that the viral clips of that game show players building amazing structures and having them work flawlessly, rather than showing the physics system shattering dramatically, says a lot about how impressive it is, even more so given that it runs on comparatively weak 2017 hardware.

Having spent a lot of time working with Chaos around Unreal Engine 5's release, I was inspired to spend a few hours putting together a prototype to see how well the system could be handled by the physics engine. After receiving a lot of positive feedback when sharing some early videos of that prototype, I decided to spend a little more time on it so that it could be released open-source for other interested developers to play with and learn from, and the scope has gradually ballooned since then to become something significantly more developed than I initially intended. Of course, I don't expect or intend for it to come even close to the polish that Nintendo's team achieved, but I've been having a lot of fun playing around with it.

Unreal Engine has an included Physics Constraint Component that can be used to lock two components together and limit their relative location and rotation physically. This component is the base for the system, with a selection of sockets placed on the fusible meshes that the constraint can use as a guide for how they should be connected. Initially, I was worried that Chaos (being relatively new) would struggle with complex constraints pulling in several directions, but that element worked flawlessly (after a little tweaking).

The challenging part was allowing the player to control how the objects constrain, and making sure that the way the player moves the objects wouldn't cause the physics system to fail. Similar to my prop destruction system, I found that impressive results could be achieved relatively quickly, but keeping everything under strict control proved to be much more difficult. I found the best way to approach these problems was to work within physical actions as much as possible, trying to avoid applying impossible forces, avoiding setting locations directly on physical objects, etc.

Vehicles

For the vehicles, Chaos does nearly all of the heavy lifting. Because it is designed to make sure physics objects react correctly when a force is imparted on them, all that had to be done to get things moving was to exert a force on the parts that should move. Once the constrained components were set up with appropriate physical angular limitations, Chaos was able to work out the rest.

Conclusion

I think Unreal Engine is an incredible toolkit and a great way to get started with game development. For beginner programmers and designers, the Blueprint visual scripting tool is an amazing way to dive into those workflows and start designing and implementing gameplay features without prerequisite programming knowledge. For artists, Unreal is a fantastic tool to implement and present work. With the introduction of new cutting-edge developer-supporting features such as Lumen, Nanite, MetaSounds, and the brand-new Procedural Content Generation Framework, there's no better time to be getting started than now.

Evelyn Schwab, Game Developer

Interview conducted by Theodore McKenzie

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more