m.lev-yashin-1st-klub-union-dynamo-balon-1963-fc-s8.prestasi.web.id Layanan Informasi 17 Jam
Telp/Fax : 021-8762002, 8762003, 8762004, 87912360
HP/SMS : 081 1110 4824 27, 0812 9526 2009, 08523 1234 000
WhatsApp : 0817 0816 486, 0812 9526 2009
email : _Hubungi Kami__ silahkan klik
Chatting dengan Staf :
ggkarir.com
ggiklan.com
Pilih Bahasa :   ID   EN   Permintaan Katalog / Brosur (GRATIS via POS)   Ensiklopedia Lowongan Kerja Iklan

   
Cari  
    Informatika & Komputer

    Sebelumnya  (Quake Army Knife) (Quake II)  Berikutnya    

Quake engine

Quake engine
Developer(s)id Software
Written inC, GNU Assembler
TypeGame engine
LicenseGNU General Public License

The Quake engine is the game engine that was written to power 1996's Quake, written by id Software. It featured true 3D real-time rendering and is now licensed under the terms of the GNU General Public License (GPL).

After release it immediately forked, as did the level design. Much of the engine remained in Quake II and Quake III Arena. The Quake engine, like Doom engine, used binary space partitioning (BSP). The Quake engine also used Gouraud shading for moving objects, and a static lightmap for nonmoving objects.

Contents

History

The Quake engine was developed from 1995 for the video-game Quake, released in June 1996. John Carmack did most of the programming of the engine, with help from Michael Abrash in algorithms and assembly optimization. It was later upgraded to id Tech 2 (Quake II engine).

Engine design and milestones

Reducing 3D complexity to increase speed

Process of reducing 3D complexity in Quake explained in 4 simple steps

Quake was the first true-3D game to use a special map design system that preprocessed and pre-rendered the 3D environment, so as to reduce the processing required when playing the game on the 50-75 MHz CPUs of the time. The 3D environment in which the game takes place is referred to as a map, even though it is three-dimensional in nature rather than a flat 2D space. The map editor program uses a number of simple convex 3D geometric objects known as brushes that are sized and rotated to build the environment. The brushes are placed and oriented to create an enclosed, empty, volumetric space, and when the design is complete the map is run through the rendering preprocessor. The preprocessor is used to locate two types of empty space in the map, the empty space enclosed by brushes where the game will be played, and the other empty space outside the brushes that the player will never see. The preprocessor then strips away the back-faces of the individual brushes which are outside the game-space, leaving only the few polygons that define the outer perimeter of the enclosed game space.

Generally once a map has been preprocessed it cannot be re-edited in a normal fashion because the original brushes have been cut into small pieces. Instead the original map editor data with the brushes is retained and used to create new versions of the map. But it is possible to edit a processed map by opening it in a special vertex editor and editing the raw vertex data, or to add or remove individual triangle faces. Though difficult, this technique was occasionally used by cheaters to create windows in walls, to see normally hidden enemies approaching from behind doors and walls, and resulted in an anti-cheat mechanism used in recent 3D games that calculates a checksum for each file used in the game, to detect players using potentially hacked map files.

A processed map file can have a much lower polygon count than the original unprocessed map, often by 50 to 80 percent. On the 50-75 MHz PCs of the time, it was common for this pruning step to take many hours to complete on a map, often running overnight if the map design was extremely complex.

This preprocessing step cannot work if there are any small holes or "leaks" that interconnect the interior game space with the exterior empty space, and it was common for complex map-building projects to be abandoned because the map designer could not locate the leaks in their map. To prevent leaks, the brushes should overlap and slightly interpenetrate each other; attempting to perfectly align along the edges of unusually shaped brushes on a grid can result in very small gaps that are difficult to locate.

The open cloudy sky in Quake maps is in fact not open, but is covered over and enclosed with large brushes, and textured with a special skybox texture which is programmed to use sphere mapping and thus always looks the same from any viewing position, giving the illusion of a distant sky.

Precalculating lighting and shadows

