Legends of Eisenwald

Legends of Eisenwald is an original mix of RPG and strategy, with tactical turn based battles and a simple economic model. Rich possibilities of gameplay mechanics allow a player to feel being a hero of different stories ranging from treasure hunt to fighting for the throne.

Own engine as a way of efficient and cost-effective development

Опубликовал Roman Egorov в
Monday 10, November, 2014

This post is also available in: Russian

1

About author

2Nikolay Armonik is a founder and technical director of Aterdux Entertainment. He wrote his first engine in assembler for VESA in DOS. His first game using his own engine is Japan Riddles Japan Riddles, 1998, shareware, Win95/DirectX. Works in games industry since 2000. Engine for Legends of Eisenwald is the engine #9 that is written from scratch.

Differences about writing engines in ancient times and now

Volumes of processed content in games grew significantly unlike the principles of games architecture.

 3

What is “Legends of Eisenwald”

  • Indie Project

  • Huge premise

  • Small team, very little (or not at all) money

  • Creative development (many changes along the way)

Why does a project need a new engine?

Why did we need our own engine:

  • To do everything with a minimal amount of man hours

  • Minimal requirements to hardware

  • To get highly manageable visualization

  • To reach specific technical requirements

  • Not to depend from alien closed paid code

  • To have flexibility for constant development and upgrade

Why invent bicycle?

The most popular reason not to develop your own engine.

 4

The correct answer. No need to ivnent. It’s more efficient to user other people solutions but not the whole architecture.

Details of creating the engine for Legends of Eisenwald:

 

  • The engine was written by one person

  • Approximately one year of development

  • The volume of code ~20k lines (in game total ~100k lines)

  • Own tools (textures, models conversion, arena editor, UI scripts editor)

  • Utilized functionality (3D-rendering in all variations, connecting any own shaders, simplified level for 2D, multimeshes, skeletal animations with blending through double quoternions, automatic optimization of render-conveyors in scenes, GUI on own interpreted scripts, and much much more)

  • Absense of own architecture! (framework-style)

Percentage of the engine code in the project code

5

 

Percentage of code in the project

6

 

Growth of the engine code

7

Growth of the project code (without engine)

8

Comparison of code growth in time

9

Own engine: efficiency principles.

It is worth doing.

Own engine efficiency depends on the limitations it imposes.

  • Create framework, not the engine

  • Don’t build in inflexble infrastructure

Use standalone solutions from open source.