Skip to content
Alex Foster edited this page Jan 24, 2020 · 9 revisions

Welcome to the imprimis wiki!

Imprimis is a Tesseract based team shooter which aims to provide focused, balanced team gameplay while also being easily modifiable for other gameplay types. As a result, Imprimis strives to be as well documented as possible such that the game can be forked and modified without input from the original developers.

Game Design

Imprimis supports one team-based objective mode only. This is done to ensure that the released product is as easy to use and of as high a quality as can be done with the resources at hand, and to ensure that balance can be well optimized to a single type of game. For the rationale for the game design, see the Design Document.

Rendering and Engine Graphical Mechanics

The engine which Imprimis runs on is the Tesseract engine, a modern deferred shader rendering system which leans heavily on binary space partitioning to define its geometry. As Tesseract is not implemented with the same philosophies as other 3D engines, level building has to be done with awareness of how the engine functions.

This section confines itself to engine parts which are not a part of learning the edit interface, such as the implementation of particular engine functions.

Occlusion

Game Routines

A lot goes on in the engine aside from the rendering pipeline. Things like client-server behavior, physics, sound, and similar functionality will be documented here.

Netcode Overview

Level Editing

As opposed to the aforementioned section about the mechanics of the Tesseract engine, the level editing section is intended to provide more concrete explanations of how to do things in the engine. Understanding of the game's renderer at a more general level, however, is highly recommended for those who wish to make performant maps.

Entities

Objects in the game which are not level geometry are defined as entities. This includes players, bots, sounds, lights, sounds, particles, and other objects.

Light Entities

Cube Geometry

The majority of the level is made up of geometry comprised of cubical subdivisions. This type of geometry is quite efficient at certain tasks such as occlusion, but requires special techniques to maximize.

The Octree

Materials

Tesseract supports a handful of materials which can be applied on a cube-by-cube basis around the map. Some of these are visible and some are not, but all of them are useful tools to have to make a good level.

Edit Materials

Environment Settings

Tesseract supports simple procedurally generated atmospheres as skyboxes along with standard static skyboxes. Additionally, Tesseract supports directed sunlight, ambient, and other light effect options to build an appropriate ambiance for a wide variety of maps.