saveTheWorld.exe


by Raveyard

This game is still in development and is planned to release the 15th of April and this contents of this page will be updated after it's release.


Scroll down to continue reading

This is project was me and my teams final result for the mandatory 3rd person shooter project. Our reference game was Resident Evil 2 (2019) so in this game we wanted to focus heavily on resource management and creating a heavy horror atmosphere.

You play as a B9 human companion unit, tasked to shut down the evil mainframe that has corrupted the islands robot production. If the Zombot army isn't stopped here and now, they will never be.

During this project I was tasked with implementing a node editor from our individual courses for our engine, allowing workload and design decisions to be moved from programming to other disciplines.

The Node editor

Our node editor uses an old version of thedmd's node editor that uses Dear ImGUI. In our individual courses at TGA, we were tasked with getting to know this node editor and develop new nodes and features on top of a teachers wrapper for a 2D engine. The largest feature we added as part of the curriculum were copy and paste support, making sure to keep relative positions and data when the nodes are pasted.

The big challenge was tailoring this wrapper class from a 2D engine to a 3D engine, this proved to be an arduous task when the wrapper author quit the school and the other teachers didn't have the time to research it to be able to help. After reaching out to other groups I found the missing link, a very specific branch of Dear ImGUI was needed for it to even work. The node editor sadly wasn't done in time to be ready for the other disciplines in this project but I am certain that for the final project it will be a key piece for our productivity.


When implementing these scripts in Unity, I've added a list of 10 game objects that I call "targets" that can go with each scriptcomponent and are accessible through the TargetGameObject node.


Pictured to the right is a script ordered by our Level Designers for our doors. When the gameobject holding the script is shot it allows flow to pass to the Lerp node, which in turn gets its starting position by getting the script owner's first target's position and moving it to the same target's position but 2.25 units up in the air over 2 seconds, as requested by the level designers. The script then sets the first targets position to the result of the lerp.

Example of node-code.
An Add-node.