Build Engine: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Sostituzione template reference, replaced: {{references}} → <references/> |
−Categoria:3D Realms; −Categoria:Duke Nukem usando HotCat |
||
(15 versioni intermedie di 9 utenti non mostrate) | |||
Riga 1:
{{Software
|Nome = Build Engine
|Screenshot =
|Didascalia =
|Sviluppatore = [[Ken Silverman]]
|DataPrimaVersione = {{data e tempo|30|9|1995}}<ref>{{cita web|url=
|SistemaOperativo = multipiattaforma
|Linguaggio = c
|NotaLinguaggio= <ref name=build1>{{cita web|url=
|Genere = Motore grafico
|Licenza = [[GNU General Public License|GPL]]
Riga 16:
== Storia ==
===Proto-BUILD e versioni preliminari===
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]]''
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
▲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 motore.<ref name=build1/><ref name=build2/>
===Nasce il BUILD Engine definitivo===
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
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
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/>
Line 31 ⟶ 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
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 è
==Giochi che utilizzano il Build==
===
* ''
* ''[[
* ''[[
* ''[[
* ''[[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)
* ''[[
* ''[[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
* ''[[Corridor 7: Alien Invasion|Corridor 8: Galactic Wars]]'' - mai terminato
==Note==
Line 72 ⟶ 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}}
|