Skip to content

Project Description

davido262 edited this page Nov 5, 2012 · 1 revision

Philosophy and objectives of the project.

Motivation

I was looking for a fast, lightweight, efficient and portable game engine. After looking everywhere I could not find any open source solutions. They are all big monstrous projects, and most of them are commercial products. I wanted something for which I had the source code to be able to add new features in case I needed. I decided to write my own engine and make it using open source using industry standard solutions.

Objectives

  • Make a free and open source engine that can be used for any kind of software (games, scientific or any other) without any restrictions
  • It should be fast, lightweight, efficient, portable, modular and scalable
  • It should be able to run in Linux, Windows and Mac (with possible future support for Android and iOS)
  • It should also be able to run in older hardware as well as the newest hardware
  • It should be as simple as possible while offering the required features
  • It should be a general engine, adaptable to any kind of project

Philosophy

  • First and most important: this is and always will be a free and open source project
  • Avoid complexity; implement only one good general algorithm, sacrificing different ways to do the same job (except when more than one way is viable and they all have their own advantages and disadvantages)
  • Prefer industry standard solutions such as XML instead of user defined files (except in performance-critical situations)
  • Every event should have its own command in the Command Terminal (except critical commands which the user should not be playing with)
  • Every algorithm should be as general as possible to avoid restricting freedom
  • Common specific algorithms should be provided or easily achieved by general algorithms
  • Code readability is preferred over optimization
  • If it is a critical performance area it is fine to optimize code, but comments should be added as necessary
Clone this wiki locally