A way through the maze: Using a Game Development Tool todays at the showcase Unreal Engine

Oliver Rode
5 min readDec 13, 2020

--

It is really amazing what happened in the development of computer games, affecting many use cases of beyond and how easy it is now to get involved as developer.

As a computer science student, I’ve started almost 30 years ago coding with C in a scientific institute coding working on their ray tracer with tracing for half shadows and refraction materials. At this time I had never expected a development and runtime engine like Unreal will come up some days. Even a year ago I had no idea how powerful and easy to access such engines are accessible for developers today; I know even about a hoax where a guy faked plans of a whole development company. Since I’m an inventor and software architect I scan for products capable of be used to develop for augmented reality, an area where I have activities.

For a kick-start to look behind the scene, I decided to get familiar with it, by modding (customizing through users) an existing product and using the engine of that game. That gave me a broader insight about how a final product is organized. So I started experimenting with realization of client/server communication, visualization and much more through a couple of scenarios, like adding procedural buildings and dungeons with my desired illumination to it. With the background of coding for two dozen years in business, starting with Java using technologies like enterprise messaging, cloud and web services and so on, many development concepts was not new for me. However, I was surprised how far the 4th generation language “Blueprint Editor” product, required to be used for this scenario was, that makes development much more stable, easier and accessible.

This gave me a good starting point, but some ideas and concepts and many features of the product can’t be understood that way. After switching in my Christmas holidays, I’ve looked for education content and spotted the Unreal Online Learning (https://www.unrealengine.com/onlinelearning-courses) and the running fall challenge of 2020. One challenge was to master the content; another challenge I had just three days left. Afterwards, I understand now much more about how professionals work with the product and how to handle it myself. The challenge contained five courses you have to pick out of several dozen organized in a portal looking like a polished version of moodle or that kind. Each course is web based training contains a dozen of less than 10 minute videos showing somebody explain working with the unreal editor and some quizzes without time restrictions. However, to pass the quiz it requires you understand the product and do not just repeat phrases of the video. It is maybe not crucial, but make it much easier, to have hands on experience with the product for these courses. Training projects for the unreal editor are available, but some I could not loaded into the most current versions 4.25 or 4.26. There are also more courses for beginners that do not require prerequisites and I would recommend visiting first. After passing the course you get a badge, but I really miss a link to a dynamic banner image containing all my badges I can link into any other forum signature ;-)

Finally, I share my experience on these five challenge courses here, but will not explain the courses content in detail. Each course has an overview and comments of users everybody can read himself. Some aspects of UE4 have been solved product-specific and had been unclear to me before, so I would recommend all five of them. I would like to point out some of the individual highlights and surprises I personally had with each course:

Build a Detective’s Office Game Environment

I would recommend visiting this first. It tells you how important it is to plan the story in front of development — well this was not really a surprise. It also does not explain how to organize a project, but how iterate on geometry by starting with block-out and refinement is crucial for iterative and team development. It is important to visit, because of unexpected details about naming conventions and collisions. This course is a must read if working with geometry, light and materials.

Ambient and Procedural Sound Design

Also a first read, because of overall teaching about audio immersion level design to be planed early. Learned details about sound positioning, that gave me new ideas how to use this feature in business outside of game development.

Dynamic Audio

I would recommend this course, because in demands to reserve sufficient time in this development area needed to be planned in to get amazing results! Look at the Detective’s office above how a world feels without dynamic sound effects.

Creating Photoreal Cinematics with Quixel

It contains no quizzes and gave me an impression about visual quality aspects and tools that are required to finalize a product. I would also recommend it to know what might be required to do. Get a bag of popcorn and lay back.

Converting Blueprint to C++

Well, this course is truly for developers. You will not understand everything if you do not have sufficient background. As developer, I now understand the product better and I would recommend it as background for professionals planning serious development. The course explains how easy it is to transform your “super class” blueprints to C++. However, I would not recommend professionals to code in C++, unless you really need it. Not because C++ is bad, but because the Blueprints is so easier. As mentioned by the author, with my experience over decades of software development, performance will be in most cases no sufficient architectural reason to use it, since the engine itself is written in it. Hence, for individual you can skip this course, for development teams, that can’t organize themselves in another way and need to split their work, I agree that using a version control like GIT and C++ development is here the only way and the course shows how to do that. As a Java developer I see no need to offer a Java API in future, since this is more about a product and not about a programming language. Enhancing interoperability with third party products over protocol standards like RESTful web services would be sufficient.

--

--

Oliver Rode

Full-stack Software developer, architect and inventor working at a german transport company.