Quake also incorporated the use of lightmaps and 3D light sources, as opposed to the sector-based static lighting used in games of the past. id Software's innovation has been used for many 3D games released since, particularly first-person shooters, though id Software switched to a Unified lighting and shadowing model for "Doom 3" (however, they switched back to a lightmapped or semi-lightmapped method starting with RAGE). After a map had been pruned of excess polygons, a second preprocessing system was used to precalculate and bake the lightmaps into the game map, to further reduce load on the CPU when playing the game. However, full light processing could take an extremely long time, so for the initial map design process, lesser-quality light processing could be done, but at the cost of creating a jagged stair-step lightcast around lights.

Sectioning the map to increase speed

To further decrease 3D rendering, a mechanism was developed to section off large regions of the map that are currently not visible to the player, and to not render those unseen spaces. A 3D rendering engine without any such optimizations would draw every part of the world and then attempt to determine which polygons are the closest; then hide all the other polygons behind the closest polygons (a technique known as Z-buffering); just because a polygon is not visible does not mean it is not part of the scene calculations. With this Quake 3D engine optimization, if the player could not see into a nearby region, the 3D engine could be told ahead of time to not include any of the objects in that space in the rendering calculations, greatly reducing the rendering load on the CPU. This effect can be noticed in the game as small tunnels with sharp 90-degree bends leading from one large space into the next large space. The small tunnel is used to block view into the adjoining unrendered space, and a special type of transparent brush (called a visportal) is used to define the edge of where the engine should stop rendering the adjoining space. It is uncommon in the original Quake to be able to see across the entire length of a map, and outdoor spaces are often very tall and narrow, primarily utilizing distance above and below into open sky or lava, to create a low-polygonal illusion of expanse.

How sectioning is performed

A Binary Space Partitioning (BSP) tree is built from the map, simplifying searching for a polygon to O(number of polygons). Each leaf creates some area of 3D space (imagine cutting a pie into arbitrary pieces). The leaves of this Binary Tree have polygons of the original map associated with them, which are then used for computing each area's visibility. For each area, the VSD algorithm finds the parts of the map for which a line of sight exists. This is called the potentially visible set (PVS).[1]

This process uses large amounts of memory, since it should take O(n^2) (where n is the number of polygons) bits (only visible/hidden information is needed). John Carmack realized that one area sees just a small fraction of the other areas, so he compressed this information by using run-length encoding (RLE). This is what allowed Quake's sophisticated graphics to run so quickly on the hardware of the time.

Speeding up the rendering, and rendering order

To reduce overdraw (rendering a new pixel that hides a previously rendered point, meaning the previous work was useless and wasted), the environment was displayed first, from front to back. To hide parts of walls hidden by other walls, a Global Edge List was sorting edges of already rendered polygons; new polygons were first clipped against previous edges so that only visible parts would get to the framebuffer.

Also while rendering the environment, a ZBuffer was filled (but never read while rendering the environment, as the BSP tree and Global Edge List ensured that each pixel was rendered only once). The ZBuffer was later used to render correctly characters and other moving objects that were partially hidden by the environment.

The pixel rendering loop was implemented in assembly. The texture coordinates perspective correction and interpolation was done using the floating-point unit, due to the limited number of integer registers; it also allows to compute expensive division operation (part of perspective correction) on the floating-point unit in parallel with integer interpolation (in other words, at no cost).

The base texture and the lightmap of a wall were rendered at the same time: a Surface Cache was creating new Surfaces, which are new pre-lighted textures which combines the base and lightmap textures. Surfaces not used since a few frames were released, while new required Surfaces were dynamically created. Generating the surfaces was consuming less time than a secondary lighting pass would have. To save memory, smaller surfaces using mipmaps of the original texture were generated first for further walls.

The characters were lit using a constant ambient light, which value came from a structure storing ambient colors in 3D, depending on the character's position. Characters and objects very far from the camera were not rendered in 3D: they were instead rendered as voxels: 3d big square points of a single color (which came from the object texture).

Hardware 3D acceleration

