Кіріспе

Id Tech 4 – Doom 3 ойын қозғалтқышы деп кеңінен танылған, id Software компаниясы жасаған және алғаш рет Doom 3 видео ойынында қолданылған ойын қозғалтқышы. Бұл қозғалтқышты Джон Кармак құрастырған, ол бұрын Doom және Quake сияқты ойын қозғалтқыштарын жасаған, олар бұл саланың маңызды жетістіктері ретінде мойындалған. OpenGL негізіндегі бұл ойын қозғалтқышы Quake 4, Prey, Enemy Territory: Quake Wars, Wolfenstein және Brink ойындарында да пайдаланылды. id Tech 4 GNU General Public License v3.0 немесе одан кейінгі нұсқаларының шарттарымен лицензияланған.

Жабдық

id Tech 4 бастапқы талабы – оған кем дегенде 64 МБ VRAM-мен Nvidia GeForce 3 немесе ATI Radeon 8500 сияқты толық бағдарламаланатын vertex және пиксель шейдерлері бар жоғары деңгейдегі графикалық өңдеу блогы (GPU) қажет болды. E3 2002 жылы ұсынылатын GPU "100% DirectX 9.0b үйлесімді", мысалы 128 МБ VRAM-мен Radeon 9700 болды. Radeon 9700-нің DirectX 9.0 мүмкіндіктері ойынды көрсету үшін қажет болмаса да, оның озық архитектурасы, 256 биттік жад шинасы және тиімділігі Doom 3-ті жоғары егжей-тегжейлі және ойналатын жылдамдықпен іске қосу үшін қажет болды. Doom 3-тегі "Ultra" графикалық режимі 2004 жылы тіпті жоғары деңгейдегі графикалық карталарда жұмыс істемейтін, себебі қозғалтқыш дұрыс және ойналатын жылдамдықпен көрсету үшін кем дегенде 512 МБ бейне жады қажет етті. id Tech 4 нәтижесінде DirectX 7 графикалық чиптері, мысалы кең таралған GeForce 2 және Radeon 7200, сондай-ақ RIVA TNT2 және Rage 128 сияқты ескі чипсеттер және бағдарламалық рендерлеу (интегралды Intel GMA) ескірген. id Tech 4 пайда болғанға дейін қуатты процессор ескі бейнекартаның кемшіліктерін біршама өтеуге қабілетті болды. Джон Кармак бастапқыда ойыншыларды GeForce 4 MX сатып алмауға ескерткен (өйткені ол DirectX 8 қабілетті GeForce 4 Ti-мен жиі шатастырылатын, бірақ GeForce 2-нің жақсартылған нұсқасы болған), бірақ оның кеңінен қолданылуы id Software-ді оны қолдау көрсетілетін карталар тізіміне қосуға мәжбүр етті. Энтузиасттардың Doom 3-ті Voodoo 2 сияқты қолдау көрсетілмейтін графикалық чиптерде іске қосуға мәжбүр болған жағдайлар болды, бірақ олар пикселдік жарықтандыруды және bump mapping-ті көрсетуге шамалары келмеді.

Графика

Id Tech 4 өзінің алдыңғы нұсқасы id Tech 3-те болмаған бірнеше жаңа графикалық мүмкіндіктерді қосты. Оларға қалыпты бейнелеу және нүсқаулы жарқырау кіреді. Келесі ойындарды әзірлеу барысында тағы да мүмкіндіктер қосылды. Id Tech 4-тің басты жаңалығы – пиксел сайын толық динамикалық жарықтандыруды пайдалану болды. Ал бұрын 3D қозғалтқыштары негізінен төбелік жарықтандыруды немесе жарық карталарын және Гуро көлеңкелеуін алдын ала есептеп қолданған. Динамикалық эффекттер бұрын да болған (мысалы, динамикалық қозғалатын шамдар), бірақ бұл эффект тек көпбұрыштың төбелерінің жарықтығын өзгертіп, пикселдің түсін көпбұрыштың үш төбесінің түстері арасында интерполяциялаған. Doom 3-те қолданылған бұл толық уақыт режиміндегі тәсіл, көлеңке көлемдерін пайдаланумен біріктіріліп, id-тің бұрынғы қозғалтқыштарына қарағанда жарық пен көлеңкені әлдеқайда шынайы көрсетуге мүмкіндік берді. Көлеңке көлемдерін жасау әдісі Creative компаниясының патенті болып табылады. Creative Doom 3 қозғалтқышында пайдалануға id-ге рұқсат берді, ал оның орнына id Creative-тің EAX кеңейтілген дыбыс технологияларын қолдауға міндеттенді. Id Tech 4 қозғалтқышындағы ойын модельдері қаңқа анимациясы арқылы анимацияланады. Қозғалтқыш бірнеше анимацияны біріктіре алады, соның нәтижесінде анимацияға сәйкес дұрыс қозғалатын тері пайда болады. Бұл процессорды көп жүктейтіндіктен, id Intel-дің Streaming SIMD Extensions (SSE) технологиясын пайдалану арқылы оны оңтайландыру жөнінде жұмыс істеді.

MegaTexture рендеринг технологиясы

