This weekend, I had an amazing opportunity, I joined a small group of teachers from across North Carolina at Epic Games in Cary, NC to learn about the Unreal Game Engine!
Our visit started off with a tour of the facility or at least the areas that we were able to see, that is. The first stop was a hallway lined by framed examples of products put out by Epic Games over the years. I never realized just how far back Epic's history went. It all began with a map on paper in 1991 and a game called ZZT with all of Epic Megagames titles distributed on floppy disks. I was thrilled to see Jill of the Jungle from 1994 on the wall which I had received in a mail order package of games back when I was in college. Somehow, I never realized it was created by Epic! The "wall of fame" identified several game titles such as Jazz Jackrabbit, Unreal Tournament, Gears of War, Infinity Blade, Fortnite, and of course, the release of the Unreal game engine.
The hallway opened up into a large open space where we were first shown pictures of Epic's teams located in offices all around the world. Epic is a private company but they have several worldwide offices including teams located in Germany, China, Canada, the Chair team, and so forth. But, their Cary headquarters contains the largest collection of employees in a single location.
This large space was also their cafeteria. We were informed that at Epic Games, all of the food and drink in the cafeteria is completely free. Employees can work long hours and Epic doesn't want their employees to have to worry about leaving the site to grab a bite. This is especially important at crunch time, when employees are likely to spend very long days in the office. I also noticed they had some areas to help employees blow off a little steam: there was a climbing wall, a slide from the second to first floors and several tabletop games such as air hockey. It looked like the game room also gave employees a place to play video games but it was nice to see they had options that allowed them to do things away from a screen if they wished. I'm sure that is important when you spend all day looking at a screen and a break from it might be nice at times.
When our tour ended, we returned to a conference room for the meat of why we were there: getting some hands-on experience with the Unreal game engine from the experts who created it! The conference room itself was amazing. They had set up laptops with separate keyboards and mice for us to use along with snacks and swag to take home. The hospitality they expressed was amazing and something that we, as teachers, are not accustomed to receiving. It was definitely appreciated!
We spent the next several hours going through the game engine. We explored interface basics and how to move around in the engine, creating a basic projects, basic workflow and standard naming conventions, working with objects (actors) and using blueprints for coding actions. To be honest, it was a ton of information and I could have easily spent several more days just getting my feet wet with it. But, a few things were abundantly clear to me from this experience.
For starters, using Unreal is a lot easier to understand than the Unity game engine, which is what we currently use in Game Art & Design as well as Advanced Game Art & Design at DSA. A lot of the features overlap between the two engines, especially when when you look at creating environments. And, the basic tools are similar to other software students learn, such as 3ds Max. But, the biggest thing that students struggle with in Unity is understanding the basics of programming using the C# language. This is often the point of contention for most of my very artistic students and while they can follow the steps in a tutorial, I often find they don't understand why they are keying in what they type despite several weeks spent on learning C# coding. Unreal helps to destroy this barrier of entry using a method known as blueprints. Blueprints are a node based method of writing code using a more visual interface instead of keying in line after line of text. In other words, it is very intuitive. That being said, one can access the code itself and code away to their heart's content, but they don't have to for the majority (or even any) of the game development process unless they really want to. This by itself makes moving to the Unreal engine highly enticing.
The next thing I noticed about the Unreal engine was the level of immediate functionality it provides to young game designers. Almost immediately, a student can get a game up and running simply by dropping any of the predefined actors into a level. Support is provided for common player modes including: 1st and 3rd person, puzzles, wheeled and flying vehicles, and even virtual reality! Creating the environment is as simple as painting what you want on the mesh using tools that are easy to understand. The same is true in terms of materials/skins and using particles, though the student will need to edit simple and easy to understand parameters as well. In short, students can get the basics down in a matter of minutes, not weeks!
Another important thing to note with respect to teaching young developers involves having access to up-to-date resources regarding the tools they are learning. Unreal has this mastered in a neat and easy to use online compendium of resources. One of my biggest complaints with Unity has been how they keep adding more resources with minimal updating for the current engine version they offer. In other words - they leave old tutorials relevant to earlier versions without providing easy to find information on how or even if they work with the latest version. It's a growing list with minimal replacement going back several versions that makes finding relevant resources more difficult, though not impossible. So, I am not a fan of their support site.
As a teacher, another area of importance to me is how well a company supports education. Epic has done an amazing job with this! The sheer magnitude of educational resources provided, access to in-engine assistance, and having expressed a willingness to help educators and students in person really fits the bill on this issue. Representatives from Epic games have been helping local colleges for quite some time now and we were the first group of high school teachers they have worked with but they expressed interest in continuing the conversations with us over time. Personally, I am looking forward to this and commend Epic for putting such effort into educating young game designers!
Also on the educator side, CTE teachers are constantly being told about the importance of making local industry connections for our students. Epic is a worldwide company that is directly relevant to our curriculum and students AND they are located right in our own backyard! On top of that, they are the creators of what is arguably the most popular game in the world at the moment. What more could a game design teacher want in terms of creating connections between content and industry outside of the classroom setting than to make a connection with them?
At the end of the day, I left mentally exhausted with a ton of reflect on. But, one thing is certain: I am completely sold on the idea that making the shift from the Unity game engine to the Unreal game engine is something we need to seriously consider. The cost is right (Unreal, like Unity, is completely free to use and contains no information sniffers, so privacy is ensured), it has a lower barrier to entry for learning, and with the company being local, especially when Unity is not local, makes Epic Games a great hands-on inspiration and resource for both students and educators. But, making this move is not without difficulties.
The Unreal game engine really needs a higher quality computer than what we typically have in our classrooms. My student machines are running with an i5 processor, 8GB of RAM and an older NVIDIA Geforce GTX 680 graphics card. I have tried running Unreal on this setup before (and plan to test it out again soon) and as I recall, the experience was excruciating! The engine lagged, it stopped running at times or had graphics issues and it crashed, quite a bit. Maybe I need some assistance tweaking settings to make it operate more efficiently and plan on reaching out to Epic once I verify our specs, but the laptops we used in the training were i7s with NVIDIA 1070 cards in them. I forgot to ask how much RAM they had. Testing the engine on my personal laptop with an i7, 16GB, and an NVIDIA 1060, it runs smooth. So, we need to think about what we purchase when replacement machines are due for labs teaching game design. On the bright side, the cost of such high quality hardware continues dropping every day and finding a system with the specs to run Unreal for a reasonable cost shouldn't be too hard by the time we are due for replacement machines.
A second concern is the discussion of 2D vs. 3D games. Unreal is designed mainly for 3D game creation and we didn't discuss the possibility of 2D in our training, but there are some options for game modes that imply it can be used for such. This is just something that will need additional investigation. But, I wouldn't let this stop me from using Unreal in my classroom.
In short, nothing is perfect, especially when talking about using technology in a public school system setting. But, I believe the pros of making a switch from Unity to Unreal far outweighs the downsides. So, I'm going to make a concerted effort to ensure we can and do make this change, supporting a local NC business while that same local business supports our education efforts.
I am a high school Career & Technical Education (CTE) teacher located in Durham, NC with a focus on game art and design. This blog provides a place for reflection on relevant classroom practices.
The views and opinions expressed in this blog are solely those of the author and do not represent those of my employer or anyone else associated with Durham Public Schools.