Quake was also one of the first games to support 3D hardware acceleration. While initially released with only software rendering, John Carmack created a version of the Quake executable that took advantage of Rendition's Vérité 1000 graphics chip (VQuake). OpenGL support was soon added in the form of the GLQuake executable for Windows 95 and higher. Many[who?] believe that this kick-started the independent 3D graphics card revolution, GLQuake being the first application to truly demonstrate the capabilities of the 3dfx "Voodoo" chipset at the time. The only other cards capable of rendering GLQuake were a professional (and very expensive) Intergraph 3D OpenGL card and later, the PowerVR cards.

To optimize the software rendering engine, lightmaps were shared by polygons that were close in space, and in the same leaf of the BSP tree. This means that quite often polygons using the same main texture could not be rendered at the same time with the 3d acceleration, due to the multitexturing second unit having to be reconfigured with another lightmap. This architecture decision reduced hardware-accelerated rendering performance.

Player movement

Quake by default used the keyboard to turn left and right and move forward and backward, using the mouse, like Doom, to do the same movements. This produced awkward movements, and required settings like "auto-level" that would move the viewpoint back to straight forward as the player moved and "auto vertical aim" that would automatically shoot things above and below the player. Probably because of this, the level design in Quake was more suited to the 2.5D environment of Doom. Only in a few spots in the game was the attacking monster far above or below the player. Quake did have the option of using the mouse to look/aim/orient ("mouselook") and the keyboard to move forward, backward and sideways, but it was not the default until Quake III Arena was released.

Network play

Quake includes cooperative and deathmatch multiplayer modes over LAN or the Internet. Additional multi-player modes were later added using mods.

Quake uses the client–server model, where a server has control of all game events. All players connect to this server in order to participate, with the server telling the clients what is happening in the game. The server may either be a dedicated server or a listen server. Even in the latter situation, Quake still uses the client–server model, as opposed to the peer-to-peer networking used by some other games. Quake thus cannot suffer from de-synchronized network games that could occur from different clients disagreeing with each other, since the server is always the final authority.

Derivative engines

Family Tree of Quake engines
Quake family tree, showing games and engines based on the Quake Engine

On December 21, 1999, John Carmack of id Software released the Quake engine source code on the Internet under the terms of the GPL, allowing programmers to edit the engine and add new features. Soon programmers were releasing new versions of the engine on the net. A few of the most known engines are:

  • DarkPlaces engine - Significantly modified engine used by several standalone games and Quake mods.
  • GoldSource Engine – First engine to be created by Valve Corporation, and was used on the Half-Life series, gave rise to the Source engine.
  • Tenebrae – A derivative that was the first to introduce realtime lighting and shadowing to the Quake engine.
  • Telejano – A modification that adds many more features and particle effects.
  • Tomaz Quake – One of the first Quake engine modifications on the net.
  • Twilight Engine – Fastest of the known Quake engines, this modification is based on performance rather than extra features.

Games using the Quake engine

  • Quake (1996) – id Software
  • HeXen II (1997) – Raven Software
  • Half-Life (1998) - Valve Corporation (Half-Life uses the Quake-based GoldSrc engine)
  • Laser Arena (2000) – Trainwreck Studios
  • CIA Operative: Solo Missions (2001) – Trainwreck Studios
  • Urban Mercenary (2001) – Moshpit Entertainment
  • Silver Wings (2005) – Bampusht! (Silver Wings uses a heavily modified version of Telejano v7)

Quake engine tools

  • QuArK – a multi-purpose tool for Quake engine-based games.

See also

Portal iconFree software portal
Portal iconVideo games portal
  • Daftar/Tabel -- game engines
  • First person shooter engine
  • id Tech

References

External links

    Sebelumnya  (Quake Army Knife) (Quake II)  Berikutnya    


D3 MPRS (Manajemen Pelayanan RS)Referensi ICTEnsiklopedia DuniaS2 Magister Manajemen / MMS1 Teknik IndustriS1 PAUD (Pendidikan Guru Anak Usia Dini)S1 Ilmu Administrasi Publik / NegaraHTML 4Bahasa Pemrograman



