The End Of Into To Unreal

Host

The End of Intro To Unreal was meant to be my final Unreal Engine workshop at NJIT. My main objective was to introduce participants to Unreal Engine, showcase the exciting things possible in Unreal, and leave participants with the tools to fundamentally solve any problems they may come across in their game dev careers. Past experiences taught me that the presentation of a lesson is equally as important as the content itself. The remedy to this was a live in-game presentation. My unexpected and seamless demonstration of the power of Unreal Engine was extremely effective at engaging my audience. Overall, the workshop was a big success and I’m happy to call it the culmination of my experience at NJIT.

Project Tasks

Early Workshop Experiences

Though not taught in any of my curriculums, teaching was one of my many skills honed during my time at NJIT.

As an IGDA eboard member for practically all of my college career, I had multiple opportunities to host workshops. These early workshops were far from my best work however. At the time, my knowledge of Unreal was lacking so I couldn’t teach much outside of the basics. The lack of confidence in my own ability was apparent; my constant stuttering and shaky voice couldn’t didn’t keep my audience’s attention for long.

My biggest takeaway from these early workshop days was how to appeal to the perspective of a novice. Since I was learning Unreal myself, I knew what sort of lesson structure worked best for someone with a limited knowledge of the subject. I was sure to limit my explanation of theory, and to immediately make apparent the practical and tangible applications of the content.

As my skills developed, so did my workshops. My boost in confidence was palpable and I was able to captivate my audience easier. With my increase in knowledge, I was able to show far more than basic blueprinting. I was able to teach materials, animation state machines and even particle effects.

Real World Connections

Real World Connections, or RWC, was one of the many tracks open to me for my capstone at NJIT. As an RWC Coach, I would be creating and teaching a 10 week long curriculum to a select group of students from 3 different local highschools. I thought the opportunity would be perfect for me considering my experience. I interviewed with the director and was able to secure my position as the sole coach for the RWC game dev track.

RWC Brochure Poster

I designed my curriculum to cover each aspect of the game development process in an easy and streamlined manner. The early lessons would establish the game concept and provide ample time to design, prototype and polish and main mechanic. The rest of the curriculum was dedicated to choosing project roles and building out systems and levels. These were student-led courses, so I kept my planning vague, but the essentials were there.

With my audience being completely virtual and much younger than usual, I had to make sure each lesson was as captivating as possible. I ended up striking a balance between keeping the lesson exciting, informational and digestible for my audience; all the while making sure to accommodate for student-led adjustments.

During our initial lessons, the students were ready and eager to make some sort of horror game. I didn’t want to extinguish their passion, but horror is a difficult genre to replicate and is extremely art and design heavy. I tried to articulate that we wouldn’t be playing to our strengths with a horror game. To demonstrate my point, I diverted from the curriculum and showed them Celeste, which is a game based around a deceptively simple main mechanic. Inspired by Celeste, my students shifted gears toward a 3d platformer designed around a bouncing character navigating linear levels.

Celeste's main mechanic: the dash

Despite my constant adjustments to suit the material to my students, there were some severe tribulations. As previously mentioned, these were online classes. As such, it was extremely hard to read the room. Students were outgoing during our design discussions, but were extremely reserved during the more technical demonstrations. Unable to closely assist my students, I’d often find out that they’ve fallen behind weeks after the fact. Aside from these setbacks, I’m still very proud of my student’s final product.

The bounce game was a huge success. The director, judges and parents were thoroughly impressed at our final presentation. The director even went so far to say that this game dev presentation was the best in the history of the program. I’m glad that my student’s passion was able to shine through, despite all the setbacks.

A demonstration of our character bouncing

The Beginning of the End

While I certainly took pride in the RWC bounce game, the difficulties of teaching an online class left me longing to finally prove my teaching ability. Still close with IGDA’s eboard even after my graduation, I proposed the idea of an Unreal workshop to them. Since I was one of the few Unreal developers during my time at NJIT, there was a void of knowledge left after my departure. With me eager to pass on the touch and IGDA eager to have Unreal be taught to their new members, we moved forward with the workshop plan. 

Finding the Essence of Design and Development

My biggest failing as an RWC coach was how arbitrary some of my lessons were. Introducing new concepts with no consistent toolset or fundamental understanding seemed to damage my students’ confidence. I was giving them knowledge, but I wasn’t giving them the tools to solve problems themselves. This created a dependency on me to show them exactly what to do and how to do it, and a reluctance to try new things out on their own. Working to remedy my past mistake, I knew my workshop had to be cohesive above anything else.

In order to build a more consistent lesson, I had to take a fundamental look at what exactly I was teaching; I had to break down the essence of game development. I came to the conclusion that a game in its simplest form is an interactive medium. Personally, the first time I ever felt confident in my development abilities was after learning how systems could interact with each other. Confident in my conclusion, I decided that interaction would be the thesis of my final workshop.

The interaction thesis was compelling, but my outline still had some noticeably arbitrary moments. I had a tough time “solving” fabricated problems without pulling something out of the blue. Again, I tried to break down my problem solving methods into their basic steps. I determined for every problem in any object-oriented programming language, there’s 3 basic questions you need to answer:

What data or information do we need?

When and where do we need this information?

What is the most efficient method of getting this information where it needs to be?

Here’s an abridged version of how this method helped me explain overlap events and casting:

We know we need to tell the player how much damage they’ve taken and subtract that from their health bar.

We need to get the damage amount from our damage actor to our player onoverlap.

In our player character, we can cast to our player character onoverlap, and pass our damage amount into our damage function.

This method was very effective and I made sure to refer back to it constantly throughout the workshop.

Live In-Game Presentation

My introduction was by far the driest part of the entire workshop. I knew I needed the introduction to give context to my workshop and convince attendees that Unreal was a tool worth using, but the lack of any game content could end up boring the audience. I needed to make a good first impression, so I came up with the idea of a live-in game presentation.

The intro of Intro to Unreal: The End of Intro to Unreal
(In game presentation “starts” around the 4 minute mark)