Build Engine: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
 
(10 versioni intermedie di 9 utenti non mostrate)
Riga 1:
{{Software
|Nome = Build Engine
|Screenshot = Duke nukem 3d shot.jpg
|Didascalia =
|Didascalia = Il ''Build'' nella sua incarnazione più famosa: [[Duke Nukem 3D]].
|Sviluppatore = [[Ken Silverman]]
|DataPrimaVersione = {{data e tempo|30|9|1995}}<ref>{{cita web|url=httphttps://www.gamefaqs.com/pc/199319-witchaven/data|titolo=Witchaven|accesso=4 agosto 2016}}</ref><ref>{{cita web|url=httphttps://www.gamefaqs.com/pc/198902-william-shatners-tekwar/data|titolo=William Shater's TekWar|accesso=4 agosto 2016}}</ref>
|SistemaOperativo = multipiattaforma
|Linguaggio = c
|NotaLinguaggio= <ref name=build1>{{cita web|url=httphttps://www.giantbomb.com/build-engine/3015-1733/|titolo=Build Engine|accesso=4 agosto 2016}}</ref>
|Genere = Motore grafico
|Licenza = [[GNU General Public License|GPL]]
Riga 23:
Nel [[1994]] Ken si ritrovò in un vicolo cieco con il BUILD in quanto, a causa dei recenti cambiamenti di scrittura, il [[motore grafico]] generava una sproporzionata quantità di [[bug]] che non permettevano una buona resa.<ref name=build1/><ref name=build2/> Un prezioso aiuto arrivò a Ken proprio da [[John Carmack]], che nel corso di una telefonata gli suggerì di adottare una tecnica del [[Doom Engine]], possibile da replicare sul BUILD, che costruiva il mondo di gioco in "settori" (''sectors'') con proprietà specifiche e ben definite;<ref name=build1/><ref name=build2/> il consiglio si rivelò azzeccato e Silverman poté continuare il suo lavoro, risolvendo i problemi e perfezionando ulteriormente il BUILD.<ref name=build1/><ref name=build2/>
 
Buona parte del restante lavoro sul motore grafico, eseguita tra la fine del [[1994]] e i primi mesi del [[1995]], riguardò il ''netcode'' per il [[gioco in rete]], oltre a ultimi ritocchi e features grafiche aggiuntive che avrebbeavrebbero reso il BUILD in un certo senso anche diverso, se non più avanzato, rispetto al [[Doom Engine]] di Carmack.<ref name=build1/><ref name=build2/> I primi giochi ad essere pubblicati con in uso il BUILD, seppure non spinto al massimo, furono [[William Shatner's TekWar]] e [[Witchaven]], entrambi rilasciati nel settembre [[1995]]; tuttavia il gioco che avrebbe veramente sfruttato il BUILD, fino a spremerlo, fu il fiore all'occhiello di Apogee: ''[[Duke Nukem 3D]]'', rilasciato nel [[gennaio]] [[1996]].<ref name=build1/>
 
Il [[codice sorgente]] del BUILD è stato divulgato il 20 giugno [[2000]] da [[Ken Silverman]];<ref name=build2/> mentre quello di [[Duke Nukem 3D]] fu reso pubblico il 1º aprile [[2003]].<ref name=build1/>
Riga 32:
Essendo stato concepito dall'osservazione del [[Wolfenstein 3D engine]] e [[Doom Engine]], il BUILD si basa prettamente sullo stesso concetto: il motore grafico sviluppa il gioco originariamente su una mappa [[bidimensionalità|bidimensionale]], che poi in base alla visuale del giocatore e alla distanza di un oggetto, restituisce un [[rendering]] [[2.5D]], molto simile al [[Computer grafica 3D|3D reale]].<ref name=build3>{{cita web|url=https://www.rockpapershotgun.com/2016/04/13/build-engine-duke-nukem-blood-shadow-warrior/|titolo=Blood, Sweat & Laughter: The Beauty Of The Build Engine|data=13 aprile 2016|accesso=4 agosto 2016}}</ref> Rispetto comunque, sia a [[Wolfenstein 3D]] che a [[Doom]], il BUILD presenta una tecnica di creazione dello scenario di gioco né basata sul [[Ray tracing#Algoritmo di Ray casting|ray casting]], né sulla [[partizione binaria dello spazio]] (sebbene sia simile a quest'ultima):<ref name=build4>{{cita web|url=http://fabiensanglard.net/duke3d/build_engine_internals.php|titolo=Duke Nukem 3D: BUILD ENGINE INTERNALS (PART 2 OF 4) >>|accesso=4 agosto 2016|data=14 febbraio 2013}}</ref> con il BUILD infatti, il mondo di gioco viene suddiviso in sezioni ma, a differenza della partizione binaria, queste sezioni non sono direttamente connesse tra loro; il motore tiene conto infatti della porzione di mondo in cui il giocatore si muove, senza pre-elaborare quelle successive, in quanto rappresentano sezioni del livello scollegate.<ref name=build4/> La continuità del livello, e lo spostamento tra una sezione ed un'altra, è comunque assicurato da un [[rendering]] "a portali": ogni porta predefinita, che consente l'accesso alla sezione del livello successiva, garantisce che al passaggio del giocatore venga istantaneamente creata la porzione di mondo seguente, in modo da far apparire l'intero livello lineare e continuo.<ref name=build4/>
 
Questa tecnica di "portal rendering" è stata utile al BUILD anche per creare particolari illusioni: normalmente un motore grafico basato su [[bidimensionalità]], come il [[Doom Engine]], non è in grado di applicare il ''room-over-room'', tecnica che permette la sovrapposizione di 2 stanze una sopra l'altra; tuttavia [[Ken Silverman]] ha adottato il rendering a portali per eledureeludere questa limitazione e permettere al giocatore di passare da una zona superiore ad una zona inferiore di un livello, come se queste fossero sovrapposte.<ref name=build3/> Grazie al fatto che il BUILD è in grado di processare una stanza alla volta, e che tutte le stanze sono scollegate tra loro, è dunque possibile creare l'illusione di una sovrapposizione anche quando effettivamente questa non si verifica poiché il giocatore, dall'alto verso il basso, non fa altro che teletrasportarsi velocemente da una porzione di livello ad un'altra, apparendo così collegate ma trattandosi in realtà di due strati di mondo slegati tra loro.<ref name=build3/>
 
Un'altra illusione che il BUILD è in grado di concedere è quella della visuale libera:<ref name=build2/> anche in questo caso, per via della [[bidimensionalità]], non potrebbe essere possibile muovere la visuale sull'asse Y (quello verticale), ma solo sull'asse X (quello orizzontale) come in [[Doom]], appunto; anche in questo caso però, Silverman, ha intelligentemente eluso questa limitazione, semplicemente facendo spostare il [[fotogramma]] sullo schermo, al momento in cui il giocatore muove il [[mouse]].<ref name=build2/> In altre parole, in [[Duke Nukem 3D]], non è realmente la visuale del giocatore a piegarsi e a spostarsi, ma è il mondo di gioco stesso che compie una rotazione per dare l'illusione di avere una visuale libera; questo è stato, tra l'altro, uno dei motivi per cui venne attribuito al titolo l'appellativo "3D", dato dal fatto che questa illusione faceva apparire il gioco come tale, nonostante non lo fosse.<ref name=build2/>
 
 
===Caratteristiche tecniche secondarie===
Potendo lavorare solo su una stanza alla volta, senza dover pre-processare le successive, il BUILD è in grado di concentrarsi esclusivamente sulla porzione di livello nella quale si trova il giocatore ed aggiungere features grafiche che lo rendono ulteriormente superiore al [[Doom Engine]]: oltre al poter applicare il [[texture mapping]] a pavimenti, soffitti e muri di gioco, con aggiunta [[trasparenza e traslucenza]], è anche in grado di applicare queste due qualità ai singoli [[Sprite (informatica)|sprite]]; può inoltre creare nel mondo di gioco superfici inclinate perfettamente piane, e non solo scalari.<ref name=build2/><ref name=build5>{{cita web|url=http://www.moddb.com/engines/build|titolo=Build engine|accesso=4 agosto 2016}}</ref> Nelle versioni utilizzate in ''Blood'' e ''Shadow Warrior'', è stata aggiunta la possibilità di inserire oggetti [[voxel]].
 
Il BUILD è in grado sidi supportare [[Risoluzioni standard|risoluzioni]] fino ad un massimo di 1600×1200 [[pixel]] ed una [[profondità di colore]] a 256 livelli; ha inoltre un sistema di adattamento dinamico alla [[frequenza d'aggiornamento]] dello schermo, sbloccata e variabile.<ref name=build5/>
 
==Giochi che utilizzano il Build==
===UfficialiVersione originale===
* ''Rock'n Shaolin: Legend of the Seven Paladins 3D'' - (1994)<ref>{{cita web|url=http://www.jonof.id.au/build.games/l7p|titolo= Legend of the Seven Paladins|accesso=4 agosto 2016}}</ref>
*''[[Witchaven]]'' (1995)
* ''[[William Shatner's TekWarWitchaven]]'' (1995)
* ''[[DukeWilliam NukemShatner's 3DTekWar]]'' (19961995)
* ''[[ExhumedDuke Nukem 3D]]'' (1996)
* ''[[Exhumed]]'' (1996)
* ''[[Witchaven II: Blood Vengeance]]'' (1996)
* ''[[Blood (videogioco)|Blood]]'' (1997)
* ''[[Shadow Warrior]]'' (1997)
 
===Basati sullo stesso codice di ''Duke Nukem 3D''===
* ''[[Redneck Rampage]]'' (1997)
* ''[[Extreme Paintbrawl]]'' (1998)
* ''[[NAM (videogioco 1998)|NAM]]'' (1998)
* ''[[Redneck Rampage|Redneck Rampage Rides Again]]'' (1998)
* ''[[Redneck Rampage|Redneck Rampage: Suckin' Grits on Route 66]]'' (1998)
* ''[[Redneck Rampage|Redneck Deer Huntin']]'' (1998)
* ''[[WW2World War II GI]]'' (1999)
* ''[[Ion Fury]]'' (2019) (tramite il port EDuke32)
 
===Non ufficiali o mai pubblicati===
 
* ''Rock'n Shaolin: Legend of the Seven Paladins 3D'' - (1994)<ref>{{cita web|url=http://www.jonof.id.au/build.games/l7p|titolo= Legend of the Seven Paladins|accesso=4 agosto 2016}}</ref>
* ''Fate'' - non completato<ref>{{cita web|url=http://pcgtw.retro-net.de/index.php?id=games:fate|urlarchivio=https://web.archive.org/web/20070312054548/http://pcgtw.retro-net.de/index.php?id=games:fate%3Afate|titolo= Fate|data=7 luglio 2006|dataarchivio=12 marzo 2007|accesso=4 agosto 2016|urlmorto=sì}}</ref>
* ''[[Corridor 7: Alien Invasion|Corridor 8: Galactic Wars]]'' - mai terminato
 
==Note==
Line 75 ⟶ 76:
* [[Ken Silverman]]
* [[3D Realms]]
 
==Altri progetti==
{{interprogetto}}
 
==Collegamenti esterni==
* {{cita web|http://advsys.net/ken/build.htm|Sezione "Build" nel sito di Ken Silverman|lingua=en}}
* {{cita web|url=http://www.jonof.id.au/index.php?p=build|titolo=Sezione "Build Engine Page" nel sito di Jonathon Fowler|lingua=en}}
 
{{Duke Nukem}}
{{Portale|informatica|software libero|videogiochi}}
 
[[Categoria:Apogee Software]]
[[Categoria:Duke Nukem]]