Tags: Quake engine, Informatika, Komputer, 2272, Quake engine Quake engine Developer(s) id Software Written in C GNU Assembler Type Game engine License GNU General Public License The Quake engine is the game engine that was written to power 1996's Quake written by id Software, It featured true 3D real time rendering and is now licensed under the terms of the GNU General Public License (GPL), After release it immediately forked as did the leve, Quake engine, Bahasa Indonesia, Contoh Instruksi, Tutorial, Referensi, Buku, Petunjuk m.lev yashin 1st klub union dynamo balon 1963 fc s8, prestasi.web.id
 Pendaftaran Online    Bursa Karir    Beragam Perdebatan    Kuliah Blended di 112 PTS Terbaik
Informasi PTS
Khusus Perguruan Tinggi Swasta
Terkemuka & Terakreditasi
STMIKMJ Jakarta
STIE IGI
STTM STIE WP
STEI Jogja
STIE Hidayatullah
STEBI Bina Essa
UMJ: FTan FISIP
Univ. Muhammadiyah Smrg
Univ. Muhammadiyah Sby
UNSUB
STMIK MJ UNKRIS
Univ. Thamrin: FE FASILKOM
ISTA ITBU
STIE Trianandra STIE IGI
STT Mandala Bandung
STMIK STIKOM Bali STTB
POLNAS Denpasar
STT Bina Tunggal Bks.
STIKI Malang
UNDARIS Semarang
INDOCAKTI
UPRI
STIE Hidayatullah Depok
UNISA Dharma Andigha
Universitas Nusantara
UHAMZAH
UTS Makassar
STT Duta Bangsa
STIE GICI IMWI Sukabumi
UNAKI KAHURIPAN
STEI Jogja STIE Pemuda
Universitas Mpu Tantular
USCND Langsa
USM INDONESIA STTM
UNUGHA UM Palangkaraya
STIE WD IKIP WD
STIE Ganesha Yuppentek
STT Muttaqien
STIT BATAM IAI AS
UCM STIE GEMA
Universitas Megou
STIE PIONEER
STIMAIMMI STIEABI
UPGRIS UICM Bandung
AL-AZHAR UNUSA
Tanri Abeng University
STIE AMKOP STIE WP
Univ. Boyolali UDB
UNIBA ITB AD
UNU KALBAR
Ubudiyah
ISIF
STEBI Global Mulia
STT Sapta Taruna
Universitas Bali Dwipa
UNU Kaltim UHS
Univetsitas IVET
CENDEKIA STAI DB
STIE Mitra STiPSi
UNIPI Bandung
STIE Al-Rifa'ie
UNTARA Pelita Bangsa
Patria Artha
Univ. Widya Kartika
UTN Bogor IGN Bogor
Parna Raya
STAI Terpadu Yogyakarta
STIT Al-Hikmah Lampung
Univ. Deli Sumatera
STIA Bayuangga
UI Mandiri
STAI Muhammadiyah Probolinggo
STEBI Bina Essa
STAI Muhammadiyah Tulungagung
Politeknik Harapan Bangsa Surakarta
STIKes Sapta Bakti
ITeKes Tri Tunas Nasional
STEBI Badri Mashduqi
STIA Maulana Yusuf
STAI Miftahul Ulum
STIH Gunung Jati
STIE PPI Balaraja
Poltekkes Kerta Cendekia
ITB Pelita Raya
Poltek Ganesha
Universitas Moch. Sroedji
STIT Al-Hidayah Tasikmalaya
STIT Nur Ahadiyah
Politeknik Aisyiyah
Politeknik Santo Paulus Surakarta
IAI Al-Ghurabaa Jakarta
STAI AL Akbar Surabaya
Universitas Mahakarya Asia Yogyakarta
Politeknik Bhakti Kartini
Univ. Muhammadiyah Smrg
STMIK MJ UNKRIS
Thamrin: FE FASILKOM
STT Bina Tunggal Bks.
STIKI Malang
UNDARIS Semarang
INDOCAKTI
UPRI
STIE Hidayatullah Depok
UNISA Dharma Andigha
Universitas Nusantara
UHAMZAH
UTS Makassar
STT Duta Bangsa
STIE GICI IMWI Sukabumi
UNAKI KAHURIPAN
STEI Jogja STIE Pemuda
Universitas Mpu Tantular
USCND Langsa
USM INDONESIA
UM Palangkaraya
UNUGHA STIE WD IKIP WD
STIE Ganesha Yuppentek
STT Muttaqien
STIT BATAM IAI AS
UCM STIE GEMA
Universitas Megou
STIE PIONEER
STIMAIMMI STIEABI
UPGRIS UICM Bandung
AL-AZHAR UNUSA
Tanri Abeng University
STIE AMKOP STIE WP
Univ. Boyolali UDB
UNIBA ITB AD
UNU KALBAR
Ubudiyah ISIF
STEBI Global Mulia
STT Sapta Taruna
Universitas Bali Dwipa
UNU Kaltim UHS
Univetsitas IVET
CENDEKIA STAI DB
STIE Mitra STiPSi
UNIPI Bandung
STIE Al-Rifa'ie
UNTARA Pelita Bangsa
Patria Artha
Univ. Widya Kartika
UTN Bogor IGN Bogor
Parna Raya
STAI Terpadu Yogyakarta
STIT Al-Hikmah Lampung
Univ. Deli Sumatera
STIA Bayuangga
UI Mandiri
STAI Muhammadiyah Probolinggo
STEBI Bina Essa
STAI Muhammadiyah Tulungagung
Politeknik Harapan Bangsa Surakarta
STIKes Sapta Bakti
ITeKes Tri Tunas Nasional
STEBI Badri Mashduqi
STIA Maulana Yusuf
STAI Miftahul Ulum
STIH Gunung Jati
STIE PPI Balaraja
Poltekkes Kerta Cendekia
ITB Pelita Raya
Poltek Ganesha
Universitas Moch. Sroedji
STIT Al-Hidayah Tasikmalaya
STIT Nur Ahadiyah
Politeknik Aisyiyah
Politeknik Santo Paulus Surakarta
IAI Al-Ghurabaa Jakarta
STAI AL Akbar Surabaya
Universitas Mahakarya Asia Yogyakarta
Politeknik Bhakti Kartini
MM UNKRIS MIKom Fisip UMJ MIA Fisip UMJ
MM STIE Mitra MM UNTARA MM Pelita Bangsa
MM STIE Ganesha
MM STIMAIMMI MM STIEABI
MM STIE IGI MM STIE GICI MKS ITB Ahmad Dahlan
MM IGN MKom IGN
KPT Konsultan Pendidikan Tinggi
Chatting dengan staf
Kuliah Karyawan

(silakan klik di bawah ini)
Penerimaan / Pendaftaran
__Mahasiswa Baru

Lokasi Kampus & Peta
Program Studi (D3, S1, S2)
___(+ Kurikulum & Prospektus)

Pascasarjana (S2)
Biaya Pendidikan
Sistem Pendidikan
Jadwal Kuliah & Dosen
Keunggulan-Keunggulan
Angkutan Umum


GALERI FOTO

Situs2 Forum
Situs2 Iklan Berkualitas
Situs2 Pengumuman / Berita
Situs2 Lowongan Pekerjaan

List Portal Kuliah Pengusaha
List Portal Kuliah Reguler
List Portal Kelas Malam
List Portal Pascasarjana (S2)
Tabel Website Ensiklopedia
Tabel Website Ensiklopedi Dunia

Kumpulan Situs Gabungan PTS
Jaringan Portal Gilland Group
Web Iklan Kelas Pegawai
List Portal Barterlink
Konsultan Pendidikan Tinggi
 Tips & Trik Psikotes    Seluruh Literatur Bebas    Berbagai Pariwara    Permintaan Beasiswa    Download Katalog    Kelas Gratis    Program Perkuliahan Entrepreneur    Program Pascasarjana (Magister, S2)    Perkuliahan Reguler    Program Kuliah Paralel    Jadwal Ujian Try Out    Waktu Salat    Quran Online    Buku Tutorial
Manfaat Nangka

Merawat tumbuhan Savory, Kandungan zat gizi Sorrel, Menanam benih / biji Kacang Gude di sekitar rumah, dsb.

PERMINTAAN KATALOG
(GRATIS via POS)
Nama Penerima Katalog

Alamat Lengkap

Kota + Provinsi

Kode Pos

Email (tidak wajib)

