Amiga Dünyası sayı 31, sayfa 17

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 17

Welcome to wonderful world of AMOS! Bu ayki AMOS köşemize bir müjde ile başlayacağız. Geçen ayki dergimizin haberler kısmında kısmen tanıtımının yapıldığı AMOS Professional nihayet ülkemize geldi. Daha önceki versiyonlardan görünüm olarak oldukça farklı olmasına rağmen, onlarla tamamen uyumlu bir versiyon. Ekranın üst kısmında bulunan ve mouse veya karmaşık tuş kombinasyonlarıyla ulaşılan menüler, yerini Pull Down menülere bırakmış. Editör ekranındaki renk sayısı da 8'e çıkartılmış (ancak editör biraz yavaşlamış). Birçok konuda yeni komutlar eklenmiş (Anim formatında animasyon gösterebilme, printer'dan ekran dökümü alabilme, Sound/Noise-Tracker modüllerini doğrudan kullanabilme, Arexx desteği vb). Direkt mod çıktılarını, direkt mod penceresinden alabiliyorsunuz. Bu ve bunun gibi birçok konuda yenilikler getirmiş. Şu anki en büyük eksikliği, Compiler ve 3D extensiyonlarıyla uyumsuz olması. Bunun da zamanda giderileceği belirtilmiş. Altı disketlik bu yeni AMOS versiyonunun geniş açıklamasını, önümüzdeki aylardaki sayımızda bulabilirsiniz. Bu ay yine bazı AMOS programlarımız var. Ama önce okur mektupları. Köşemizin okurlarından Çağatay ÜDEĞER, SoundTracker programında kullanılan efektleri (sample) AMOS'ta kullanamadığını belirtmiş. Çağatay, bu efektleri kullanabilmen için önünde iki seçenek var: Bunlardan ilki ve daha basit olanı, SAMPLE BANK MAKE.AMOS programı ile, bu efektleri AMOS'un kullandığı formata dönüştürmek. Bu formattaki efekt (sample)'leri, Load komutu ile yükleyip Sam Play komutu ile kolayca kullanabilirsin. Diğer yöntem ise biraz daha karışık. Önce chip memory'de, efekt uzunluğunda bir bank açıp, Bload komutu ile bu banka efekti (sample) yükle. Bundan sonra, Sam Raw komutu ile bankın başladığı adresi ve efektin (bankın) uzunluğunu vererek efektini çaldırabilirsin. Bankın hafızada başladığı adresi Start(), uzunluğunu da Length() fonksiyonu ile öğrenebilirsin. Gördüğün

Hayrettin YILDIZ & Murat YILDIZGÖRER

