25 Ağustos 2011 Perşembe

DONKEY.BAS

Donkey ya da daha genel olarak bilinen ve kendi dosya isminden aldığı ismiyle DONKEY.BAS, 1981 yılında yazılmış ve IBM bilgisayarlarla dağıtılan PC-DOS işletim sisteminin erken sürümleriyle birlikte gelen bir bilgisayar oyunudur. Oyundaki amacınız çayıra salınmasına rağmen yola çıkarak canına susayan eşeklere çarpmamaya çalışarak F1 aracınızla yolunuza devam etmekten başka bir şey değil.

DONKEY.BAS, daha sonraki oyunlarla ve hatta kendi dönemindeki diğer sistemlerin oyunlarıyla karşılaştırıldığında epey basit bir oyundu. Peki böyle basit ve eski bir oyunu Penguenler de Oynar sayfalarına taşıyan özellik ne ola ki diye soranlar vardır sanırım. Oyunu dikkat çekici kılan yazarlarından birinin Microsoft'un kurucularından Bill Gates olması.

70'lerin sonu ve 80'lerin ilk yıllarında bilgisayar üreten IBM, yeni bilgisayarlarla birlikte dağıtılmak üzere bir işletim sistemi ve BASIC'in bir sürümünü yazması için Microsoft ile anlaşma yapmıştı. Bu anlaşma sonucu PC-DOS, IBM bilgisayarlarla dağıtılmaya başlandı, MS-DOS ise Microsoft tarafından satılan ayrı bir ürün olarak sunuldu piyasaya. Bu iki işletim sistemi de Microsoft BASIC'in bir sürümünü içeriyordu.

DONKEY.BAS, IBM bilgisayarların ve BASIC programlama dilinin renkli grafikler ve sesler içeren etkileşimli programlar üretmek hakkındaki yeteneklerini göstermek için Bill Gates ve Neil Konzen tarafından yazılmıştır. Oyuna ilgi hala devam etmektedir bu yazının size ulaşmasından da anlaşılacağı üzere. Şimdi panhaema'daki donkey.bas ve patent ihlalleri'nden kısa bir alıntıyla devam edelim (alıntıdaki alıntının çevirisini ben yaptım varsa yanlışları bana aittir):
Aradan yıllar geçer. DONKEY.BAS'ın programcılarından Bill Gates o yılları şöyle anar: 
"Ben ve Neil Thompson, sabahın dördünde küçük bir odanın içinde prototip bir IBM bilgisayarın başında oturuyorduk. IBM kapıda bir kilit olmasında ısrar etmişti ve biz de sadece kapısında bir kilit bulunan bu gizli odaya sahiptik, bu yüzden tüm geliştirmemizi burada yapmak zorunda kaldık ve sıcaklık neredeyse 40 dereceydi. Fakat gecenin geç saatlerine kadar IBM ile yerleşik olarak gelen BASIC'in yapabileceklerini gösteren küçük bir uygulama yazdık. Ve bu DONKEY.BAS'tı. Bu çok heyecan verici bir zamanda olmuştu." 
Hatta o programcının bu açıklamaları yaptığı yıllarda DONKEY.BAS, .NET uygulamalarının performansını göz önüne koymak adına tekrar ele alınır. 
Aradan geçen yıllara rağmen çeşitli yazılım geliştirme platformlarını meşhur etmeye/tanıtmaya devam eden bu küçük oyun kodu, açık mavi bir gezegenin yollarında direksiyon sallayan yalnız bir F1 pilotu olduğunuzu varsaymanızla başlar. Kabaca (?) yola fırlayan eşeklere çarpmamak için mücadele verdiğiniz bu oyunda, çarptığınız eşekler, puan almaktadır... 
Yıl 2007 oldu, çarptığımız eşekler hala puan alıyor demek geliyor ama daha retorik yazmak lazım: 
Şimdi bu oyunun yaptığı patent ihlallerini gözden geçirelim:
  1. Mavi ambians. Dolayısıyla, Venus akla geliyor. İleriye dönük gezegensel bir patent ihlali olabilir.
  2. F1 aracı. Kesinlikle affedilmez bir ahlaksızlık. F1 aracı tasarlayanların, 80'lerdeki maddi durumunun yegane nedenlerinden biri olması kuvvetle muhtemel.
  3. Eşek. Yaradana patent borcunuz var...
  4. Kontrol tuşları.
  5. Yol çizgileri.
  6. Puanlama sistemi.
  7. Eşeğe çarpınca arabanın parçalanması. Fizik kuralları dahilinde bir ihlal...
