BRender

From Carmageddon Wiki
Jump to: navigation, search
Brender2.gif
BRender Power Rendering System
Developer(s) Argonaut Technologies Ltd
Designer(s) Jez San
Sam Littlewood
Dan Piponi
Platform(s) Microsoft Windows
MS-DOS
Mac OS (Classic)
OS/2
Sony PlayStation
SEGA Saturn
Release date(s) 1994: v1.0
1995: v1.1.2[1]
1996: v1.2.1
1997: v1.3
1998: v1.4
Genre(s) Graphics engines


Argonaut's BRender (abbreviation of Blazing Renderer) is one of the first development toolkits and a real-time 3D graphics engines for computer games, simulators and graphic tools. It appeared in the software-rendered engines era, during 1994, and was developed and licensed by now defunct Argonaut Software. The engine had support for Intel's MMX instruction set, software drivers including DirectDraw, and in later years was able to make the jump to hardware-rendering via its 3D hardware device drivers. It supported Microsoft Windows, MS-DOS, Mac OS (Classic), OS/2, Sony PlayStation and SEGA Saturn platforms. It was competing at the time with two other graphics engines: Criterion's RenderWare and RenderMorphics' Reality Lab.

Besides the performance and portability, part of the appeal is due to its accessibility as it came with standard support for popular 3D and image formats (especially 3D Studio Max), with extensive documentation and examples, and with a diverse licensing/pricing range as well as trial packages. Many industrial and entertainment softwares used BRender for rendering such as SGI's FireWalker[2], Microsoft's 3D Movie Maker and Electronic Arts' Privateer 2. As consoles embraced graphics engines, its PlayStation support also ensured its use for many titles on the platform until the early 2000. While famous until the late 90s to the point of versions 1.1.2 and 1.2.1 being pirated[3][4], the development kit has completely vanished since then and most of the currently available resources have resurfaced thanks to archiving efforts such as the Internet Archive and its Wayback Machine.

Even though the retrogaming and modding generation didn't hit BRender-powered titles as hard as popular games such as Doom, in the 2010s BRender is still at the center of ongoing projects as the 3D Movie Maker, Carmageddon and Croc online communities develop new content and tools according to the engine specifications.

BRender and Carmageddon[edit]

Graffitis in BRoom

Patrick Buckland and Neil Barnden were subcontracted to work for Argonaut Software around 1995. They were mainly responsible for the Mac and PowerMac ports of the BRender API[5]. As Stainless Software, they also developed the gamelette BRoom, a Descent-inspired 6DoF FPS, as a technical demo showcasing BRender's capabilities. Despite the small scope of the project, obvious similarities to the future Carmageddon title are apparent: the genre is car-combat and some 3D models are near identical to their Carmageddon counterpart (minus the textures). The metallic and industrial style of the level is also similar to the industrial environment in Carmageddon which was the first level to be set up in the alpha[6]. In 1996 they developed BRender Plaything which is self-introduced as a utility for the creation & editing of BRender resources and is an improvement over the then-existing BRview tool. Plaything was a great addition to the BRender toolset as previewing and preparing 3D assets was made easier in its WYSIWYG interface.

" After trying various packages Stainless Software chose to write Carmageddon with BRender because it was the only rendering solution which allowed the features and the level of flexibility we needed.
The API was written by gamers for gamers, and that makes a great difference which we hope is reflected in the quality of our software.[7]
-- Mat Sullivan "


In the meantime, Stainless Software took advantage of their Mac port[8] and knowledge of BRender to go on with their own effort, still titled 3D Destruction Derby at the time they pitched it to Sales Curve Interactive[9]. Adding their collision and deformation system upon BRender as well as a yet improved Plaything suiting the development needs, Carmageddon was on the way. The way the physics code and action replay system were added made them indissociable from the BRender graphics engine. Despite already implemented in the base game, BRender blend tables were only taken advantage of in the Splat Pack expansion to achieve translucency in level materials. At first the game made use of the engine's flagship feature, the software rendering, in both 320x200 and 640x480 resolutions in MS-DOS. Both modes were made available from the Windows 95 environment some time later. And finally Voodoo and Voodoo2 support was painstakingly added even later as 3dfx patches.