Çağatay'ın bir diğer sorunu ise, ekrandaki Bob sayısı arttıkça hareketlerde kesiklik olması yani akıcılığın kaybolması. Bu sorunu ekonomik olarak halledebilirsin. Yani ekrandaki renk sayısını mümkün olduğunca az tutmaya çalış. Ticari oyunların çoğundaki (Beast, Agony vb) objelerde maximum 8 renk kullanılmıştır. Ayrıca, arkaplanda herhangi bir resim yoksa, bobların zemini hareket etmelerini sağla. Bu işlemi Set Bob komutu ile yapabilirsin. Bu komutun ikinci parametresini 1 yaparsan, ilgili bob, zemini silerek hareket eder. Ancak bu işlemi, bobu ekrana çıkarmadan yapmalısın. Eğer, bir arkaplan resmi varsa da kısmen bu yöntemden yararlanabilirsin. Dual Playfield modunu açarak arkaplan resmini, arkadaki ekranda, bobları da üstteki ekranda çıkarırsan, boblar üstteki ekranı sildikleri halde, arkada ekranda bulunan resim bundan etkilenmez. Bu yöntemin dezavantajı ise, her iki ekranda en fazla 8'er renk sınırlaması bulunması (Low-res'de). Bir diğer çözüm sprite'ların maksimum ölçüde kullanılmasıdır. Birçok ticari oyunda sprite'lar mümkün olduğunca çok kullanılmıştır. (Örneğin Battle Squadron'da scoreboard, nova misil göstergeçleri, tüm mermiler ve uzay gemileri tamamen sprite'tır.). Bitmap Brothers gibi bazı programcılar ise sprite kullanmamakta hala diretmektedirler. Çağatay ayrıca, yaptığı hesap makinesi programında, ondalık sayı kullanımında sorunlarla karşılaşmış. AMOS'ta ondalık sayıların problem sebebi olduğu bir gerçek. Gerçekten de bazen 0.01 gibi bir sayıyı 0.0099 olarak gösterebiliyor. Ancak bu problemin AMOS Professional'da giderildiğini ümit ediyorum. Ayrıca, normalde 7 haneden daha fazla ondalık basamak kullanılamaması problemi, AMOS Professional'da çözülmüş. AMOS Pro'da bulunan Set Double Precision komutu yardımıyla 15'e kadar ondalık basamak kullanabilirsin. Bir diğer sorusu da fast memory'yi bob, sprite ve müzik datalarında kullanıp kullanamayacağı. Ne yazık ki, bu dataları doğrudan fast memory'de kullanamazsın. Ancak, bir Ram Disk açıp dataları önce buraya kopyalayıp, gerektiğinde de buradan çok hızlı bir şekilde yükleyebilirsin.

Mektubunun sonunda da, AMOS ile yaptığı bir programı pazarlama imkanının bulunup bulunmadığını sormuş. Eğer programın güzelse çeşitli firmalarla irtibat kurup programını onlara göster. Program beğenilirse, pazarlama şansı düşük de olsa var. Bir diğer mektup da, Güçlü TUGAY'dan. Güçlü, mektubuyla birlikte bir de program göndermiş. Adres ve program arşivi yapmaya yarayan bu program, dizayn olarak oldukça güzel olmuş. Diğer okuyucularımızdan da böyle programlar bekliyoruz. Güçlü, programı hakkında görüşlerimizi belirtmemizi istemiş. Bunları şöyle sıralayabiliriz: * Programının bazı yerlerinde kullandığın Paint komutlarını Cls ile değiştirirsen, daha hızlı çalıştığını görürsün. * Goto komutlarından mümkün olduğunca sakınmaya, hatta hiç kullanmamaya çalış. * Disk ulaşımı gerektiren programlarda, en fazla 8 renkli Hires ekran kullan. DMA problemlerinden dolayı disk hızı biraz düşmekte. * Disketten yüklenecek olan ekranları Spack komutu ile sıkıştırarak, programın bir parçası haline getir. Programın bu halini sakladığında, bu banklar da saklanacaktır. Yükleme komutlarını (Load Iff) de Unpack komutu ile değiştirdiğinde, programın tek parça haline gelecektir (Ancak uzunluğu da artacaktır.). Kısaca prosedürler hakkında bilgi vermeye çalışalım.

Prosedürler, AMOS ile programlamanın en iyi yönlerinden biridir. İlk olarak Pascal vb. dillerde ortaya çıkan bu kavram, Basic'in gelişmesiyle birlikte yeni çıkan Basic'lerde de görülmeye başladı. Modüler programlamanın temellerinden biri olan bu kavram, programların, yapılan işlemlerin daha küçük alt programlara bölünmesini, bu alt programlarda yapılan işlemlerin de gerekiyorsa, daha başka prosedürlere bölünerek programın netleşmesini ve her bir bölümün, mümkünse tek bir işlemi yerine getirmesi esasına dayanıyor. Bu sayede, programda meydana gelen bir hatanın, programın neresinden kaynaklandığı (genellikle) kolayca anlaşılabiliyor. Ayrıca programlarınızda sık kullandığınız rutinleri, prosedürler halinde diğer programlarınıza doğrudan ekleyerek, bir kez daha yazma zahmetinden kurtulabilirsiniz. Prosedürlerin bir diğer yararı da, F9 (Fold/Unfold) tuşuyla, tüm satırlarının editörde görülmesinin engellenebilmesi. Hazırladığınız bir prosedürün üzerinde iken F9 tuşuna bastığınızda, programınız önce test edilir ve bir hata yoksa, prosedürün sadece ilk (Procedure komutu ile başlayan) satırı editörde kalır. Gerektiğinde, bu satır üzerinde iken tekrar F9 tuşuna bastığınızda, yeniden görünür hale getirebilirsiniz. Bu yöntemin (Fold) yararı, düzgün çalışan bir prosedürü kapatarak, dikkatinizi başka bir noktada daha kolay yoğunlaştırabilmeniz. Ayrıca, program listesinde başından sonuna kadar gitmek için harcayacağınız çaba azalır. Prosedürler ve modüler programlama ile ilgili daha geniş bilgiyi de bir başka sayıda ele alacağız.

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