Badger

From Valve Developer Community
Jump to navigation Jump to search
English (en)Translate (Translate)
Note.pngNote:This page contains information copied from Hai's website.

Badger is a procedural level generation tool suite that can output levels for Half-Life 1 and Black Mesa Source.

Abridged feature overview

Scope

  • targeting Half-Life 1/Opposing Force and Black Mesa/Half-Life 2
  • support for extracting and creating regular texture Q1 and HL1 .wad files

Scripting interface

  • types and functions for most .vmf data including planes, powerful texture projections, brushes, entities, connections, displacements
  • reading and writing of HL1 .map and HL2 .vmf files
  • .svg-based cue system
  • voxel space-based CSG so whole levels can be carved and then brushes synthesized from that
  • "spatial cluster tree" data structure for supporting quick spatial lookups
  • general file access and compression support

Script library highlights

  • axis-aligned box layouting
  • spline and NURBS calculations
  • seamlessly textured extrusions along arbitrary paths
  • "transformed geometry" for defining a model once and getting its main transformations with fitting texturing for free
  • "shaky layout" layouting approach
  • "graph plan" for generating e.g. hexagonal mazes
  • model system and model library for Half-Life 1
  • "Gen12" level generation framework that combines layouts with randomized parts, skins and game plans; deathmatch levels built with it for Black Mesa
  • "GenPrefabs" level generation framework that supports a tree of transformed parameterized prefabs, used in conjunction with the .svg-based cue system to build levels for Half-Life 1
SVG blueprint for a Half-Life 1 reference level
Half-Life 1 objects and transformations used in generated levels
Generated Black Mesa Source deathmatch level
Entity setup for a game of life animation on the floor in BMS
Curvy BSP geometry

External links

See also