Commodore sayı 68, sayfa 44

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 44

Programından da Bahsedelim mi?

Oyun 7 adet interrupt rutininin birleşmesinden oluşmuş. Normal düzeyde ise program sonsuz döngüye giriyor. Yani tüm programın çalışması sadece interrupt'larla yapılmış. Neden olduğunu anlamadıysam da, Derya Bey bunu özellikle yaptığını söylemiş. Sanırım iyi bir nedeni vardır bunun için. Programın kullandığı bellek bölgeleri ise şöyle: $0900-$1000: Tüm Switch'ler, hesaplama ve zamanlama adresleri burada. Daha doğru bir tabirle değişkenler bölümü burası. Bazı önemli adresler ise şunlar: $09C8: Araba çarpışma açık/kapalı. $090B-$090C: Tüm zamanlama burada yapılıyor, 80 Km burada sayılıyor. $090A:$D01E: Register bilgisi burada. $0908: Ateş açık/kapalı. $3800-$3C00: Arka kayan dağ manzaralarının resim dataları burada saklanıyor. $3D00-$EE00: Yaratıkların X 255 ($D010 bitleri) tablosu. Yaratıkların X sinüs tablosu. $0A00: Kamyon, uçan daire sinüs tablosu. $1220: Girişteki intronun renk şeritleri. $1270: Renk şeritlerinin zamanlama baytları tablosu. Şimdi de oyunu oluşturan 7 interrupt rutini hakkında daha detaylı bilgi verelim: 1. Interrupt: #$90 raster satırında başlıyor ve $1153 adresinde bulunuyor. Bu rutinin işi arkaplan görüntüsünü kaydırmak. 2. Interrupt: #$01 raster satırında başlıyor ve $1192 adresinde bulunuyor. Alt yolun kaydırılması ve müziğin çalınması işlerini hallediyor. 3. Interrupt: #$30 raster satırından başlıyor ve $1300 adresinde bulunuyor. Araba, kaya, bulut ve ateş hareketlerinin yapılmasını sağlıyor. 4. Interrupt: #$4A raster satırından başlıyor ve $15C4 adresinde bulunuyor. Zıplayan şeytana hayat veren rutin burada. 5. Interrupt: #$52 raster satırından başlıyor ve $16A8 adresinde bulunuyor. Uçan daire ve mermilerin hareketlerinden sorumlu rutin burada çalışıyor. 6. Interrupt: #$5B raster satırından başlıyor ve $2A8E adresinde bulunuyor. Kamyonun hareketleri burada ayarlanıyor. 7. Interrupt: #$62 raster satırından başlıyor ve $2568 adresinden başlıyor. Oyunun ana kontrol rutinleri burada toplanmış. Çarpışma kontrolleri, skorun yazılması, glow yapılması, GAME OVER ve HAPPY END sayfalarına geçilmesi tamamen bu rutin tarafından gerçekleştiriliyor. Bu rutin bitince tekrar bir nolu interrupt'a sıçranıyor. C-64'ün yalnızca 8 adet sprite'ı olduğu için değişik karakterlerin bazı sprite'ları ortak kullanması gerekiyor. Bu karakterler ve hangi sprite'ı ne zaman kullandıklarıyla ilgili bilgileri aşağıda bulabilirsiniz: 1. CHEVROLET: Sprite No: 1. Sürekli kullanılıyor (0-80 Km). Joystick aracılığıyla sola ve sağa hareket edebiliyor, zıplayabiliyor ve sürekli ateş edebiliyor. 2. ATEŞ: Sprite No: 2. Sürekli kullanılıyor (0-80 Km). Araba tarafından atılıyor. Bulut, Kamyon ve Şeytanları vurabiliyor. Patlama efekti sırasında dokunduğu yaratıkları yok edebiliyor. 3. KAYA: Sprite No: 3. 2 Km'den sonra çıkmaya başlıyor ve oyun sonuna kadar geliyor. Yol üzerinde bulunuyor. Vurulamıyor ve ancak üzerinden atlanarak kurtulunabiliyor. 4. BULUT: Sprite No: 4. 11 Km'den sonra gelmeye başlıyor ve tüm kalan yolda görülebiliyor. Arabanın üzerinden geçiyor. Zıplayıp ateş ederek yok edilebiliyor. Ya zıplamayın, ya da yok edin. 5. ŞEYTAN: Sprite No: 5. 26 Km'den sonra gelmeye başlıyor, 36 Km'ye kadar tepenizde dolaşıyor. Daha doğrusu zıplıyor. Ya sağa-sola giderek kaçın, ya da durun, yoksa Freddy'ye yem olursunuz. 6. KAMYONET: Sprite No: 6. 36. Km'den sonra gelmeye başlıyor ve oyunun sonuna kadar görülebiliyor. Sizi ezmek için arkadan yaklaşıyor. Vurulabiliyor, ama önce zıplayıp önünüze almanız, daha sonra vurmanız gerekiyor. Ama üzerinden zıpladıysanız dokunmayın, çünkü kayaları yok ediyor. 7. UÇAN DAİRE: Sprite No: 5-7-8, 56 Km'den sonra gelmeye başlıyor. Size mermi atıyor ve vurulamıyor. Tek kurtuluş ümidiniz kaçmak. Eğer yeterince hızlı olamazsanız, Freddy'nin rüyalarından hiçbir zaman kurtulamıyorsunuz. 76. Km'den sonra tüm yaratıklar yok oluyor ve rahat rahat araba sürmenin keyfini yaşıyorsunuz. 80 Km'lik yolu bitirdiğinizde HAPPY END sahnesini görüp mutlu oluyorsunuz. Derya Bey bu oyunu yazarken kullandığı programların da bir listesini göndermiş. Çoğunu henüz görmediysem de ne aradığınızı bilmeniz için isimlerini burada yazıyorum. Sanırım bir 45 oyun yapmaya yeterli olan malzeme, her tür iş yapmanız için yeterli olacaktır: (1) Sprite Tasarımı ve animasyonlar: PRO SPRITE. (2) Manzara karakteri: ACY-CREW LOGO EDİTÖRÜ. (3) Müzik: FUTURE COMPOSER'a ait bir blok ile, (4) Sinüs ve Swing Tabloları: BOUN-CER ile. (Bu programı dergimizin 65. döküm ekinde yayınlamıştık.) Derya Bey'in yolladığı dökümanlar burada sona eriyor. Sanırım bu kadar bilgiyle makina dili bilen herkesin programı incelemesi mümkün olacaktır. Yaptığı güzel oyun ve harika grafikleri için Derya Bey'i kutluyorum ve başarılarının devamını diliyorum.

Klavyeyle gezinmek için ← ve → tuşları.