Build Engine: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
−Categoria:3D Realms; −Categoria:Duke Nukem usando HotCat |
|||
(17 versioni intermedie di 11 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 29 ⟶ 30:
===Caratteristiche tecniche principali===
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
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>
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==
== Voci correlate ==
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}}
|