Stainless posted an ad in EDGE issue 26

By then, Carmageddon 2 was already in development. Again an enhanced version of Plaything, promoted to Plaything 2 for the occasion, coupled to new 3D Studio Max 2 plugins helped the developers create and setup the levels, cars and pedestrians for the game. Carmageddon 2 put the emphasis on hardware accelerated graphics by support of the Direct3D, Glide and RAVE API. Software mode was also featured but this time only in 320x200 and within Windows. It must be noted that unlike Carmageddon 1, graphic assets for Carmageddon 2 weren't made with regard to the software mode 256 color limited palette. This is explained by the focus on 16 bit textures to map the environments.

" Carma was probably the highlight of working on BRender - they were a great team - I used to drive down to the Isle of Wight to do support, every visit would see more craziness.
They were unashamedly making something that they themselves wanted, with really very few concessions.[10]
-- Sam Littlewood "


While not the last game to use BRender, Carmageddon 2 is probably to most ambitious and the one to take BRender the farthest. At that point, by the addition and update of their physics code, artificial intelligence, and development environment, Stainless Software had basically turned their heavily modified version of the BRender graphics engine[11] into a proper game engine, nicknamed Beelzebub[12]. This, with the early release of development tools, might explain the longevity of the modding scene for the game, each year pushing asset complexity a bit further. The game was patched a couple of times. Amongst other things, patch 1.02 (aka. v2) raised the resource limits greatly and allowed much larger fan-made levels.

After the release, they used a modified Carmageddon 2 as a base to pitch a Hot Wheels game to Mattel but it didn't go further. The Hot Room level and die-cast car Flashfire were available amongst the C2 development assets and brought back into the game by fans. Stainless Software then moved on to a gladiatorial 3D physics based combat game project using their BRender-based game engine: Arena AD was set to be released by late 1999 - early 2000 and seemed to be quite advanced when it was showcased at E3 '99[13]. However a mishap in development schedule tore apart the already tense Stainless-SCi business relationship and had financial consequences. This was not only the end for Arena AD but for Stainless Software as well, the team had to merge with VIS Entertainment. In late 2001, Patrick Buckland revived the studio as Stainless Games and the rest of the team was back by 2003, Neil Barnden included.[14] They brought back their own Beelzebub technology elaborated through the Carmageddon series development, and little by little replaced the last remnants of the BRender engine in the code as they modernized the graphics engine features.

Decline[edit]

Out of the three competing british graphics engine, Criterion's RenderWare, RenderMorphics' Reality Lab and Argonaut's BRender, the latter bit the dust, mainly due to Microsoft and their Direct3D API. After courting the three competitors, Microsoft announced the acquisition of RenderMorphics and their Reality Lab product in february 1995. This happened two days before BRender's official launch and despite Microsoft using the technology for 3D Movie Maker. When Reality Lab, now renamed to Direct3D, shipped with DirectX 2.0 in june 1996, Microsoft promoted it as the industry standard and gave away 3D technology licenses for free.[15]

" Basically, no one competes with Microsoft and wins.[16]
-- Jez San "


While BRender was able to make the jump from software to hardware rendering and worked on a broad range of platforms, Argonaut couldn't compete against Microsoft's free technology and eventually pulled out to concentrate on making games instead.[16] It can be argued that BRender could have survived as an engine had it embraced the Direct3D backend earlier rather than actually trying to compete with Microsoft for hardware companies' attention. RenderWare on the other hand evolved from PC-based graphics engine to a mainly console-focused game engine and became one of the most used engines for PlayStation 2 titles thanks to Criterion working closely with SCEI during the console's development.[17]

BRender scene setup and formats[edit]

See External links for the complete technical reference manual
A typical scene hierarchy passed to BRender.

Scenes in 3D worlds are described to BRender in terms of components called actors (actor data structure). Each actor represents a frame of reference in which geometric models (model data structure) (objects, shapes, polyhedra, etc.) and other actors can be positioned and oriented. This scene description often builds up to a fairly sizable hierarchical structure. Actors may perform a variety of different functions. There are three primary types of actor: model actors, which define shapes and their surface properties; light actors, which provide light with which models can be seen; and camera actors, which determine the viewpoint from which a scene is rendered into a 2D image.