Id Tech 4 қозғалтқышының бастапқы нұсқасы көбінесе қараңғы орта үшін жасалған және күндізгі уақыттағы аса ірі ашық кеңістіктерді көрсетуде нашар жұмыс істейтіні сынға ұшырады. MegaTexture технологиясы осы мәселені шешу үшін кең ауқымды сыртқы көріністерді жасау мүмкіндігін ұсынды. Бүкіл көпбұрышты картаны және егжей-тегжейлі жер бедерін қамтитын бір аса ірі текстураны (32,768×32,768 пиксел, бірақ MegaTexture технологиясының жаңа нұсқаларында одан да үлкен өлшемдерге дейін кеңейтілген) «бояу» арқылы қажетті эффекттерге қол жеткізуге болады. MegaTexture сонымен қатар жер бедері туралы физикалық ақпаратты сақтай алады, мысалы, белгілі бір аймақтардағы ұстау қабілетінің деңгейін немесе картаның нақты бөліктерінен өткенде қандай дыбыс эффектісі ойнатылуы керектігін көрсетеді. Яғни, тас үстінен жүру, шөп үстінен жүруден әртүрлі естіледі. MegaTexture технологиясын алғаш рет пайдаланған ойын – Tech 4 қозғалтқышы негізінде жасалған Enemy Territory: Quake Wars. Id Tech 5 және id Tech 6 қозғалтқыштарындағы барлық ойындар MegaTexture-ді қолданады, бірақ The Evil Within жаңа рендерлеушіні пайдаланады. Id Tech 4 қозғалтқышының күрт өзгертілген нұсқасын қолданатын Brink ойыны да виртуалды текстураларды қолданады. Оның ішкі жұмысы MegaTexture-ден өзгеше болғанымен, одан шабыттандырылды.

Сценарий жасау

id Tech 4 модтар жасау кезінде қолданылатын толыққанды скрипт тіліне ие, және ол Doom 3-те монстрларды, қару-жарақтарды және картадағы оқиғаларды басқару үшін пайдаланылады. Бұл скрипт тілі C++ тіліне ұқсас. Басты скрипт тілінен өзге, id Tech 4 интерфейстер (GUI) үшін тағы бір скрипт тілін де қолданады – мәзірлерді, HUD-ты, сондай-ақ ойын әлеміне кіріктірілген интерфейстерді де осы тілмен басқаруға болады. Ойын ішіндегі интерфейстердің мүмкіндіктері соншалық, мысалы, түпнұсқа Doom сияқты тағы бір ойынды тікелей ойын әлемінде іске қосуға болады. Мұндай қосымша скрипт деңгейіне қарамастан, C++ тілін пайдаланып, ойынға өзгерістер енгізу (модтар жасау) үшін негізгі кодты құрастыру да мүмкін.

Дыбыс

Creative-пен көлеңкелі көлемдерге (shadow volumes) қатысты патенттік келісімге байланысты, id Tech 4 ойын қозғалтқышы OpenAL-ды, соның ішінде Creative Technology компаниясының EAX кеңейтімдерін қолдайды. OpenAL қолдауын енгізу жұмысын id емес, Creative Technology жүзеге асырды.

Желі құру

Бұл жүйе дәстүрлі клиент-сервер моделінде жұмыс істейді. Алғашқыда бұл теңдестірілген желілік модельге ие болу жоспарланған еді. Бұл қозғалтқыштың бөлігі id Tech 3-ке баламасы сияқты жұмыс істейді, бірақ id Tech 4 желілік протоколдың көп бөлігін мод әзірлеушілеріне ашады. Бұл, әсіресе оның ең жақын бәсекелестерімен, Epic Games компаниясының Unreal Engine 2 (2002) және Unreal Engine 3 (2006) қозғалтқыштарымен салыстырғанда айқын көрінеді. id Software компаниясы өзінің "туынды ойыны" Doom 3 аяқталғанша ең жаңа қозғалтқышына лицензия беруге құштар емес еді. Дегенмен, Doom 3-тің 2002-2004 жылдар аралығында күтпегендей ұзақ даму кезеңінен өткендігіне байланысты, ол кезеңде Epic Games-тің Unreal Engine 2 қозғалтқышына бәсекелесе алмады. Сөйтіп, Unreal Engine 2 лицензиясын алған көптеген әзірлеушілер Unreal Engine 3-ке оңайырақ көшті. id Tech 4 пикселдік жарықтандырудың динамикалық әдісімен жаңа бағыт ұстанғанмен, бұл ерекшелікке жоғары аппараттық талаптар қойылды және бастапқыда тек "қорқынышты ойындарда" (MegaTexture қосылғанша) қолданыс тапты, ал көбірек әзірлеушілер үлкен сыртқы кеңістіктерді көрсетуге қабілетті дәстүрлі қозғалтқыштарды қалай бастады. Сондай-ақ, id Tech 4 бәсекелес FPS қозғалтқыштарымен салыстырғанда төмендеуге қабілеті шектеулі болды; id Tech 4 әдетте DirectX 8.0 стандартына сай GPU-ды, мысалы GeForce 3-ті қажет етеді. Бәсекелес Source қозғалтқышы (алдыңғы GoldSrc қозғалтқышынан жасалған, ол өз кезегінде id Tech 2-ден туындаған) әлі де DirectX 7 GPU-да, тіпті шейдерлерді қолданбай жұмыс істей алатын еді.