Bu sayfadaki yazılar
Sayfanın metni
Sayfa 100
Demoscene’de coder olmayan (müzisyen, artist vb.) arkadaşlarda bazen şöyle bir önyargıya rastlıyorum. Farklı iki üründe aynı kodu kullanmayı hoş karşılamıyorlar. Bu sanırım code reuse ve effect recycling kavramlarının karıştırılmasından kaynaklanıyor.
Effect recycling, yani bir efekti ısıtıp ısıtıp izleyenlere sunma, PC de içinde olmak üzere her türlü platformda görülebilecek bir olay. Bunu bir partı iki farklı demoda kullanmak olarak da görebiliriz.
Code reuse, yazılan kodun benzer amaçlar için tekrar tekrar kullanımı ise, demo motoru yazmanın ta kendisidir. Bu iş kesinlikle önceki projelerden kod kopyalayıp yapıştırmak değildir. Aksine kopyala yapıştırmaktan kaçınmak için yeniden kullanabilir, tüm sistemler tasarlama sorunudur. Yazılım gibi mühendislik alanlarında yeniden kullanılabilirlik, bir üründe hedeflenen özelliklerden biri; yeniden kullanılabilir ürün tasarlayabilmek ise bir mühendislik yeteneği olarak kabul edilir.
Karşılaştığınız bir problemin çözümünü, benzer tüm problemlerde işe yarayabilecek şekilde geliştirmek çoğu zaman kolay değildir. Yeniden kullanılabilirlik her ne kadar seri üretim için şart olsa da, ürün boyu ve verimliliğini olumsuz yönde etkileyen bir etmendir. Bir demo sistemi tasarlamak bile, terazinin dengesini kararlı noktada tutabilme yeteneğini oldukça geliştirecektir.
Yeniden kullanılabilir kod yazabilmek bir coder'ın elde etmesi gereken vasıflardan biri olsa da, demo sistemini koddan bağımsız hale getirmek de mümkündür. Lakin bunlardan bir sonraki sayıda bahsedeceğiz. Seri Demo Üretimi 2 – Demomaker'larda görüşmek üzere, esen kalın efendim.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 101
Yeni bir sayıda tekrar merhaba sevgili Plazma okurları. Plazma'nın ilk sayısından beri süregelen "Test Platformu" bu sayıda artık daha da detaylı bir biçimde devam ediyor. Önceki sayıları okumamış başlangıç seviyesindeki programcılar bu sayıda zorlanabilirler. Her sayı birbirinin devamı niteliğinde olduğu için bu bölümü okumadan önce bölüm 1 ve bölüm 2'yi okumanızı tavsiye ediyorum.
Bu Bölümde Neler Anlatılacak?
• Bu yazı dizisinin misyonu Commodore 64 için PC destekli yazılım geliştirmeyle ilgili yöntemler sunmak olduğu için bu sayıda öncelikle JavaScript'ten bir "VIC Simülatörü" nasıl hazırlanır onu göreceğiz. Bu VIC Simülatörü, Commodore 64'ün ekran çipi olan VIC'in hafızadaki byte dizilişini ekrana nasıl yansıttığıyla ilgili bir simülasyon yapacak. Bu sayede bir efekti Commodore 64'te programlamaya başlamadan JavaScript'ten çeşitli testler yapabileceğiz.
• VIC Simülatörünü kullanarak bir nokta basma rutini hazırlayacağız. Bu rutin ekranda verilen x ve y koordinatına nokta koyacak.
• Aynı örnek içerisinde basit bir sinüs, kosinüs hesabıyla ekrana tam sınırlarına denk gelecek şekilde bir elips çizdireceğiz.
• Daha sonra Commodore 64 üzerinde grafik ekranı açıp ekrana nokta basma işleminin nasıl yapıldığını kod örnekleriyle göreceğiz.
• Sonraki adımda VIC Simülatöründe denediğimiz elips çizdirme rutininin nasıl Commodore 64'e aktarılabileceğini inceleyeceğiz.
• En son olarak da bu son yaptığımız işlemin Commodore 64'e aktarma işleminin eksik, zayıf yönlerini ve alternatiflerini tartışacağız. Ancak diğer yöntemleri sonraki bölümlere saklayacağız.
VIC Simülatörü
Çok uzun bir zamandır VIC simülatörü türü bir şeyi JavaScript'ten yapmak istiyordum. Aslında C++ ve .NET'ten hazırladığım benzer birçok program olmasına rağmen, JavaScript'in scripting dili olması ve dolayısıyla derlenmeden çalışabilmesi, gittiğim her yerde herkesin PC'sinde kolaylıkla çalışabiliyor olmamı sağlaması gibi avantajlarından dolayı JavaScript'te de benzer bir şeyler yapmayı hedeflemiştim. Ancak JavaScript'ten VIC simülatörü yapmak o kadar da kolay değil. Gelin ne olduğunu ve nasıl yapıldığını inceleyelim.
VIC
simülasyonu tam olarak nedir?
Commodore 64'ün tek renk grafik modu 320x200 çözünürlükten, yani toplam 64000 pikselden oluşur. Ancak PC'de 13h (320x200 256 renk) gibi modlarda çalışmaya alışmış insanlara Commodore'daki hafıza yapısı başlangıçta epey bir ters gelecektir. Çünkü 13h modunda her bir piksel bir byte'a denk gelirken ve byte değerleri renkleri simgelerken, Commodore'da 1 byte'ın her biti 1 pikseli sembolize edecek şekilde 1 byte = 8 piksel'e denk gelir. Örneğin 197 byte değerini ele alalım: