Darkplaces engine

From Blood Wiki
(Difference between revisions)
Jump to: navigation, search
Line 6: Line 6:
 
This is rough feature overview written by Forest "LordHavoc" Hale.
 
This is rough feature overview written by Forest "LordHavoc" Hale.
  
===Basic features===
+
<h3>Basic features</h3>
 
* Supported Platforms: '''Windows''', '''Mac OS X''', '''Linux'''
 
* Supported Platforms: '''Windows''', '''Mac OS X''', '''Linux'''
 
* Future Platforms: '''iOS''', '''Android (in development)'''.
 
* Future Platforms: '''iOS''', '''Android (in development)'''.
Line 16: Line 16:
 
* BlindID user hash generation for online leaderboards.
 
* BlindID user hash generation for online leaderboards.
  
===Renderer===
+
<h3>Renderer</h3>
 
* API supported: Direct3D 9 Shader Model 3 (in development), OpenGL (all versions), OpenGL ES 2.0, and software rasterizer.
 
* API supported: Direct3D 9 Shader Model 3 (in development), OpenGL (all versions), OpenGL ES 2.0, and software rasterizer.
 
* Broad range of performance and tuning options allow the renderer to work on very old and new video cards.
 
* Broad range of performance and tuning options allow the renderer to work on very old and new video cards.
Line 31: Line 31:
 
* Offsetmapping and Reliefmapping.
 
* Offsetmapping and Reliefmapping.
 
* sRGB tonemapping.
 
* sRGB tonemapping.
* Deferred lighting.
+
* Deferred lighting (in development).
 
* Glow textures.
 
* Glow textures.
 
* Support for Quake 3 Arena 'shaders'.
 
* Support for Quake 3 Arena 'shaders'.
Line 44: Line 44:
 
* Textures: [[DDS]], [[TGA]], PNG, JPG, PCX.
 
* Textures: [[DDS]], [[TGA]], PNG, JPG, PCX.
  
===Physics===
+
<h3>Physics</h3>
 
* Open Dynamics Engine for real-time physics simulations of rigid bodies, cloth (in development), ragdolls (in development).
 
* Open Dynamics Engine for real-time physics simulations of rigid bodies, cloth (in development), ragdolls (in development).
 
* Internal Quake physics with advanced high-performance collision engine (swept-box collisions and trimesh support, [[BIH | Bounding Interval Hierarchy]] culling technology).
 
* Internal Quake physics with advanced high-performance collision engine (swept-box collisions and trimesh support, [[BIH | Bounding Interval Hierarchy]] culling technology).
  
===Scripting===
+
<h3>Scripting</h3>
 
* Powerful high performance scripting language QuakeC (similar to C language syntax) supports server side, client side and menu GUI scripting. Such features as Portal rendering (indoor), Model Level of Detail (LOD) system, clutter objects, impostors, seamless world, advanced AI, advanced in-game GUI, procedurally generated levels and many other features can be achieved entirely in script.
 
* Powerful high performance scripting language QuakeC (similar to C language syntax) supports server side, client side and menu GUI scripting. Such features as Portal rendering (indoor), Model Level of Detail (LOD) system, clutter objects, impostors, seamless world, advanced AI, advanced in-game GUI, procedurally generated levels and many other features can be achieved entirely in script.
 
* Virtual machine with full state saving/restoring and networking as basic features.
 
* Virtual machine with full state saving/restoring and networking as basic features.
Line 58: Line 58:
 
* Advanced menu and in-game GUI creation via QuakeC.
 
* Advanced menu and in-game GUI creation via QuakeC.
  
===Sound===
+
<h3>Sound</h3>
 
* OGG Vorbis (for sounds as well as music), WAV and CD Audio playback.
 
* OGG Vorbis (for sounds as well as music), WAV and CD Audio playback.
 
* Doppler and pitch shifting effects (achievable through QuakeC scripting).
 
* Doppler and pitch shifting effects (achievable through QuakeC scripting).
  
===Input Devices===
+
<h3>Input Devices</h3>
 
* PC/Mac keyboards and mice.
 
* PC/Mac keyboards and mice.
 
* Xbox 360 gamepad.
 
* Xbox 360 gamepad.
Line 68: Line 68:
 
* Multi-touch screens (in development).
 
* Multi-touch screens (in development).
  
===Network===
+
<h3>Network</h3>
 
* Advanced networking protocol with distance-based priority system allowing thousands of entities visible at once.
 
* Advanced networking protocol with distance-based priority system allowing thousands of entities visible at once.
 
* QuakeC code can provide custom networking for even more optimal bandwidth usage and prediction.
 
* QuakeC code can provide custom networking for even more optimal bandwidth usage and prediction.
Line 75: Line 75:
 
* Server-side traceline culling to block wallhack cheats.
 
* Server-side traceline culling to block wallhack cheats.
  
===Tools===
+
<h3>Tools</h3>
 
* Compatible with NetRadiant level editor.
 
* Compatible with NetRadiant level editor.
 
* Blender and other modeling apps have various ways to get content into the engine (IQM, SMD from HL2 exporters, Unreal PSK/PSA files, md5mesh+anim can be converted as well).
 