A model actor may specify, or inherit from a parent, a default material (material data structure). If a material is not explicitely assigned to a model, it inherits its parent's default material. If no material is associated with the parent actor (or if no parent actor exists) a default flat-shaded grey material is used. The material data structure contains information about the appearance of a surface - its colour, whether the finish is flat or Gouraud, etc. The material data structure may reference a texture map (pixelmap data structure). Fundamentally, texture mapping is a process whereby a two-dimensional pattern is wrapped around a three-dimensional model.

The following doesn't necessarily apply to console ports of BRender

By default, actors, models, materials and textures (pixelmaps) are respectively stored as .ACT, .DAT, .MAT and .PIX files. Shade and blend tables as well as palettes are pixelmaps with .TAB and .PAL extensions. Some games might store information differently, modify the format specifications or use different formats altogether. All BRender formats but the actors can be aggregated into single, bigger files with their respective extension, serving then as libraries of sorts. Materials can be stored as binaries or as clear text as seen in the example below:

material =	[
		identifier = "block";
		flags = [light,prelit,smooth,environment,environment_local,perspective,decal,always_visible,two-sided,force_z_0];
		colour = [0,0,255];
		ambient = 0.05;
		diffuse = 0.55;
		specular = 0.4;
		power = 20;
		map_transform = [[1,0], [0,1], [0,0]];
		index_base = 0;
		index_range = 0;
		colour_map = "brick"
		index_shade = "shade.tab"
	];

Tools[edit]

Processing resources through the BRender toolset.

Back then, a number of tools were provided to assist you in pre-preparing data for use in BRender programs:

- 3DS2BR converts Autodesk 3D Studio files saved in .3ds file format to BRender .dat format.
- GEOCONV manipulates (scales, centres etc.) model geometry and converts models from one geometry format to another.
- DXF2BR is a geometry converter that converts AutoCad .dxf files to BRender .dat format.
- TEXCONV is used to import and manipulate textures.
- MKSHADES is a tool for creating shade tables.
- MKRANGES is used to construct customised palettes using colour ramps.
- PALJOIN is used to cut and paste palettes.
- VIEWPAL is a tool for displaying palettes on the screen.

The three following tools were available on-demand or on BRender's website:

- TECHDEMO lets the user build up a scene in BRender without even writing a line of code.
- PLAYTHNG (Plaything) loads in an actor, model, material, palette, and shade table to create a BRender scene. (Windows only)
- BRVIEW is used to visualise, inspect, walkthrough and modify 3D designs in real time. It was sold separately[18] and only the commercial version could import models in the form of .DXF or .3DS files.

The following are modern Carmageddon-oriented tools. However as the formats used in Carmageddon 1 and its sequel didn't change much from the BRender standards, these tools can be used to a certain extent to generate content for other BRender titles.

- CarEd was released soon after the release of Carmageddon 2 and is an entry-level JAVA-based modelling and texture mapping program able to output BRender mapped model files (.DAT+.MAT) and basic actor files (.ACT).
- Plaything 2 is the successor to Playting and the official development environment for Carmageddon 2 along 3D Studio Max. While it can modify and map textures to imported models, it is not a modelling program. It is however an advanced BRender scene viewer and manager, can manipulate actors extensively and modify material data. Non-BRender related features include car, level, accessories and pedestrians setup and pre-processing.
- TRixx is a BRender pixelmap processor. It supports all types of behaviour (basically from 1-bit to 32-bit images with alpha channel), and can also convert back to TIFF and BMP formats.
- CarmaTools is a complete development environment for Carmageddon loaded directly within modern 3ds Max as maxscripts. This tool is the one which has the most complete BRender actor support.
- Flummery is a spiritual successor to Plaything 2 used to load and save formats used in several Stainless Games titles, amongst which are Carmageddon 1 and 2.

Some games using the BRender engine[edit]

