Portal:InItalian/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.

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).

Community

 * QuakeOne - Portale di Quake 1 Resurrection
 * Inside3D - Portale più attivo di sviluppatori di Quake dedicato a mod e a codice QuakeC

Giochi
Giochi gratuiti Giochi in vendita
 * Xonotic - Frenetico FPS multiplayer
 * Nexuiz Classic - Predecessore di Xonotic
 * 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