Welcome to the Ultimate Engine

Introduction

The Ultimate Gaming Engine (UGE) is a game engine built specifically to target the web first. It uses Rust as its primary language of interface. Rust provides a safe interface for which to build software, while at the same time providing productivity of similar levels (though, not quite the same) as other scripting languages such as Python and Lua. We won't go over very much Rust in these tutorials, and we expect users to have a firm grasp on its basic foundations (Borrow checking, in particular). You can find more resources about Rust here: Learn Rust, and about cargo (Rust's package manager) here: The Cargo Book. The Rust Book is also an excellent source of information on the topic, and you can find some exercises here.

The engine itself is based on the Entity-Component-System architecture (or, ECS). The main advantages of an ECS are[1]:

  1. No programmer is required for designers to modify game logic (on a well designed system)
  2. Circumvents the “impossible” problem of hard-coding all entity relationships at start of project
  3. Allows for easy implementation of game-design ideas that cross-cut traditional OOP objects
  4. Much faster compile/test/debug cycles
  5. Much more agile way to develop code
  6. Better perfomance due to being able to take advantage of cache locality in the CPU

We definitely recommend reading through both of these series of tutorials to get up-to-speed with this architecture:

  1. Entity Systems are the future of MMOG development
  2. Designing Bomberman with an Entity System: Which Components?

Next steps