2026-09-18 · 15 dk
1999'da Chris Sawyer'ın RollerCoaster Tycoon'u neredeyse tamamen x86 assembly ile, tek başına (yalnızca bir çizer ve bir besteciyle) yazması ve dönemin sıradan PC'lerinde binlerce ziyaretçiyi aynı anda simüle etmesi. Transport Tycoon'un devamı olacakken lunapark takıntısına dönüşen projenin milyonlarca satışa ulaşması ve yıllar sonra Atari'ye açtığı 4,8 milyon dolarlık telif davasıyla sektörden çekilişi.
rollercoaster tycoonchris sawyerassemblytek kişilik oyunatari davasıSektör ekipler, motorlar ve yüksek seviye dillerle büyürken bir adam, işletim sistemiyle konuşmak dışında neredeyse her satırı işlemcinin kendi diliyle yazdı. Ortaya çıkan lunaparkta her ziyaretçinin adı, parası ve midesi ayrı ayrı hesaplanıyordu — hem de 1999'un sıradan bir ev bilgisayarında. Peki bu kadar kazandıran oyunun yaratıcısı neden sonunda kendi yayıncısını mahkemeye verdi?
1990'ların ortasında İskoçya'nın orta kesiminde, Dunblane yakınlarındaki küçük bir köyde yaşayan bir adam vardı. Kapısında stüdyo tabelası yoktu, arkasında yatırımcı yoktu, ekibi yoktu. Odasında birkaç bilgisayar, kulağında kendi seçtiği müzik ve ekranında, çoğu meslektaşının artık okumakta bile zorlandığı bir metin akıyordu: işlemcinin kendi dili.
Chris Sawyer, Glasgow'daki Strathclyde Üniversitesi'nden bilgisayar bilimi ve mikroişlemci sistemleri diplomasıyla mezun olmuştu. Kariyerinin ilk yılları parlak değil, sabırlıydı. 1988 ile 1993 arasında dokuz oyunu başka makinelerden alıp DOS'a taşıdı. Bu iş, dışarıdan bakıldığında yaratıcılıkla ilgisi olmayan, sıkıcı bir tamircilik gibi görünür: başkasının tasarladığı bir oyunu söküp, bambaşka bir donanımın mantığına göre yeniden kurarsınız. Ama bu iş ona bir şey öğretti. Bir uzay ticareti oyununun dönüşümünü yaparken, özgün sürümde bulunmayan kaplamalı yüzeyleri kendi eliyle ekleyecek kadar derine indi. Yıllar içinde x86 işlemci ailesinin komut setini öyle içselleştirdi ki, çalışırken kılavuza bakma ihtiyacı neredeyse kalmamıştı. Parmakları, çoğu programcının yalnızca ders kitaplarında gördüğü bir dili ezbere biliyordu.
1994'te kendi oyununu yaptı. Transport Tycoon, yani Türkçesiyle Taşımacılık Patronu, tren yolları, otobüs hatları, limanlar ve uçak seferleriyle bir nakliye imparatorluğu kurduğunuz bir yönetim oyunuydu. Beklenmedik biçimde tuttu; bir yıl sonra çıkan geliştirilmiş sürümü de iyi sattı. Sawyer artık bir sonraki projesini istediği gibi seçebilecek durumdaydı. Herkes devam oyununu bekliyordu. O da başlangıçta aynı şeyi düşünüyordu.
Bunun yerine parayı alıp yola çıktı. Avrupa'yı ve Amerika'yı dolaştı, tema parklarını gezdi. İşin tuhaf yanı şu: hız trenlerini başta sevmiyordu bile. Yüksekten düşen, ters dönen, insanı koltuğa yapıştıran o makineler ona cazip gelmiyordu. Sonra bir yerde bir şey değişti. Tutkular çoğu zaman böyle başlar; önce direnirsiniz, sonra fark edersiniz ki haftalarınızı bir vagonun kaç saniyede kaç g kuvvet ürettiğini düşünerek geçiriyorsunuz. Sawyer bu eşiği geçti ve bir daha geri dönmedi. Ömrü boyunca 700'den fazla farklı hız trenine bindi.
Bu takıntı, planlanan devam oyununu içeriden bükmeye başladı. Nakliye oyununda yaptığı şeyi düşünün: arazi üzerine ray döşemek, eğim hesaplamak, viraj yarıçapı seçmek, bir aracın o güzergâhta düzgün gidip gitmeyeceğini kontrol etmek. Lunapark treni de tam olarak budur. Aynı geometri, aynı fizik, aynı döşeme mantığı. Değişen tek şey rayın amacıdır. Nakliyede ray bir araçtır; yolcuyu bir yerden bir yere taşır. Lunaparkta ise ray, ürünün kendisidir. Yolcu hiçbir yere gitmez, başladığı noktaya döner; satın aldığı şey kırk beş saniyelik bir duygudur. Sawyer bir mühendislik problemini bir duygu problemine çevirdiğini fark ettiğinde, proje çoktan başka bir oyuna dönüşmüştü.
İlk adı White Knuckle'dı; korkudan parmakların beyazlaması anlamına gelen, doğrudan hız treni kültüründen gelen bir deyimdi. Sonradan, önceki oyunun geleneğini sürdürmek için bugün bildiğimiz ada karar verildi: RollerCoaster Tycoon, yani Lunapark Patronu.
Yapımı iki yıl sürdü. Bu iki yıl boyunca oyunun tasarımcısı, programcısı, seviye kurgucusu, denge ayarcısı ve test uzmanı aynı kişiydi. Endüstri o yıllarda düzinelerce kişilik ekiplere, ayrı motor takımlarına, ayrı araç geliştiricilerine geçmişti. Lunapark Patronu ise bir köy evinde, tek bir insanın kafasının içinde büyüdü.
Sawyer'ın kullandığı araçların listesi, bugün bakıldığında neredeyse bir meydan okuma gibi durur: Microsoft'un makine dili derleyicisinin 6.11c sürümü, Visual C'nin beşinci sürümü, DirectX'in beşinci sürüm geliştirme kiti ve kendi yazdığı bir avuç yardımcı program. Oranlar ise şöyleydi: oyunun yüzde 99'u doğrudan x86 makine diliyle yazıldı. Geri kalan yüzde 1'lik C kodu yalnızca Windows'a ve DirectX'e bağlanmak için vardı.
Bunun ne demek olduğunu açmak gerekiyor. Yüksek seviyeli bir dilde yazarken, makineyle aranızda bir tercüman vardır. Siz niyetinizi söylersiniz, derleyici onu işlemcinin anlayacağı komutlara çevirir. Bellek yönetimini, hangi değerin hangi yazmaçta duracağını, hangi işlemin kaç çevrim süreceğini büyük ölçüde o düşünür. Makine dilinde ise tercüman yoktur. Her komutu tek tek siz yazarsınız. Bellekteki her baytın nerede durduğunu siz takip edersiniz. Ve hata yaptığınızda size kibar bir uyarı gelmez; program çöker, siz de binlerce satırın içinde neyin yanlış gittiğini aramaya başlarsınız. 1997 yılında bu yöntem zaten eskimiş sayılıyordu. Ciddi oyunlar C ve C++ ile yazılıyordu. Sawyer bildiği yoldan gitti, çünkü hem parmakları o dili biliyordu hem de peşinde olduğu şey için başka çaresi yoktu.
Peşinde olduğu şey hızdı. Oyunun asgari sistem gereksinimleri 90 megahertz'lik bir Pentium işlemci ve 16 megabayt bellekti. Yani sıradan bir ofis bilgisayarı. Ve bu mütevazı makinenin sırtına yüklenecek yük hiç de mütevazı değildi.
Çünkü Lunapark Patronu'nda ziyaretçi sayısı bir sayı değildi. Ekrandaki o küçük renkli figürlerin her birinin adı vardı. Her birinin cüzdanında belirli bir para vardı. Her birinin mutluluk seviyesi, açlığı, susuzluğu, tuvalet ihtiyacı, enerjisi, bulantı derecesi ve bulantıya dayanma eşiği ayrı ayrı takip ediliyordu. Dahası, her ziyaretçinin ne kadar sert bir yolculuk istediğine dair kendi tercihi vardı; birine heyecan veren tren, diğerine işkence gibi geliyordu.
Bu değişkenler birbirini besliyordu. Ziyaretçi acıkıyor, yemek satan bir büfe arıyor, yiyor, sonra tuvalete gitmesi gerekiyordu. Şiddetli bir trene bindiğinde bulantısı yükseliyordu; eşiğini aşarsa yolun ortasında duruyor, rengi yeşile dönüyor, elini ağzına götürüyor ve kusuyordu. Ve işin en zalim kısmı şuydu: o kusmuğu gören diğer ziyaretçilerin mutluluğu düşüyordu. Yani tek bir kötü tasarlanmış hız treni, yolun ortasında bir leke bırakıyor, o leke onlarca insanın ruh halini bozuyor, bozulan ruh hali park puanına yansıyor, düşen park puanı kapıdan giren ziyaretçi sayısını azaltıyordu. Bir tasarım hatası, parkın içinden dalga dalga yayılıyordu.
Üstelik bu figürlerin her biri, oyunun her anında yol ağının içinde kendi rotasını arıyordu. Yüzlerce, kimi parklarda binlerce ajan, aynı anda, aynı işlemcinin üzerinde. Sawyer'ın kendi ifadesiyle mesele şuydu: kusursuz çalışan bir rota arama algoritması yazmak zor değildir; ama o algoritma oyunu saniyelerce, hatta dakikalarca dondurup bırakıyorsa hiçbir işe yaramaz. İşte makine dilinin sebebi buydu. Sawyer bu döngülerin içinden tek tek işlemci çevrimi söküyordu. Masasında iki bilgisayar tutuyordu: biri hızlıydı, üzerinde kod yazıyordu; diğeri yavaştı ve ona dürüst cevabı veriyordu.
Görsel tarafta, serbest çalışan Simon Foster devreye girdi. Foster çizimleri doğrudan elle yapmadı; nesneleri üç boyutlu modelleme yazılımlarında kurdu, ışıklandırdı, kaydetti ve ortaya çıkan görüntüleri sabit açılı küçük resimlere dönüştürdü. Yani oyun çalışırken hiçbir üç boyutlu hesap yapmıyordu; hazırlanmış resimleri doğru sırayla ekrana yığıyordu. Böylece 90 megahertz'lik bir makine, aslında karşılayamayacağı kadar zengin görünen bir parkı akıcı biçimde çevirebiliyordu. Müziği Allister Brimble yazdı; lunapark orgunu andıran o neşeli, dönen, hafızaya kazınan ezgiler oyunun kimliğinin yarısı oldu.
Oyun 22 Mart 1999'da Kuzey Amerika'da, 12 Nisan 1999'da Avrupa'da çıktı. Yayıncı, Hasbro'nun oyun bölümüydü; kutunun üzerinde MicroProse etiketi vardı.
Ve çıkışından haftalar sonra, tek kişilik geliştirmenin bedeli kendini gösterdi. Nisan 1999'da yaz saati uygulamasına geçildiğinde, kayıt dosyaları bozulmaya başladı. Sebep son derece incelikliydi: oyun kayıt verisinin zaman damgasını doğrularken kullandığı sistem çağrısı, beklendiği gibi evrensel saati değil, yerel olarak kaydırılmış saati döndürüyordu. Damga tutmayınca kayıtlar geçersiz sayılıyordu. Binlerce oyuncunun saatlerce emek verdiği parkları açılmıyordu. Arayı bulacak bir hata ayıklama ekibi yoktu; sorunu bulacak, yamayı yazacak ve bozulmuş dosyaları onaracak aracı hazırlayacak olan da aynı adamdı. Bulup çıkardı.
Sonrası, sayılarla anlatıldığında kolay görünüyor. Oyun 1999 yılında yalnızca Amerika Birleşik Devletleri'nde 719.535 kopya sattı ve 19,6 milyon dolar hasılat yaptı; o yılın en çok kazandıran üçüncü bilgisayar oyunuydu ve yılın en çok satanı oldu. Satış listelerinden yıllarca inmedi; Temmuz 2002'ye gelindiğinde 4 milyonun üzerinde kopya satmıştı. Arkasından iki ek paket geldi, ardından 2002'de devam oyunu. Sawyer devam oyununu da aynı yöntemle, yine makine diliyle yazdı.
Para tarafında ise daha sonra mahkeme belgelerinden öğrenilecek bir tablo vardı. Sawyer'ın oyunlarının yayıncıya getirdiği toplam gelir, o dönem için yaklaşık 180 milyon dolar olarak tahmin ediliyordu. Sawyer'ın bu gelirden telif olarak aldığı tutar ise yaklaşık 30 milyon dolardı. Bir köy evinde, tek başına, kimsenin artık kullanmadığı bir dille çalışan bir programcı, sektörün en çok kazanan bireysel geliştiricilerinden biri haline gelmişti.
Ama sözleşmeyi imzaladığı şirket yerinde durmuyordu. Hasbro'nun oyun bölümü 2001'de Fransız şirketi Infogrames'e satıldı; o şirket de bir süre sonra Atari adını kullanmaya başladı. Yani telif sözleşmesinin bir tarafında hâlâ aynı adam vardı, diğer tarafında ise artık bambaşka bir kurum duruyordu.
2004'e gelindiğinde işler değişmişti. Serinin üçüncü oyunu İngiliz stüdyosu Frontier Developments'a verildi; Sawyer yalnızca danışman olarak yer aldı. Aynı yıl kendi yeni oyunu çıktı ve soğuk karşılandı; eleştirmenler motorunun, yapay zekâsının ve arayüzünün çağın gerisinde kaldığını yazdı. Tek başına makine diliyle rakiplerini geçen programcının çağı kapanmıştı ve bunu en net gören kişi muhtemelen kendisiydi.
Kasım 2005'te Sawyer, ödenmediğini düşündüğü telifler için yayıncıya dava açtı. İddiası, 4,8 milyon dolarlık bir eksiklik olduğuydu. Davanın merkezinde kurnaz bir hukuki ayrıntı vardı: Sawyer, lisans anlaşmasının kendisine tanıdığı denetim hakkının engellendiğini, denetçilerinin 1999 ile 2001 arasındaki hesaplara sokulmadığını öne sürüyordu. Görevlendirdiği adli muhasebeciler, haksız yere alıkonulduğunu düşündükleri 13 ayrı ödeme kalemi tespit etmişlerdi. Karşı taraf 2007'de tazminat talebiyle karşı dava açtı. İki tarafın avukatları iki yıl boyunca birbirine belge yağdırdı.
Sonunda dava salonda bitmedi. Şubat 2008'de taraflar mahkeme dışında anlaştı; Sawyer'a ödenen tutar açıklanmadı. Ne bir zafer manşeti oldu ne de bir yenilgi. Milyonlarca insanın çocukluğunu şekillendiren bir oyunun hikâyesi, sessizce kapanan bir dosyayla sona erdi.
Ama kodun kendisi, kendisiyle ilgili kâğıtlardan daha uzun yaşadı. 2 Nisan 2014'te Ted John adında bir programcı, tuhaf bir işe girişti: serinin ikinci oyununu makine dilinden geriye doğru çözüp C diline yeniden yazmaya başladı. Yöntem sabır işiydi. Henüz çevrilmemiş her işlev için program, hâlâ özgün oyunun kendi dosyasını çağırıyordu; çevrilen her parça, o çağrının yerini alıyordu. Prosedür prosedür, ay ay. 15 Ekim 2015'te iş tamamlandı ve açık kaynak sürüm, grafik ve ses dosyaları dışında özgün oyuna ihtiyaç duymadan kendi ayakları üzerinde durmaya başladı. Bugün o kod, Sawyer'ın 1997'de varlığını bile hayal edemeyeceği işletim sistemlerinde ve işlemcilerde çalışıyor.
Burada ince bir ironi var. Makine dili, taşınamaz olmakla ünlüdür; belirli bir işlemciye çakılı, bakımı zor, bir kuşak sonra okunamaz hale gelen bir yazım biçimidir. Sawyer'ın seçimi, o günün ölçütleriyle bile riskliydi. Oysa sonuç tersine döndü: tam da o kod öylesine sıkı ve öylesine anlaşılır bir mantıkla yazılmıştı ki, on beş yıl sonra bir grup gönüllü onu arkeolojik bir metin gibi kazıp satır satır çevirebildi. Sawyer'ın kendisi de 2016'da, Origin8 adlı bir stüdyoyla birlikte oyunu cep telefonlarına taşıdı; RollerCoaster Tycoon Classic, yani Klasik sürüm, eski senaryoları avuç içindeki ekranlara getirdi.
Geriye kalan asıl miras ise teknik değil. Lunapark Patronu'ndan önce yönetim oyunlarında kalabalık bir sayıydı; müşteri memnuniyeti bir yüzdeydi, ziyaretçi akışı bir grafikti. Sawyer bunu reddetti ve her ziyaretçiye ad verdi. Parkınızda bir şey ters gittiğinde artık soyut bir puan düşmüyordu; ekranın köşesinde, adı olan biri "bu kadar paraya bu trene binmem" diye düşünüyordu. Bugün şehir kurma ve yönetim oyunlarının neredeyse tamamında gördüğümüz o his, yani kalabalığın içindeki tek bir kişiye tıklayıp onun derdini okuyabilme fikri, büyük ölçüde İskoçya'daki o köy evinden çıktı.
Bir adamın yıllarca işlemciyle kendi dilinde konuşarak kurduğu lunapark, açıldığı günden bu yana hiç kapanmadı.
Nöron Oyun'de bugünkü bölümün sonuna geldik. Yeni bir hikâyede yeniden buluşmak üzere.