Doom dzinējs (id Tech 1): tehniskā definīcija un vēsture

Doom dzinējs (id Tech 1) — tehniskā definīcija un vēsture: avotkods, arhitektūra, WAD formāts, populārie avota porti (Boom, PrBoom, ZDoom) un ietekme uz FPS spēlēm.

Autors: Leandro Alegsa

Doom dzinējs, dažkārt saukts par ID Tech 1, ir programmatūras kods, kas veido videospēles Doom pamatā. Tas tika izmantots arī vairākās citās spēlēs, tostarp Doom 2 (bet ne Doom 3, kurai ir savs dzinējs). Stipri modificētas Doom dzinēja versijas izmantotas spēlēs Heretic, Hexen un Strife, un pats dzinējs ir kļuvis par vienu no pazīstamākajiem agrīnajiem pirmās personas šāvēju (FPS) tehnoloģiskajiem pamatiem.

Tehniskā arhitektūra

Doom dzinējs izmanto vairākas inovatīvas programmatiskās tehnikas, lai panāktu ātru 3D līdzīgu attēlojumu datoros bez 3D paātrinājuma. Galvenā metode ir binārā telpas sadalīšana (BSP), kas ļauj efektīvi noteikt, kuras līnijas un sektori jāraksta ekrānā, kā arī ātri veikt redzamības pārbaudes un klipēšanu. Dzinējs iekšēji attēlo līmeņus, izmantojot struktūras, ko sauc par linedefiem, sidedefiem, sektoriem, vertikālēm un lietām (t. i., monstriem, priekšmetiem, rotājumiem utt.). Līmeņu dati un citi resursi tiek glabāti WAD failos, kurus dzinējs nolasa palaišanas laikā.

Galvenās tehniskās iezīmes:

  • 2.5D arhitektūra: Doom nav pilnīgi trīsdimensiju dzinējs — sektoram ir viena grīdas un griestu augstuma vērtība, tāpēc nav iespējams tieši veidot telpas "virs" citām. Tas ļauj ātri aprēķināt kolīzijas un redzamību, bet rada ierobežojumus (piem., nav slīpu plakņu vai istabu virs istabas bez trikiem).
  • Programmatiskā rasterizācija: attēlošana tiek veikta centrālajā procesorā (centrālo procesoru, nevis videokarti), izmantojot optimizētus algoritmus, fiksēto punktu matemātiku un priekšaprēķinātas tabulas (sine/cosine, atstatumi, skala u.c.), kas ļāva spēli darboties uz 1990. gadu datora resursiem.
  • Visplanes un sprite sistēma: grīdas un griestu aizpildīšanai tiek izmantotas "visplanes" (apaļo zonu slāņi), bet priekšmeti, ienaidnieki un spēlētāji tiek attēloti kā orientēti sprite attēli, kas skatiena virzienā tiek izvēlēti un mēroti.
  • Apgaismojuma un krāsu mehānika: apgaismojums realizēts ar paletes/kolormapi (colormap) izmaiņām un gaismas līmeņu skalām, nevis ar fiziskām gaismas aprēķinu operācijām, kas bija lētāk skaitliski un vizuāli efektīvi.
  • Tīkla spēle un multi-player: Doom dzinējs saturēja agrīnās tīkla daudzspēlētāju funkcijas (Deathmatch), izmantojot pielāgotas protokolu un sinhronizācijas metodes, kas veicināja tā popularitāti LAN vidē.

WAD formāts un modēšana

Visi līmeņi, tekstūras, skaņas un citi resursi Doom ekosistēmā tiek glabāti WAD failos (IWAD — oriģinālais spēles saturs, PWAD — lietotāja modificēts saturs). Šis atvērtais resurss padarīja iespējamu plašu kopienas modifikāciju veidošanu: fani radīja jaunas kartes, modifikācijas (mods), papildinājumus un pilnas total conversions. Daudzi Doom fani izveidoja savas modificētas versijas, ko sauc par avota portiem. Source portos bieži tiek pievienotas jaunas funkcijas un novērstas oriģinālā dzinēja problēmas. Populārākās avota versijas ir Boom, PrBoom, PrBoom+, Zdoom un Chocolate Doom.

Vēsture un izplatība

