3DGE

From DoomWiki.org

Revision as of 13:09, 22 September 2018 by Ryan W (talk | contribs) (+ merge template, which is probably a formality in this case -- see https://www.doomworld.com/forum/topic/102456-edge-210-impending-release/)


3DGE, Hyper3DGE, Dream3DGE, EDGE
3DGE Logos.png
Codebase EDGE
Developer(s) Coraline (Chu), Alex Nesemann, Joseph Fenton, Rachael Alexanderson (Eruanna), Brendan Doe, Damir Srpčič, Maciej Kadlubowski
Non-Developer(s) Chris Mullen (CeeJay), UsernameAK, gameblabla, Andrew Apted, Josh Pearson, Benjamin Moir
Initial release 1.35d (2011-04-11, 7 years ago)
Development status Active
Written in C++, QuakeC (modified), ASM
Target Platform Windows, KallistiOS, MacOSX, Linux, OpenBSD
License GNU General Public License v2+
Website http://edge2.sf.net/
Source Repository

(Git)

GitHub
3DGE, originally named Hyper3DGE (internally referenced as EDGE2, also referred to as just EDGE), is the successor to EDGE. Originally created to power the Hypertension TC, its goal was changed to a full-fledged successor to EDGE after Andrew Apted discontinued the parent port. The first version, numbered 1.35d, was released on 2011-04-11. The latest version is 3DGE/Version, released on 3DGE/Date. The first version of Dream3DGE, numbered 1.29dc, was released on 2013-09-18, and is playable on the Sega Dreamcast.

The port comes with both x86/x64 Windows and Linux binaries, though the user can build the Macintosh and Dreamcast versions from source. 3DGE was initially forked from EDGE 1.32, and the codebase was merged with the final EDGE 1.35 release the day EDGE ceased development.

As well as adding new features, the team also incorporated many fixes for overlooked bugs left behind from EDGE. The name is a deliberate play on EDGE - the "3" is to symbolize the third line of continuation from EDGE and DOSDoom, and is pronounced the same as EDGE. The port is hardware-accelerated only, and also implements support for KallistiGL (PowerVR) for the Dreamcast platform.

A few notable mods in development are Duke it Out in DOOM and Doom Forever, both by Chris Mullen (CeeJay), and a sequel to the Marc A. Pullen (Fanatic) mod QDOOM. SLaVE and Hypertension: Harmony of Darkness are two commercial products using this engine, both being developed by Isotope Softworks and published by Goat Store Publishing. The full list of known and active mods are here.

Dream3DGE was a Sega Dreamcast-only port of EDGE 1.29, and has high compatibility with pre-1.31 mods, as it cannot currently run anything created with EDGE 1.31 or above. It must be built with KallistOS. It contains most, if not all, functionality from the parent port. This branch (and EDGE 1.29, on which it was based) was abandoned officially and rewritten and integrated back into 3DGE with version 2.0. The Dreamcast code utilitizes KallistiGL instead of OpenGL for important rendering functions concerning the SH-4 CPU.

Features

As of the latest development builds for 2.1.0:

  • Dual OpenGL 1.1/3.0 Renderer Paths
  • 64-bit support
  • SDL2 integration
  • UDMF support
  • PAK/PK3/PK7/EPK archive support
  • Rendering interpolation and Vsync support
  • OPL synth playback (using nukeyT's OPLlib)
  • Basic shadows
  • Integration of ZDBSP and improvements to glBSP, including building nodes from archives
  • Several major and minor bugs squashed from EDGE 1.35
  • Heretic/Chex Quest IWAD support
  • MD3 and 3DGE model support
  • Two-player splitscreen co-op or deathmatch (local only)
  • RoQ video support for cinematics
  • Runs on the Sega Dreamcast console.
  • GLSL shader support
  • Normal, specular and brightmap support on models
  • DDF/RTS/COAL enhancements and bugfixes
  • Polyobjects (more types will be supported in the future)
  • Camera-Man scripts: New scripting language which utilizes cameras for complete camera control.

In-Progress

  • RoQ Render-to-Texture (for models, world textures, and menus/backgrounds)
  • New DDF types: Terrains.ddf, Sprites.ddf, Inventory.ddf and Shaders.ddf
  • Cross-platform IWAD selector
  • Dynamic GLSL shader compilation
  • Normal, specular, and brightmap support on textures
  • True inventory support
  • Dynamic planar shadow system for dynamic lights
  • Half-Life MDL and MS3D Model format support
  • Quake 3: Arena-style shader-based sky system
  • Better Boom compatibility
  • Decals on all surfaces (using Decals.ddf)
  • Wolfenstein_3D support (WLF_*)
  • Rise of the Triad support (ROTT_*)
  • Blake Stone support (BLK_*)
  • Strife support

Heretic support is being finalized and is in beta as of 3DGE/Version, using a similarly named definition file called HDF (Heretic Definition File). The HDF definitions were written initially by CeeJay, before the 3DGE Team took over to write proper IWAD support.

External links

Source code genealogy
Based on
EDGE
3DGE Active