Architecture

Ransacked is built with an Entity Component System framework that I created called Provence ECS. All the logic is broken down into systems that communicate with a pub-sub style event system.

Lots of work has been put into decoupling Provence from Unity, especially serialization, it has been great, and a really wonderful learning experience.

It's a pretty simple framework, that is constantly growing.

In addition to the logic, Provence includes an UI library I constructed that piggybacks on Unity's UI Toolkit. I'll discuss it more in the Tools section of the breakdown.

I wanted to make note of the architecture because I will be referring to a lot of entities as units throughout the breakdown. They aren't objects in the Object-Oriented sense, but rather a collection of the same base components, and can vary greatly and grow from these base points. Think of it more as a desired outline of an entity.