Brahma is a 3D game engine with a rather retrofuturistic design, intended for small studios and solo developers. It's being written from scratch in C++ using standard Windows API and no third-party libraries. This technology introduces an entirely new class of low-latency real-time engines that make special timing requirements, treating frames as video fields with a target time budget of 2-4 ms each, down from 16-33 ms frame budgets normally seen in game engines. It evolves in a different way than other modern engines, rejecting conventional BSP, Z-buffer, floating-point coordinates, and most of the lame screen-space effects in favor of innovative and efficient techniques. The engine is non-Euclidean capable to some degree; also it supports true displacement mapping for sectors as a means to virtualize geometry that affects collisions. The engine is also carefully designed to be easy and convenient to develop for, yet versatile and adaptive to any needs.

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Add media Report RSS Using multilayer sprites to distinguish Duke3D sector effectors (view original)
Using multilayer sprites to distinguish Duke3D sector effectors
embed
share
view previous next
Share Image
Share on Facebook Post Email a friend
Embed Image
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account:

Description

Drawn a multilayer version of the sector effector icon to demonstrate how BHS layers could be used in game development. As the map importer now associates sprite lo-tags with corresponding layer select bytecode instructions, we can see tags of effectors present in a map.

Unlike layers in graphic software, these layers are meant to be drawn separately. In essence, BHS "layers" is an additional dimension for ordinary 2D bitmaps, allowing us to store several images as a single data entity. This is useful for monospace fonts, decomposed voxels, some animated textures, icon libraries and other large collections of similar bitmaps, all of which share the same size and format, differing only by their content.

BHS format offers an efficient multi-tier system of game data organization. Both graphic and audio content is organized into numbered slots, which may contain mipmaps (levels of detail), mipmaps may contain same-size layers, layers may contain rows (scanlines), rows contain columns of pixels (or sound samples), pixels contain up to eight channels, and lastly, channels may be divided into X/Y components for vector fields such as normalmaps. This builds up to seven levels of data addressing, making BHS a very powerful format.