⛦ harus diisi lengkap & jelas
Atau kirimkan nama dan
alamat lengkap via SMS ke HP:
0811 1990 9026


Brosur Gratis
Brosur Kelas Karyawan
Gabungan Seluruh Wilayah Indonesia

pdf (11,2 MB)zip (8,8 MB)
Image/JPG (36,2 MB)
Brosur Kelas Karyawan
JABODETABEK

pdf (5,5 MB)zip (4,4 MB)
Image/JPG (13,2 MB)
Brosur Kelas Karyawan
DIY,JATENG,JATIM & BALI

pdf (4,4 MB)zip (3,5 MB)
Image/JPG (14,5 MB)
Brosur Kelas Karyawan
JAWA BARAT

pdf (2,8 MB)zip (2,2 MB)
Image/JPG (7,1 MB)
Brosur Kelas Karyawan
SULAWESI

pdf (1,9 MB)zip (1,5 MB)
Image/JPG (5,6 MB)
Brosur Kelas Karyawan
SUMATERA & BATAM

pdf (2,2 MB)zip (1,7 MB)
Image/JPG (6,5 MB)
Brosur Reguler
pdf (4,1 Mb)zip (8,4 Mb)
Kalender RI 2023
Image/JPG (2,1 Mb)pdf (400 kb)
Soal UN & SBMPTN
pdf(3,5 Mb)zip(1,5 Mb)
STRATEGI MENINGKATKAN
Pendapatan, Kualitas Pendidikan dan Sumber Daya PTS

pdf(6 Mb)Image/JPG(16 Mb)

Terobosan Baru
Strategi MENINGKATKAN
Kualitas Pendidikan, Sumber Daya dan Pendapatan PTS
Ikhtisar Terperinci
silakan klik di bawah ini
http://kpt.co.id

Lowongan Kerja

PT. Gilland Ganesha

Dibutuhkan Segera
  • Design Grafis
  • Tenaga Ahli Pemrograman

Rangkuman Menyeluruh di :
Kesempatan kerja

155 Jenis / Ras Kucing

Pengetahuan dasar kucing, arti warna kucing, jadwal vaksinasi kucing, dsb.

Facebook Kuliah Karyawan

Tujuan Penting
silakan klik di bawah ini
PTS di Sumatera Utara
Senat seluruh Dunia
Pusat Pengetahuan Online

1. Universitas Yarsi Pratama - Universitas Yarsi Pratama - Kampus : Jl. Aria Jaya Santika No. 7, Pasir Nangka, Kec. Tigaraksa, Kab. Tangerang, Banten
2. STIE Widya Persada Jakarta - Sekolah Tinggi Ilmu Ekonomi Widya Persada Jakarta - Kampus :Jl. Hj. Tutty Alawiyah No.486, RW.5, Kalibata, Kec. Pancoran, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12740
3. UWIKA Surabaya - Universitas Widya Kartika Surabaya - Kampus UWIKA : Jl. Sutorejo Prima Utara II No.1, Kalisari, Kec. Mulyorejo, Kota Surabaya, Jawa Timur 60112
4. Universitas Wijaya Kusuma Surabaya - Universitas Wijaya Kusuma Surabaya - Kampus : Jl. Dukuh Kupang XXV No.54, Dukuh Kupang, Kec. Dukuhpakis, Surabaya, Jawa Timur 60225
5. Universitas Teknologi Sulawesi Makassar - Universitas Teknologi Sulawesi Makassar - Kampus UTS Makassar : Jl. Talasalapang No.51A, Karunrung, Kec. Rappocini, Kota Makassar, Sulawesi Selatan 90222
6. Universitas Teknologi Nusantara - Universitas Teknologi Nusantara - Kampus UTN : Jl. Kedung Halang Pemda pangkalan II No.66, RT.01/RW.02, Kedunghalang, Kec. Bogor Utara, Kota Bogor, Jawa Barat 16158
uic.web.id  |  kelas-malam.com  |  kelasmalam.net  |  kelas-malam.net  |  kelasmalam.org  |  kelassoremalam.com  |  kelas-sore-malam.com  |  kelassoremalam.net  |  kelas-sore-malam.net  |  kuliah-malam.org  |  s2-uwks.web.id