Doom pirmo reizi parādījās 1993. gadā, un tā dzinējs ātri ieguva popularitāti pateicoties ātrai darbībai un atvērtai modēšanas iespējai. Id Software vēlāk izlaida Doom avotkodu, kas ļāva izstrādātājiem un kopienai veidot portus uz dažādām platformām — no klasiskiem DOS datoriem līdz Windows, Linux, mobilajām ierīcēm un spēļu konsolēm. Avotkods ir publicēts bez maksas saskaņā ar GNU vispārējo publisko licenci, kas būtiski veicināja tā plašu pieejamību un pavairošanu dažādās sistēmās.

Ierobežojumi un ietekme

Lai gan Doom dzinējs nodrošināja pārliecinošu spēles pieredzi un lielu tehnisko inovāciju, tam bija ierobežojumi: nav pilnas 3D ģeometrijas (nav „room-over-room”), nav slīpo virsmu (sākotnējā versijā) un sektora sistēma nosaka, ka viens sektors nevar okupēt divas dažādas vertikālas pozīcijas vienlaikus. Tomēr tieši šie ierobežojumi stimulēja radošus risinājumus kopienā un izraisīja plašu modifikāciju un jaunu funkciju ieviešanu avota portos (piem., 3D floor emulācijas, plakņu nolaišana, uzlabota fizika un mūsdienīgu GPU akcelerāciju izmantojoši rendereri).

Kāpēc Doom dzinējs bija nozīmīgs

Doom dzinējs ir vēsturiski nozīmīgs, jo tas demonstrēja, kā ar gudriem algoritmiem un optimizētu C kodu var sasniegt ātru un iesaistošu 3D līdzīgu pieredzi uz ierobežotas aparatūras. Tas arī deva starta punktu plašai modēšanas kultūrai, izraisīja daudzus avota portus un ietekmēja daudzus vēlākos FPS dzinējus. Programmētājam bija relatīvi viegli panākt, lai tas darbotos jauna tipa datoros, jo tas ir rakstīts C valodā un izmanto ļoti maz sistēmas resursu, kas ļāva to darbināt rokas datoros un datoros bez 3D paātrinātāja.

Tas viss padarīja Doom dzinēju par vienu no izplatītākajiem un ietekmīgākajiem agrīnajiem FPS dzinējiem; tas joprojām tiek pētīts, portēts un modificēts arī mūsdienās gan vēsturisku, gan tehnisku iemeslu dēļ. Lai saprastu sīkākus tehniskos mehānismus, var aplūkot dzinēja pamatelementus — BSP kokus, subsektor/seg struktūru, visplanes sistēmu un fiksētā punktā balstīto matemātiku — kas visi kopā veido to, kas padarīja Doom par veiksmīgu un ilgdzīvojošu projektu.

Jautājumi un atbildes

Q: Kas ir Doom dzinējs?


A: Doom dzinējs ir datorkods, kas ir videospēles Doom pamatā. To izmanto arī vairākās citās spēlēs, tostarp Doom 2 (bet ne Doom 3, kurai ir savs dzinējs). Stipri modificētas Doom dzinēja versijas ir izmantotas spēlēs Heretic, Hexen un Strife.

J: Kā Doom dzinējs attēlo 3D līmeņus?


A: Doom dzinējs izmanto tehniku, ko sauc par bināro telpas sadalīšanu, lai 3D līmeņus attēlotu tā, lai dators tos varētu ātri apstrādāt.

J: Kādā valodā ir rakstīts Doom dzinējs?


A: Doom dzinējs ir rakstīts galvenokārt C valodā.

J: Vai ir pieejama Doom Engine atvērtā pirmkoda versija?


A: Jā, Doom dzinēja pirmkods ir publicēts bez maksas saskaņā ar GNU vispārējo publisko licenci. Daudzi fani ir izveidojuši savas modificētas versijas, ko sauc arī par avota portiem.

J: Kādi ir daži populāri oriģinālā doom dzinēja avota portatīvie versijas modeļi?


A: Populārākās avota versijas ir Boom, PrBoom, PrBoom+, Zdoom un Chocolate Doom.

J: Kādas struktūras Doom dzinējs izmanto iekšēji, lai attēlotu līmeņus?


A: Doom dzinējs iekšēji attēlo līmeņus, izmantojot struktūras, ko sauc par linedefiem, sidedefiem, sektoriem, vertikālēm un lietām (t. i., monstriem, priekšmetu rotājumiem utt.).

J: Kā tas nolasa datus no failiem?


A:Doom dzinējs nolasa līmeņus un citus datus no faila, ko sauc par WAD.


Meklēt
AlegsaOnline.com - 2020 / 2025 - License CC3