* Blender and other modeling apps have various ways to get content into the engine (IQM, SMD from HL2 exporters, Unreal PSK/PSA files, md5mesh+anim can be converted as well).

Revision as of 09:57, 3 August 2012

DarkPlaces game engine encompasses more than 10 years of research and development in the field of real-time game engine technology by Forest "LordHavoc" Hale and Rudolf "divVerent" Polzer.

Based off GPL GLQuake engine source code released by id Software, DarkPlaces Game Engine is one of the most solid and robust 3D engines available. It lets you to unleash your creative potential at virtually no cost. Being an open source 3D game engine under the GPL license, it only requires you to credit its creator and share the fixes and new implementations you might have made for your application or game.

Contents

Features overview

This is rough feature overview written by Forest "LordHavoc" Hale.

Basic features

  • Supported Platforms: Windows, Mac OS X, Linux
  • Future Platforms: iOS, Android (in development).
  • SIMD optimizations: SSE, SSE2.
  • Support for 32-bit and 64-bit architectures for Windows, Mac OS X and Linux.
  • Statistics and debugging features for tracking memory usage, textures, models and other assets.
  • Fully automated save/restore game system as part of the QuakeC Virtual Machine.
  • Compressed zip archive loading and automatic downloads via CURL library.
  • BlindID user hash generation for online leaderboards.

Renderer

  • API supported: Direct3D 9 Shader Model 3 (in development), OpenGL (all versions), OpenGL ES 2.0, and software rasterizer.
  • Broad range of performance and tuning options allow the renderer to work on very old and new video cards.
  • 64-bit Color HDR Rendering.
  • Anti-aliasing and coverage sampling.
  • OpenGL Quad-Buffer Stereo 3D rendering.
  • NVIDIA 3D Vision / NVIDIA Surround / NVIDIA 3D Vision Surround compatible (Direct3D 9 only).
  • NVIDIA SLI compatible.
  • AMD CrossFire compatible.
  • Dynamic per pixel lighting with shadowmaps or stencil shadow volumes
  • Photon-mapping global illumination (static or dynamic).
  • Compiled lightmaps with bump and specular features.
  • Normal mapping and Specular mapping with per-pixel hardness.
  • Offsetmapping and Reliefmapping.
  • sRGB tonemapping.
  • Deferred lighting (in development).
  • Glow textures.
  • Support for Quake 3 Arena 'shaders'.
  • Customizable particle system (effectinfo files as well as QuakeC scripting).
  • Motion blur.
  • Normal mapped environment cubemap reflections.
  • Dynamic water reflection and distortion effects and Fresnel factor.
  • Decal system with support for animated models.
  • Quake bsp and Quake 3 Arena bsp level support.
  • Skeletal model formats supported: IQM (recommended to use), DPM (compiled from HL2 SMD files or Doom 3 MD5 files), Unreal PSK/PSA.
  • Non-Skeletal Model: Quake MDL, Quake 2 MD2, Quake 3 MD3, OBJ.
  • Textures: DDS, TGA, PNG, JPG, PCX.

Physics

  • Open Dynamics Engine for real-time physics simulations of rigid bodies, cloth (in development), ragdolls (in development).
  • Internal Quake physics with advanced high-performance collision engine (swept-box collisions and trimesh support, Bounding Interval Hierarchy culling technology).

Scripting

  • Powerful high performance scripting language QuakeC (similar to C language syntax) supports server side, client side and menu GUI scripting. Such features as Portal rendering (indoor), Model Level of Detail (LOD) system, clutter objects, impostors, seamless world, advanced AI, advanced in-game GUI, procedurally generated levels and many other features can be achieved entirely in script.
  • Virtual machine with full state saving/restoring and networking as basic features.
  • QuakeC supports localized multilingual text, and automatic console variable access.
  • Graphic User Interface
  • TTF and OTF fonts support (using Freetype library).
  • Unicode (UTF8) support.
  • Built-in support for standard .po translation files for localization of text.
  • Advanced menu and in-game GUI creation via QuakeC.

Sound

  • OGG Vorbis (for sounds as well as music), WAV and CD Audio playback.
  • Doppler and pitch shifting effects (achievable through QuakeC scripting).

Input Devices

  • PC/Mac keyboards and mice.
  • Xbox 360 gamepad.
  • Standard PC joysticks and gamepads.
  • Multi-touch screens (in development).

Network

  • Advanced networking protocol with distance-based priority system allowing thousands of entities visible at once.
  • QuakeC code can provide custom networking for even more optimal bandwidth usage and prediction.
  • Automatic zip archive downloads via CURL library as specified by game server.
  • Automatic Client Side QuakeC code download when playing on modified servers.
  • Server-side traceline culling to block wallhack cheats.

Tools

  • Compatible with NetRadiant level editor.
  • Blender and other modeling apps have various ways to get content into the engine (IQM, SMD from HL2 exporters, Unreal PSK/PSA files, md5mesh+anim can be converted as well).

Community

  • [1] - Quake 1 Resurrection portal
  • Inside3D - Quake's most active developers portal dedicated to modding and QuakeC coding

Games

Free Games

Commercial Games

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox