top of page

Time Jump Project

Roles: Programmer

Time Jump was one of my first mini systems in UE4 as a programmer. It was part of a 10 week course to learn the fundamentals of the engine and I worked specifically on switching between two environments. 

Project Objective

The class objective was to create a small scale game with a function HUD, interaction, and a re spawn system. I set out to emulate the ideas I had seen in Titanfall 2 while meeting the class criteria

Outcome

I was able to meet all of the objectives that were set. Much of the code was focused on trying to avoid the huge amount of edge cases that arose during development. However, the experience works as intended and can be scaled to include more than two time periods.

Issues & Take Away 

Because I used assigned Tags I had to go in as the programmer and manually set all of the various actors to toggle in a massive sequence.  I decided to create a single master function rather than numerous unique events so that as a designer I did not have to edit each of those events for every single actor I would create. Additionally, this master function was placed in the gamemode so that it could be accessible from every actor including the player actor. This way story moments (in the form of trigger boxes) could cause the switch, not just the player.

ToggleVisGameMode.PNG

At the time I didn't know much about material transitions. But, even if I had a mastery of material transitions those alone wouldn't have met one of the objectives I had in mind. For me the system had to work even if the mesh itself was changed, which a material transition couldn't do even with tessellation. Because of that restriction I decided to build upon the tag system already a part of the engine instead of coding in a new way to identify objects and their states. This also means that there could theoretically be an infinite number of overlapping items with unique tags for each time zone.

A year of training and working in the engine has taught me better ways to approach, design, and execute this idea. For example, I would use material transitions where possible and create AI instead of using actors on splines with timelines. There's plenty of other things I would do differently both as a programmer and as a level designer. However, a lot of what I have gone on to create are direct improvements on the ideas and systems I first envisioned on this project.

bottom of page