Project: The Negotiators

Project Description

Engine: Fraktal Oktav (in-house) and Unity (editor)
Duration: 15 weeks
Genre: FPS

Contributions

  • Editor
  • Node Scripting
  • Scene Management

Editor

In this project I focused mainly on enhancing our engine's editor. This included:

  • Scene view with free camera
  • Manipulating transforms from editor (ImGuizmo)
  • Debugging console
  • Scene handling
  • Data management
  • GameObject hierarchy
  • GameObject inspector

The editor was created using ImGui.

Node Scripting

I created my own node scripting system from scratch, for more info see: Node Scripting.

It was utilized for scene transitions, enemy spawning and conditional progression.

When killing the last enemy in the arena, the door opens, allowing the player to progress

Scene Management

As we still used Unity as our editor, we had to be reliant on the Unity-IDs that they generate. This created problems as we couldn't use these IDs to save data about our engine created objects and to link any objects to other parts of the engine (such as node scripting).

The solution was to allow for the scenes handling to be handled completely from our engine. This included serialization and deserialization of scenes using Json.