🕹️ DigiLiner Retro Dosyası: Bu inceleme, Retro Oyunlar Kataloğu ve arşivimizin merkezi DOS inceleme koleksiyonunun bir parçasıdır.
10 Aralık 1993. Gece yarısı. Dallas, Teksas.
id Software ofisinde Jay Wilbur ve John Romero, Wisconsin Üniversitesi Parkside kampüsündeki bir FTP sunucusuna (ftp.uwp.edu) bağlanmaya çalışıyordu [1]. İnternetin henüz emekleme çağında olduğu o kış gecesinde, binlerce üniversite öğrencisi ve sistem yöneticisi ekranları başında çılgınca F5 tuşuna yükleniyordu. Trafik o kadar yoğundu ki sunucu yöneticisi ağın çökmesini engellemek için kullanıcıları zorla sistemden atmak zorunda kaldı.
Saat tam 00:00'ı vurduğunda 2.39 megabaytlık sıkıştırılmış bir dosya ağ kablolarına bırakıldı: 1doom1_0.zip [1][2]. Birkaç dakika içinde Wisconsin sunucusunun bant genişliği tamamen tükendi. Üniversite ağı kilitlendi.
O gece yalnızca yeni bir bilgisayar oyunu dağıtılmadı. Salonun kenarında fatura hesaplamak ve metin düzenlemek için duran sıkıcı bej renkli ofis bilgisayarı, o gece salonun tam ortasına fırlatılan bir arcade canavarına dönüştü.
⚡ DOOM (1993) Arşiv Künyesi & Doğrulanmış Veriler
İlk Dönemeç: 3D Değildi; 13 Yıllık Bir Matematik Hilesiydi
90'ların başında DOOM'u ilk kez gören herkes aynı yanılsamaya kapıldı: Karşılarında gerçek bir üç boyutlu dünya vardı. Oyuncu koşuyor, tünellere giriyor, merdivenleri tırmanıyor ve köşeleri dönüyordu.
Ancak ekranda parlayan şey üç boyutlu bir uzay değildi. DOOM, teknik tanımıyla katıksız bir 2.5D sektörel illüzyondu [2].
Oyun motorunun mimarisinde bir odanın üstüne başka bir oda inşa edemezdiniz ("room-over-room" imkansızdı). Bütün harita aslında düz, iki boyutlu bir zemin planından ibaretti. Her sektöre bir tavan yüksekliği, bir zemin yüksekliği ve bir ışık şiddeti tanımlanıyordu. Z ekseni hesaplanmıyor; iki boyutlu bir çizim dikey olarak yukarı ve aşağı uzatılıyordu [2][5].
Peki dönemin 33 MHz hızındaki bir 486 işlemcisi bu sahneyi saniyede 35 kare hızında nasıl çiziyordu?
O yıllarda kişisel bilgisayarların piksellerin derinliğini hesaplayacak bir donanımı (Z-buffer) yoktu. Bellek bant genişliği o kadar dardı ki aynı pikseli ekrana iki defa çizmek (overdraw) işlemciyi anında kilitliyordu [2]. John Carmack, bu açmazı aşmak için donanımla savaşmak yerine matematik literatürüne daldı.
Ve aradığı çözümü Bruce Naylor'ın 1980 yılında yayımladığı bir akademik makalede buldu: BSP (Binary Space Partitioning - İkili Uzay Bölümleme) [5].
Carmack, haritayı daha oyun açılmadan önce ikiye, sonra dörde, sonra sekize bölen bir ikili ağaç yapısı kurdu. Oyuncu koridorda ilerlerken motor sahneyi arkadan öne değil, önden arkaya doğru tarıyordu. En yakındaki duvar sütunu ekrana bir kez çizildiğinde o sütunun dikey pikselleri kilitleniyor; arkada kalan oda, koridor veya canavarlar işlemci tarafından hiç hesaplanmıyordu [2].
Karmaşıklık (O(N)) mertebesine düşmüştü. Carmack'ın NeXTstation iş istasyonunda Objective-C ile geliştirdiği bu algoritma, 4 Megabayt bellekli sıradan bir DOS makinesine sanki geleceğin süper bilgisayarıymış gibi nefes aldırdı.
İkinci Dönemeç: "Doom İncili"nin Yırtılışı ve İki John'un Çatışması
DOOM'un geliştirilme süreci stüdyo içinde büyük bir felsefi hesaplaşmaya sahne oldu.
id Software'in kurucu ortaklarından Tom Hall, oyun için 120 sayfalık ayrıntılı bir senaryo hazırlamıştı: "The Doom Bible" [1]. Hall'un tasarımında Teague, Dimitri, Lorelei ve Thi adında dört seçilebilir askeri karakter, ayrıntılı diyaloglar, araştırma laboratuvarı personeliyle yapılan telsiz brifingleri ve kurtarılacak bilim insanları vardı.
John Carmack taslağı masanın üstüne bıraktı ve bilgisayar oyunları tarihine kazınan o sert aforizmasını söyledi:
"Bir bilgisayar oyunundaki hikâye, bir pornografi filmindeki hikâye gibidir: Orada olması beklenir, ama aslında kimsenin umurunda değildir." [1]
John Romero da Carmack ile aynı fikirdeydi. Romero karmaşık diyaloglar veya görev brifingleri istemiyordu; o James Cameron'ın Aliens filmiyle Sam Raimi'nin Evil Dead II vahşetini, kulakları yırtan bir heavy metal ritmiyle birleştirmek istiyordu [1][3].
Tom Hall'un inşa ettiği yavaş tempolu, askeri brifingli dünya bir gecede rafa kaldırıldı. Hall hayal kırıklığıyla stüdyodan ayrılıp Apogee Software'e geçti.
Geliştirme sürecinin bitimine sadece 10 hafta kalmıştı ve eldeki seviyelerin yarısı çöpe gitmişti. İşte o kritik anda ekibe masaüstü rol yapma oyunu Call of Cthulhu'nun yazarı Sandy Petersen katıldı [1]. Petersen, kalan 10 haftalık sürede oyunun efsanevi 19 haritasını sıfırdan tasarladı. Romero ise açılışın unutulmaz marşı haline gelen E1M1: Hangar seviyesini inşa etti [3].
Oyunun görsel gücü de benzer bir somut gerçeklikten doğdu. Adrian Carmack ve Kevin Cloud, ekrandaki düşmanları piksel piksel çizmek yerine metal tel iskeletler üzerine lateks ve kille fiziksel heykeller inşa ettiler (Spider Mastermind, Cyberdemon, Baron of Hell) [1].
Bu heykeller döner bir tabla üzerine konarak video kamerayla 8 farklı açıdan tarandı. Kevin Cloud kendi kıllı kollarını ve marangozluk yaralarını taratarak Doom Guy'ın yumruklarını hazırladı; elindeki pompalı tüfek ise yerel bir oyuncakçıdan alınan TootsieToy marka bir pompalı tüfek oyuncağının fotoğrafıydı [1][3].
Üçüncü Dönemeç: Kurumsal Ağları Felç Eden 2.39 MB ve Port 666
DOOM'un yayılma hızı hiçbir pazarlama bütçesiyle açıklanamazdı. id Software, Apogee'nin öncülük ettiği shareware modelini benimsedi: Oyunun ilk bölümü (9 seviyelik Knee-Deep in the Dead) tamamen ücretsizdi [1]. Oyunculara "Bu oyunu kopyalayın, arkadaşlarınıza dağıtın, BBS'lere yükleyin" deniyordu.
Fakat fırtınayı koparan asıl dinamik, John Romero'nun bizzat adını koyduğu "Deathmatch" (Ölüm Maçı) modu oldu [1][3].
DOOM, yerel ağ (LAN) üzerinden 4 oyuncunun, modem veya seri kablo üzerinden ise 2 oyuncunun birbirini avlamasına olanak tanıyordu. O güne kadar bilgisayar oyunları tek başınıza makineye karşı oynadığınız izole deneyimlerdi. DOOM ile birlikte karşınızdaki düşman yapay zekâ değil, yan masadaki oda arkadaşınız veya şirket koridorundaki iş arkadaşınız oldu.
Bu rekabetin bedeli ise kurumsal dünyada çok ağır oldu. DOOM'un çok oyunculu motoru, yerel ağda IPX paketlerini yayın (broadcast) yöntemiyle her makineye gönderiyordu [2]. Ağdaki dört kişi deathmatch oynadığında, bütün kurumsal Ethernet hattı DOOM paketleriyle kilitleniyordu.
Intel, Lotus Development, Carnegie Mellon Üniversitesi ve Texas A&M gibi kurumlar mesai saatlerinde DOOM oynamayı kesin olarak yasakladı [1]. Birçok üniversitenin sistem yöneticileri, ağa bağlı terminallerde DOOM trafiğini algıladığında süreci otomatik olarak sonlandıran ve bağlantıyı kesen özel "Doom-buster" programları kodlamak zorunda kaldı.
Kaos o kadar büyüdü ki, Mayıs 1994'te John Carmack resmi olarak internet adresleme otoritesine (IANA) başvurdu. İnternetin efsanevi mimarlarından Jon Postel, talebi inceledi ve DOOM için özel bir ağ portu tahsis etti: Port 666 [4].
Bugün modern bir Linux, macOS veya FreeBSD sunucusunda terminali açıp /etc/services dosyasını incelerseniz, karşınıza resmi olarak tescil edilmiş şu iki satır çıkar [4]:
doom 666/tcp # DOOM Id Software doom 666/udp # DOOM Id Software
Donanım Mimarisi Karşılaştırması (1993 vs. 1994 Standartları)
| Bileşen / Özellik | Minimum Sistem (1993) | Önerilen İdeal Deneyim | Teknik Neden & Mimari Rolü |
|---|---|---|---|
| İşlemci (CPU) | Intel 80386SX (25/33 MHz) | Intel 80486DX (33/66 MHz) | 32-bit aritmetik ve BSP ağaç taraması için 386 korumalı mod şarttı [2]. |
| Bellek (RAM) | 4 MB | 8 MB | DOS/4GW genişletici kullanılarak 640 KB sınırı kırıldı ve WAD önbelleğe alındı [2]. |
| Grafik Standardı | VGA 320x200 (Mode 13h) | VGA 320x200 (Mode 13h) | Tek bellek sayfasında lineer 64.000 baytlık adresleme ile saniyede 35 FPS [2][5]. |
| Ses Kartı | PC Speaker / AdLib FM | Sound Blaster 16 / Roland SC-55 | Bobby Prince'in General MIDI partisyonları Roland cihazlarında stüdyo kalitesinde çalıyordu [1][3]. |
| Depolama | 15 MB Boş Sabit Disk | 30 MB Boş Sabit Disk | Tekil arşiv dosyası mimarisi (DOOM.WAD) [2][6]. |
WAD Mimarisi ve Modern Dünyadaki Karşılığı
John Carmack'ın DOOM'a kattığı en radikal mühendislik kararı belki de oyunun iç yapısını ikiye ayırmasıydı: DOOM.EXE (yürütülebilir motor kodu) ve DOOM.WAD ("Where's All the Data?" — haritalar, dokular, sesler ve spritelar) [2][6].
Carmack, oyuncuların kendi bölümlerini ve grafiklerini inşa etmelerini özellikle teşvik etti. Bu açık kapı, tarihin ilk kitlesel oyuncu modlama ekosistemini doğurdu. Birkaç ay içinde üniversite kampüslerinde Star Wars, Aliens veya Simpsons temalı WAD dosyaları elden ele dolaşmaya başladı.
Aralık 1997'de id Software, motorun kaynak kodunu GNU Genel Kamu Lisansı (GPL) ile kamuya açtığında DOOM ölümsüzlüğünü ilan etti [6]. Bugün DOOM; akıllı buzdolaplarından dijital fotoğraf makinelerine, hesap makinelerinden gebelik test cihazlarının monokrom ekranlarına kadar hesaplama gücü olan hemen her nesnede çalıştırılabiliyor ("Can it run Doom?").
Modern bir bilgisayarda bu deneyimi en saf haliyle yaşamak isteyen retro tutkunları için iki ana yol bulunuyor:
- Orijinal MS-DOS Deneyimi:
DOSBox-Stagingemülatörü üzerinden orijinalDOOM.EXE v1.9dosyasını çalıştırmak. 320x200 pikselliğin, CRT filtrelerinin ve OPL3 Sound Blaster FM tınılarının katıksız hali. - Kaynak Portları (Source Ports): Orijinal WAD verisini alıp modern 60+ FPS, geniş ekran ve gelişmiş fare bakışıyla (mouselook) çalıştıran
Chocolate Doom(birebir nostaljik doğruluk için) veyaGZDoom(modern donanım ve gelişmiş mod desteği için).
Belki de bir oyun motorunun gerçek dehası, donanımın yapamadıklarını zorlamasında değil; yapabildiği tek şeyi dünyaya büyü gibi gösterecek bir matematik hilesi bulabilmesindedir.
Siz ilk DOOM deneyiminizi klavye ok tuşlarıyla mı, yoksa fare desteğini çözdüğünüz o garip geçiş döneminde mi yaşamıştınız? Ve E1M1'in açılış riffleri çalarken hissettiğiniz o karanlık Mars koridoru hissi, bugünün yüz milyon dolarlık grafiklerinde hâlâ yaşıyor mu?
📚 Doğrulanmış Kaynaklar & Arşiv Referansları
- David Kushner, Masters of Doom, Random House, 2003. (ISBN: 0-375-50524-5) — id Software kuruluş günleri, Wisconsin FTP gecesi ve Tom Hall ayrılığı.
- Fabien Sanglard, Game Engine Black Book: DOOM, 2018. (ISBN: 978-1099882319) — 2.5D mimari, Mode 13h VGA analizi ve BSP ağaç optimizasyonu.
- John Romero, Doom Guy: Life in First Person, Abrams Press, 2023. — Deathmatch teriminin doğuşu, E1M1 tasarımı ve Bobby Prince müzikleri.
- IANA (Internet Assigned Numbers Authority), Service Name and Transport Protocol Port Number Registry — Resmi Port 666 kaydı (TCP/UDP).
- Bruce Naylor, A Hash-based Method for Generating Multiresolution Spline Representations / BSP Trees, ACM SIGGRAPH. — Carmack'ın uyguladığı ikili uzay bölümleme algoritması.
- id Software, DOOM Source Code Release (GNU General Public License v2), 1997 / 1999. — WAD mimarisi ve orijinal C kaynak kodları.
- MobyGames, DOOM (1993) Technical Specifications, Credits & Release History. — Doğrulanmış künye ve yayıncı bilgileri.
- The Doom Wiki & id Software Archive, The Doom Bible (Tom Hall Original Design Document, 1992). — Karakter taslakları ve iptal edilen senaryo dökümleri.