Fork me on GitHub

Lera3D - Architecture Overview

written on June 17, 2012

Once again after a long-hiatus I'm back and kicking ass, very close to having enough technology ready to start the pre-production of Ancestria, our steam-punk action-adventure.

Personally, I put a lot of effort into the general design and architecture, always reworking and refactoring until it feels easy to use, this is why certain things take longer or seem to take forever for an outsider. There's no pre-mature optimization or overengineering going on, everything must be easy and powerful enough for me to use on a day-to-day basis.

A couple of key principles:

This is the first of a series of posts in which I want to detail the design and general architecture as well as go into implementation specifics where necessary or makes sense.

After I catch up, I intend to post regurarly about the new stuff added or modified.

In terms of graphics (a.k.a renderer), like I mentioned above, low-end hardware will be fully supported out of the box, I cannot say as of now how low is low?; that will reveal itself during the coming months; one can expect Tomb Raider: Anniversary (~ 2007) level graphics on the day of release.

Tomb Raider Anniversary

Tomb Raider Anniversary

Tomb Raider Anniversary

Without any further ado, some diagrams offering a high level overview of Lera3D's portable architecture.

Lera3D

Core

Lera3D

Interfaces

Lera3D

Plugins

Lera3D

Game

Lera3D

I consider the core frozen now, which means that there won't be any major changes in the coming weeks and I'm in the process of building up the default set of plugins that will be bundled out of the box and will power the first episode of Ancestria.

Next time, we'll take a deeper look into the core and its underlyings.