Snakes.run, SSH üzerinden erişilebilen, terminal tabanlı devasa çok oyunculu bir Snake oyunudur. Kullanıcılar, ssh snakes.run komutunu çalıştırarak doğrudan terminalden oyuna katılabilirler. Oyunun arka ucu (Snake Session Handler Daemon veya sshd), binlerce eş zamanlı oyuncuyu yönetebilme ve saniyede yüz milyon pikselden fazla görüntü işleyebilme kapasitesine sahiptir. Bu proje, geleneksel terminal oyunlarının sınırlarını zorlayarak, basit bir komutla erişilebilen, yüksek performanslı ve güvenli bir oyun deneyimi sunmayı hedeflemektedir.
Geliştirici, snakes.run'u inşa ederken üç temel zorlukla karşılaşmıştır: terminalde estetik bir görüntü sağlamak, bant genişliği kullanımını optimize etmek ve binlerce eş zamanlı oyuncuyu destekleyecek performansı yakalamak. Oyunun mimarisi, tüm karelerin sunucu tarafında işlenip istemcilere aktarılması prensibine dayanır, zira SSH "aptal bir istemci" olarak yalnızca metin alır ve görüntüler. Görüntü işleme için bubbletea (bir TUI framework'ü) ve SSH bağlantısı için wish kullanılmıştır. Bant genişliğini azaltmak ve performansı artırmak amacıyla hem bubbletea hem de Go'nun SSH kütüphanesi çatallanmıştır. Oyun sunucusu saniyede 10 "tick" hızında çalışır, bu da oyuncu hareketlerini, meyve yeme işlemlerini, çarpışma hesaplamalarını ve oyun durumunun istemcilere yayınlanmasını içerir.
Görüntüleme sorununu çözmek için başlangıçta kullanılan ASCII karakterlerin, dikey hareketin yataydan daha hızlı görünmesine neden olması üzerine Unicode Blok Öğeleri'ne geçilmiştir. UPPER_HALF_BLOCK (▀), LOWER_HALF_BLOCK (▄) ve FULL_BLOCK (█) gibi karakterler kullanılarak, her bir terminal karakteri içinde iki ayrı "piksel" (üst ve alt yarım) oluşturulmuştur. Ayrıca, ön plan ve arka plan renkleri kullanılarak her karaktere iki farklı renk atanabilmiş, bu da her karakterde iki tam renkli piksel elde edilmesini sağlamıştır. Bu yenilikçi yaklaşım, oyunun görsel kalitesini önemli ölçüde artırmış olsa da, başlangıçta yüksek bant genişliği tüketimine yol açmıştır.
Bu proje, SSH gibi geleneksel ve yaygın bir protokolü kullanarak modern, yüksek performanslı ve çok oyunculu bir oyun deneyimi sunmanın mümkün olduğunu gösteriyor.