DONKEY.BAS'ın oynayışından da biraz daha detaylıca bahsedip yazıyı sonlandırma aşamasına geçeyim. Oyunda iki şeritli bir yolda sadece şerit değiştirerek karşınıza çıkan eşeklere çarpmamaya çalışıyorsunuz. Araç hızlanmak için gaza ve yavaşlamak için bir frene sahip değil, sadece bir direksiyonunuz var sağa ve sala hareket etmek için. Oyunda derin anlamlar da aranmaması gerekiyor, öne çıkan eşeklerden kaçmaktan başka hiçbir amaç yok, dünyayı kurtarmıyoruz bu oyunda.

Oyun, IBM bilgisayardaki tek renkli ekran kipi olan CGA'yı kullanıyordu. Bu kip dört rengin kullanılmasını sağlasa da DONKEY.BAS genellikle sadece üç renk gösteriyordu ekranda. Oyunun düşük çözünürlüklü grafikleri ise çok basit görünümlüydü.

Oyunda yol, araç ve eşekler dışında, talimatlar ve puan durumu da gösteriliyor. Eğer bir eşeğe çarparsanız hem siz hem de eşek patlıyorsunuz bilgisayar hoparlöründen gelen bir ses efektiyle birlikte ve siz etaba yeni baştan başlarken eşekler bir puan kazanıyor. Oyuncu ise etap tamamladıkça puan kazanıyor.

Oyunun kaynak kodlarını ve Macintosh camiasının oyun hakkındaki görüşlerini kaynaklardaki yazılardan okuyabilirsiniz isterseniz. Bu yazı epey uzun olduğu için daha fazla uzatmak istemiyorum.

DONKEY.BAS'ın Gambas ile yazılmış bir yeniden yapımı da bulunuyor DONKEY.GB isminde. Sanıırm şurada da Assembly ile yazılmış bir yeniden yapım bulunuyor.

Bu yazının yayına girmesini takip eden yirmi dört saati kapsayacak özel teklifim de şu: DONKEY.BAS'ın pygame ile bir yeniden yapımını yazıp Pardus için paketleyecek kişi Happy Kitty'de paketçi olacak. Bence yeterince eğlenceli bir teklif :) En azından esas oyunun sunduklarının tamamını sunmalı bu yeniden yapım. Bu yüzden oyunu oynamanızı veya en azından YouTube üzerindeki videolarına iyice bakmanızı tavsiye ederim. Eşek teması yerine penguenlerin (TUX), otoyol yerine kutupların kullanılması daha iyi olacaktır. Oyun yine de DONKEY.BAS'ın hissiyatını vermelidir. Sadece bu güne özel bir teklif olduğu için şuraya yazmıyorum, ileride Happy Kitty'de paketçi olmak isterseniz bu sayfayı kontrol edebilirsiniz.

İyi oyunlar. Bol şanslar. Belki bir gazete de sizin için İlk PC Oyununu Bir Gecede Geliştirdi başlığını atar bir otuz sene sonra kim bilir.


Kaynaklar:
Hürriyet - İlk PC oyununu bir gecede geliştirdi
Wikipedia - DONKEY.BAS
panhaema - donkey.bas ve patent ihlalleri
Coding Horror - Bill Gates and DONKEY.BAS

İlgili Yazılar:
Gorillas
Yorum Gönder