Il motore grafico DarkPlaces
Il motore grafico di gioco DarkPlaces è il risultato di più di 10 anni di studi e sviluppo nel campo delle teconologie grafiche per giochi in tempo reale fatti da Forest "LordHavoc" Hale e Rudolf "divVerent" Polzer.
Basata sulla tecnologia di Quake di id Software, il motore di gioco DarkPlaces è uno degli ambienti 3D più solidi e affidabili disponibili. Permette di liberare il proprio potenziale creativo virtualmente a costo zero. Essendo un motore di gioco 3D open source e registrato come licenza GPL, è sufficiente citare il creatore e rendere pubbliche le correzioni e le aggiunte che eventualmente si ha realizzato nell'ambito della propria applicazione o gioco.
[edit] Panoramica delle caratteristiche
Questa è una lista approssimativa delle caratteristiche, scritta da Forest "LordHavoc" Hale.
Caratteristiche di base
- Piattaforme supportate: Windows, Mac OS X, Linux
- Piattaforme future: iOS, Android (in sviluppo).
- Ottimizzazioni SIMD: SSE, SSE2.
- Supporto per sistemi a 32 e 64 bit di Windows, Mac OS X e Linux.
- Strumenti numerici e di debugging per il monitoraggio dell'utilizzo della memoria, delle texture, dei modelli e di altre componenti.
- Sistema completamente automatico di salvataggio e ripristino di gioco come parte della Macchina virtuale QuakeC.
- Caricamento di archivi zip compressi e download automatici tramite la libreria cURL.
- Generazione come hash di un BlindID user per le leaderboard online.
Renderer
- API supportate: Direct3D 9 Shader Model 3 (in sviluppo), OpenGL (tutte le versioni), OpenGL ES 2.0 e rasterizzazione software.
- Un'ampia gamma di opzioni di performance e regolazione permette al renderer di lavorare con schede video molto vecchie e molto nuove.
- Rendering con colore HDR a 64 bit.
- Anti-aliasing e coverage sampling.
- Rendering OpenGL Quad-Buffer Stereo 3D.
- Compatibilità NVIDIA 3D Vision / NVIDIA Surround / NVIDIA 3D Vision Surround (solo Direct3D 9).
- Compatibilità NVIDIA SLI.
- Compatibilità AMD CrossFire.
- Per-pixel lighting dinamica con shadowmap o stencil shadow volume.
- Illuminazione globale photon-mapping (statica o dinamica).
- Lightmap compilate con strumenti per bump e specular.
- Normal mapping e Specular mapping con per-pixel hardness.
- Offsetmapping e Reliefmapping.
- Tonemapping sRGB.
- Deferred lighting (in sviluppo).
- Texture glow.
- Supporto per gli "shader" di Quake 3 Arena.
- Particle system personalizzabile (sia file effectinfo che scripting QuakeC).
- Motion blur.
- Riflessi cubemap negli ambienti con normal map.
- Riflessi dinamici dell'acqua e effetti di distorsione e fattore Fresnel.
- Decal system con supporto per modelli animati.
- Supporto ai livelli bsp di Quake e Quake 3 Arena.
- Formati supportati di modelli-scheletro: IQM (consigliato), DPM (compilato da file SMD di HL2 o file MD5 di Doom 3), PSK/PSA di Unreal.
- Modelli non scheletro: MDL di Quake, MD2 di Quake 2, MD3 di Quake 3, OBJ.
- Texture: DDS, TGA, PNG, JPG, PCX.
Fisica
- Open Dynamics Engine per simulazioni fisiche in tempo reale di rigid bodies, cloth (in sviluppo), ragdoll (in sviluppo).
- Fisica interna di Quake con engine per le collisioni ad alta-performance (collisioni swept-box e supporto trimesh, tecnologia di culling Bounding Interval Hierarchy).
Scripting
- Il potente e ad alto rendimento linguaggio di scripting QuakeC (simile a C nella sintassi) supporta il server side, il client side e GUI scripting per i menù. Strumenti come il Portal rendering (interni), il sitema Model Level of Detail (LOD), clutter object, impostor, seamless world, AI avanzata, GUI in-game avanzata, livelli generati in modo procedurale e molti altri possono essere ottenuti interamente mediante script.
- Macchina virtuale con salvataggi e ripristini di stato completi e il lavoro in rete come caratteristiche di base.
- QuakeC supporta testi localizzati per più lingue, e l'accesso automatico alle variabili della console.
- Graphic User Interface
- Supporto a font TTF e OTF (usando una libreria FreeType).
- Supporto Unicode (UTF8).
- Supporto integrato per file di traduzione standard .po per la localizzazione dei testi.
- Creazione avanzata di menù e GUI in-game tramite QuakeC.
Audio
- OGG Vorbis (sia per i suoni che per la musica),riproduzione di WAV e CD Audio.
- Effetti doppler e pitch shifting (realizzabili tramite script QuakeC).
Sistemi di input
- Tastiere e mouse PC/Mac.
- Gamepad Xbox 360.
- Joystick standard per PC e gamepad.
- Schermi multi-touch (in sviluppo).
Network
- Protocollo network avanzato con un sistema di priorità basato sulla distanza che permette di visualizzare migliaia di entità contemporaneamente.
- Il codice QuakeC può fornire un network personalizzato per un uso e una previsione ancora più ottimali della banda di rete.
- Download automatici di archivi zip tramite la libreria CURL come specificato dal server di gioco.
- Download automatico del codice QuakeC del client-side quando si gioca su server modificati.
- Recupero traceline del server-side per bloccare cheat di tipo wallhack.
Tool
- Compatibile con l'editor di livelli NetRadiant.
- Blender e altri programmi di modellazione hanno diversi modi per immettere materiale nel motore (IQM, SMD dagli esportatori per HL2, file PSK/PSA di Urneal, anche mesh md5 con animazioni possono essere convertite).
[edit] Community
- QuakeOne - Portale di Quake 1 Resurrection
- Inside3D - Portale più attivo di sviluppatori di Quake dedicato a mod e a codice QuakeC
[edit] Giochi
Giochi gratuiti
- Xonotic - Frenetico FPS multiplayer
- Nexuiz Classic - Predecessore di Xonotic
Giochi in vendita
- Retro Blazer - FPS che ricorda e celebra i vecchi sparatutto, come Doom e Quake
- Steel Storm - Sparatutto arcade con visuale dall'alto pubblicato su Steam
- Tomes of Mephistopheles - Dungeon crawl a tema medievale
Immagini