Build Engine: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Niculinux (discussione | contributi)
Nessun oggetto della modifica
 
(37 versioni intermedie di 19 utenti non mostrate)
Riga 1:
{{Software
|Nome = Build Engine
|Logo =
|Screenshot =
|Didascalia =
|Sviluppatore = [[Ken Silverman]]
|DataPrimaVersione = {{data e tempo|30|9|1995}}<ref>{{cita web|url=https://www.gamefaqs.com/pc/199319-witchaven/data|titolo=Witchaven|accesso=4 agosto 2016}}</ref><ref>{{cita web|url=https://www.gamefaqs.com/pc/198902-william-shatners-tekwar/data|titolo=William Shater's TekWar|accesso=4 agosto 2016}}</ref>
|UltimaVersione =
|SistemaOperativo = MS-DOSmultipiattaforma
|DataUltimaVersione =
|Linguaggio = c
|UltimaVersioneBeta =
|NotaLinguaggio= <ref name=build1>{{cita web|url=https://www.giantbomb.com/build-engine/3015-1733/|titolo=Build Engine|accesso=4 agosto 2016}}</ref>
|DataUltimaVersioneBeta =
|SistemaOperativo = MS-DOS
|Linguaggio =
|Genere = Motore grafico
|Licenza = [[SoftwareGNU proprietarioGeneral Public License|GPL]] (nel file BUILDLIC.TXT)
|SoftwareLibero =
|Lingua =
|SitoWeb = http://advsys.net/ken/build.htm
}}
Il '''Build Engine''', ènoto unanche motoree graficosemplicemente "pseudocome 3D"'''BUILD''', oè ancheun dettomotore a "2.5 dimensioni",grafico creato da [[Ken Silverman]] nelnei primi [[1995anni 1990|anni '90]].<ref pername=build1/> contoSuccessivamente è stato utilizzato della [[3D Realms]];, ine seguito è statopoi concesso in licenza ad altre case come [[Capstone Software]], [[InterplayMonolith Productions]] e [[GT Interactive]].<ref name=build1/>
 
== Storia ==
===Proto-BUILD e versioni preliminari===
Il Build fu molto popolare fra il [[1995]] e [[1997]], dopo l'uscita di ''[[Duke Nukem 3D]]'', titolo che sfruttava al meglio le sue funzioni; tuttavia, l'uscita di motori grafici in "vero 3D" come quello di ''[[Quake]]'' e di ''[[Unreal (videogioco)|Unreal]]'' lo resero obsoleto, rilegandolo a titoli minori o di c.d. [[Budget range]].
Dopo aver osservato il rivoluzionario [[Wolfenstein 3D engine]] di [[John Carmack]], in azione su ''[[Wolfenstein 3D]]'', [[Ken Silverman]], che all'epoca era ancora minorenne, decise di mettersi al lavoro su un suo [[motore grafico]].<ref name=build2>{{cita web|url=http://advsys.net/ken/build.htm |titolo=Ken Silverman's Build Engine Page|accesso=4 agosto 2016}}</ref> Nel [[1992]], Ken aveva già concepito buona parte di quel motore che un giorno sarebbe diventato il ''BUILD'', e lo aveva posto come base del suo [[videogioco]] ''Walken'', poi rinominato ''[[Ken's Labyrinth]]'' e pubblicato dalla [[Epic Games]] nel [[1993]].<ref name=build2/>
 
In [[agosto]], dello stesso anno, mentre Silverman frequentava l'[[Università Brown]], riuscì ad entrare in [[3D Realms|Apogee Software]] e a continuare il suo sviluppo sul BUILD.<ref name=build1/><ref name=build2/> Per via del fatto che Apogee era al corrente che [[John Carmack]] fosse al lavoro sul ''[[Doom Engine]]'', utilizzando il [[C (linguaggio)|linguaggio C]], suggerì a Silverman di adattarsi di conseguenza e di cambiare il linguaggio del BUILD da [[BASIC]] a [[C (linguaggio)|C]], con conseguente riscrittura di buona parte del codice.<ref name=build1/><ref name=build2/>
Dopo il successo di ''Duke Nukem 3D'', Ken Silverman apportò diverse modifiche al Build, tra qui il supporto di oggetti [[voxel]] presente in ''[[Blood (videogioco)|Blood]]'' e ''[[Shadow Warrior]]''.
 
===Nasce il BUILD Engine definitivo===
Il [[20 giugno]] [[2000]], [[Ken Silverman]] ha rilasciato il [[codice sorgente]] di ''Ken-Build'', versione iniziale del motore grafico. In seguito, la [[3D Realms]] ha rilasciato il codice sorgente di Duke Nukem 3D, dando il via ad una serie di [[Portabilità|port]] amatoriali, che migliorano molte caratteristiche originali: la più importante è la modalità di render in [[OpenGL]] chiamata ''Polymost'', realizzata dallo stesso Ken Silverman, che aggiunge il supporto di accelerazione hardware e corregge la prospettiva del gioco, rendendola uguale a quella di un motore in vero 3D.
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 avrebbero 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/>
== Caratteristiche tecniche ==
Il ''Build engine'' ha introdotto molte caratteristiche innovative rispetto al suo diretto concorrente [[Doom Engine]]; in particolare permetteva ambienti più complessi e flessibili, dovuta al suo modo di rappresentare le informazioni.<br />
Le proprietà dei settori che componevano il mondo di gioco possono essere modificati dall'engine in tempo reale, senza per questo richiedere ulteriori calcoli della [[CPU]] per il [[rendering]] dei livelli.
 
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/>
Questo permette una lunga serie di effetti speciali, che, sebbene predefiniti dagli autori dei livelli e non casuali, rendono più dinamico il gameplay: ad esempio, è possibile permettere che delle sezioni di muri possano essere distrutte utilizzando armi esplosive. Utilizzando particolari funzioni è anche possibile creare situazioni che danno l'impressione di tridimensionalità: ad esempio, quando si cade da un buco nel pavimento e si finisce nella stanza inferiore, in realtà il giocatore viene teletrasportato in un altro settore (per l'impossibilità di creare ambienti realmente a tre dimensioni).
 
==Tecnologia==
== Il successore del Build: PolyTex==
== =Caratteristiche tecniche principali===
Un eventuale successore del Build Engine sarebbe potuto essere il ''PolyTex'' engine <ref>[http://advsys.net/ken/build.htm Ken Silverman's Build Engine Page]</ref>. Inizialmente avrebbe potuto essere un motore in grado di mettere Apogee/3D Realms in competizione con le nuove tecnologie dell'epoca sviluppate da [[Epic MegaGames]] e [[id Software]], ma per ragioni non del tutto chiare il progetto fu abbandonato non molto tempo dopo la sua nascita.
 
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 eludere 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 di 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==
===Versione originale===
*''[[Witchaven]]'' (1995)
* ''Legend of the Seven Paladins'' - (1994)<ref>{{cita web|url=http://www.jonof.id.au/build.games/l7p|titolo= Legend of the Seven Paladins|accesso=4 agosto 2016}}</ref>
*''[[William Shatner's TekWar]]'' (1995)
* ''[[Duke Nukem 3DWitchaven]]'' (19961995)
* ''[[William Shatner's TekWar]]'' (1995)
*''[[Exhumed]]'' (''PowerSlave'' negli [[Stati Uniti]]) (1996)
* ''[[Witchaven II:Duke BloodNukem Vengeance3D]]'' (1996)
* ''[[Blood (videogioco)|BloodExhumed]]'' (19971996)
* ''[[ShadowWitchaven II: Blood WarriorVengeance]]'' (19971996)
* ''[[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)
 
Mai===Non ufficiali o mai pubblicati:===
 
* ''Legend of the Seven Paladins'' - completato ma mai pubblicato, utilizza il Build illegalmente.
* ''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%3Afate|titolo=Fate|data=7 PCluglio Games2006|dataarchivio=12 thatmarzo weren't2007|accesso=4 -agosto Fate]2016|urlmorto=sì}}</ref>
* ''[[Corridor 7: Alien Invasion#Corridor_8:_Galactic_Wars|Corridor 8: Galactic Wars]]'' - nonmai completatoterminato
 
==Note==
<references />
 
== Voci correlate ==
* [[MotoreWolfenstein grafico3D engine]]
* [[ru:BuildDoom Engine]]
* [[Motore grafico per sparatutto in prima persona]]
* [[Ken Silverman]]
* [[3D Realms]]
 
==Altri progetti==
{{interprogetto}}
 
==Collegamenti esterni==
* {{en}}cita [web|http://advsys.net/ken/build.htm |Sezione "Build" nel sito di Ken Silverman]|lingua=en}}
* {{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}}
{{portale|Videogiochi}}
 
{{Duke Nukem}}
[[de:Build-Engine]]
{{Portale|informatica|software libero|videogiochi}}
[[en:Build engine]]
[[es:Build]]
[[fi:Build]]
[[fr:Build engine]]
[[ru:Build Engine]]
[[uk:Build Engine]]