Game Year Platform(s) Developer
3D Movie Maker 1995 Windows Microsoft Kids
Alien Odyssey 1995 MS-DOS Argonaut Software
Arena AD (cancelled) 1999 Windows Stainless Software
Bob Bondurant's High Performance Driving[19] 1996 Mac Fathom Pictures
Bundesliga Manager 97 1996 MS-DOS Software 2000
Bundesliga Manager 98 1998 Windows Software 2000
Carmageddon 1997 MS-DOS, Windows, Mac Stainless Software
Carmageddon: Splat Pack 1997 MS-DOS, Windows Stainless Software
Carmageddon II 1998 Windows, Mac Stainless Software
Croc: Legend of the Gobbos 1997 Windows, PlayStation, Saturn Argonaut Software
Dr. Who, Destiny Of The Doctors 1997 Windows Studio Fish
F1 Manager 1996 MS-DOS Software 2000
F1 Manager Professional 1997 MS-DOS Software 2000
Freelancer 2120 (cancelled)[20] 1994 MS-DOS Imagitec Design
FX Fighter 1995 MS-DOS Argonaut Software
FX Fighter Turbo 1996 MS-DOS, Windows Argonaut Software
I-War (Independence War) 1997 Windows Particle Systems
I-War: Defiance 1999 Windows Particle Systems
Kanaan (cancelled) 1998 Windows Argonaut Software
Motor Mash 1997 Windows, PlayStation Eutechnyx
Pete Sampras Tennis 97 1997 MS-DOS, Windows, PlayStation Codemasters
Play with the Teletubbies 1998 Windows, PlayStation Asylum Entertainment Ltd.
Privateer 2: The Darkening 1996 MS-DOS, Windows Electronic Arts
Queen: The eYe 1998 MS-DOS, Windows Destination Design
Search And Rescue (SAR) 1997 Windows Interactivision A/S
Sensible Soccer '98 1997 Windows Sensible Software
Sensible Soccer: European Club Edition 1997 Windows, PlayStation Sensible Software
Uprising X[21][22] 1998 PlayStation 3DO

Gallery[edit]

BRender demos[edit]

Carmageddon series[edit]

Other Brender-powered titles[edit]

See also[edit]

External links[edit]



References[edit]

  1. "A Survey of Level of Detail Support in Current Virtual Reality Solutions", Martin Reddy, December 1995, p.2
  2. "Silicon Studio to Integrate BRender into Firewalker Authoring System", 04 March 1996
  3. DeFacto Emag, 8, 18 June 1996
  4. Reality Check Network, 15, 26 May 1996
  5. Stainless Software ad, EDGE issue 26, November 1995
  6. SCi's Carmageddon page, archived 14 November 1996
  7. BRender Reviews, archived 12 May 1998
  8. "Linux and Carmageddon", comment by Andrew Scott (Carmageddon TDR2000 producer) in alt.games.carmageddon, 27 January 1999
  9. "The Cunning Stunts of Stainless", Eurogamer.net, 01 June 2012
  10. Comment by BRender's guru Sam Littlewood, "17 year old 'Carmageddon' debugging symbols file dumped" in r/Gamedev on Reddit, 02 December 2014
  11. "Developer Interview", SCi's Carmageddon 2 main page, archived 01 October 2002
  12. "Our Technology", Stainless Games website, archived 05 February 2005
  13. "Bloody Stainless", PC Zone issue #80, September 1999
  14. "History: Stainless Games' ride", Stainless Games website
  15. "Crushed by Microsoft: What I learned", CNET, 30 December 1997
  16. 16.0 16.1 "The World According to... Jez San", EDGE issue 77, June 1999
  17. "2004 Front Line Awards: Hall Of Fame", Game Developer Magazine, January 2005
  18. BRender Applications - BRView, archived 24 May 1997
  19. "Michael A. Schlachter - Graphics and Simulation Programmer", curriculum vitae
  20. "Whatever Happened to Freelancer?", Jaguar Explorer Online, Vol.2, Issue 3, 18 October 1998
  21. "Alphas: Uprising X", Next Generation #45, September 1998
  22. "Finals: Uprising X", Next Generation #50, February 1999