90'lı yılların tuşlu telefonlarının minimalist ekranlarında büyük keyif veren klasik Yılan (Snake) oyunu, günümüzde bambaşka bir yorumla karşımıza çıkıyor. Geliştirilen yeni bir Yılan oyunu sürümü, tarayıcınızın adres çubuğunda oynanabiliyor. Bu özellik, eski Nokia telefonlardaki nostaljik deneyimi, artık lüks derecede yüksek çözünürlüklü ve fütüristik hissettiriyor. Adres çubuğunun dar alanına rağmen, geliştirici Demian Ferreiro, orijinal oyunun hızlı, hassas ve bir o kadar da sinir bozucu oynanışını korumayı başarmış.
Bu yeni sürümün oynanışına dair bir önizleme, adeta adres çubuğunun sunduğu sınırlı alanda bir görsel şölen sunuyor. Oyunun yakalanmış kareleri, geliştiricinin bile kendi çabalarını küçümsemesine neden oluyor; zira klasik ve refleks gerektiren bu tür oyunlar için yeterince hızlı tepki veremediğini itiraf ediyor.
Ferreiro, bu projenin aslında biraz da bir şaka olduğunu samimiyetle kabul ediyor. Ancak yine de oyunu geliştirmeye açık olduğunu ve hata bildirimleri, fikirler ile kod taleplerini memnuniyetle karşılayacağını belirtiyor. Bu talepler için projenin açık kaynak kod deposu da erişime açık.
URL Yılan Oyunu Nasıl Kodlandı?
Açık kaynak kod deposu aracılığıyla URL Yılanı'nın kodlarına göz atılabilir. Minimalist adres çubuğuna entegre edilmiş bu uygulama, 400 satırın altında JavaScript kodu ile yazılmış. Oyunun adres çubuğunda gösterilmesi için Unicode karakter manipülasyonu gibi tekniklerden yararlanılmış.
Oyunun görselliği hakkında konuşacak olursak, bu özel Yılan sürümü 40x4 piksellik bir alanda çalışıyor. Braille karakterlerinden oluşan bu ızgaranın akıcı bir şekilde güncellenmesi için RequestAnimationFrame kullanılıyor. Oyunun dikey eksendeki sınırlı alanı nedeniyle, yılanı yukarı veya aşağı doğru hareket ettirirken çok hızlı yön değiştirmeye hazırlıklı olmanız gerekiyor.
Ferreiro'nun bu projeyi kodlamasına neyin ilham verdiği sorulduğunda, geliştirici bu sorunun kökenini tam olarak hatırlayamasa da, proje üzerinde çalışırken Unicode Braille sisteminin benzersiz özelliklerinden etkilendiğini ima ediyor. Her Braille sembolünün 2x4 noktalık bir grid içine sığması ve her noktanın iki farklı duruma (açık veya kapalı) sahip olması, toplamda 2^8 = 256 farklı değer sunuyor. Bu durum, bir byte'lık veri miktarına denk geliyor. Ne mutlu ki, Unicode bu 256 değeri de sistematik bir şekilde kodlayıp haritalandırıyor. Yılan oyunu da Braille sisteminin sunduğu animasyon olanaklarına mükemmel bir şekilde uyum sağlamış.
Tarayıcı Geçmişi Şişmesi
URL Yılan oyunu 'motorunun' biraz can sıkıcı bir tarayıcı yan etkisi var ve bunu vurgulamakta fayda var. Kısa bir oyun seansından sonra bile tarayıcı geçmişinize baktığınızda, URL Yılanı girişleriyle dolup taştığını göreceksiniz. Yüzlerce geçmiş girişini silmek için biraz zaman harcadıktan sonra, Chrome'da bu girişleri gruplandırarak tek seferde silebileceğinizi fark ettim. Diğer tarayıcılarda da benzer temizlik özellikleri bulunabilir.