Doom, Telegram mesajında çalıştı: Her kare 1024 bayta sığıyor
Bir geliştirici Doom'u tek bir Telegram mesajının içinde oynanır hale getirdi. Oyun motoru Mac'te çalışıyor, her kare ise 1024 baytlık bot yanıtına sığmak zorunda.

Doom artık tek bir Telegram mesajının içinde oynanabiliyor. Oyun motoru geliştiricinin Mac'inde kalıyor, sohbete yalnızca görüntü ve altı düğme gönderiliyor. «Sağa» düğmesine basıldığında aynı mesajda bir sonraki kare beliriyor. Botun tüm yanıt için kullanabileceği alan ise sadece 1024 bayt.
Kontroller nasıl çalışıyor
Oyuncu ileri ya da geri adım atabiliyor, dönebiliyor, ateş edebiliyor veya kapıyı açabiliyor. Sağa dönüldüğünde widget TelegramWidget.request("right") çağrısını yapıyor. Bot oyun oturumunu bulup dönüş tuşunu ViZDoom'a iletiyor. Motor simülasyonu beş tik ilerletiyor: oyuncu dönüyor, düşmanlar hareket ediyor, mermiler uçuyor. Ardından dünya yeniden duruyor.
Bot kareyi ekran arabelleğinden alıp answerWidgetQuery ile geri gönderiyor. Widget aynı img öğesindeki kaynağı değiştiriyor; bu yüzden onlarca hamleden sonra bile sohbette tek bir oyun mesajı var. Yanıt yoldayken yeni basışlar yok sayılıyor ve istekler arasında en az 1010 ms geçiyor. Ağ gecikmesi dönüşlerde hemen hissediliyor, ancak beklerken canavar yaklaşmıyor.
1024 baytlık sınır
ViZDoom 320 × 200 boyutunda RGB kare veriyor; bu, sıkıştırma öncesinde 192.000 bayt demek. Sorgu sonucu için ise 1024 bayt var ve içine Base64 dizgisi sığmalı. Görüntünün her üç baytı dört karaktere dönüştüğü için WebP dosyasına en fazla 768 bayt kalıyor.
Geliştirici WebP kalitesini sabit tutuyor, çözünürlüğü her kare için ayrı seçiyor. Önce 120 piksel genişliği deniyor; dize çok uzunsa sırasıyla 96, 80, 64, 48 ve 32'ye iniyor, yüksekliği orantılı değiştiriyor. Bu yüzden boş bir duvar ile düşmanlı bir salon farklı çözünürlükte gelebiliyor. Kontrol, kodlamadan sonra Telegram'ın alacağı dizgi üzerinde yapılıyor. Küçük görüntüde uzaktaki düşmanı seçmek zor, ama kapıyı açıp arkasında kimin olduğuna bakmak mümkün. Çarpışmaları, kapıları ve isabetleri motor hesaplıyor.
Geliştirici başlangıç salonundan kapıya yürümeyi, dönmeyi ve ateş etmeyi macOS için Telegram'da denedi. Tüm bölümü ise aynı altı düğme ve hamle başına beş tikle yerel ViZDoom'da ayrıca geçti. Çıkış anahtarına 537 hamlede ulaştı, sağlığı yüzde 48 kaldı ve sayaç altı öldürülen düşman gösterdi.
Çalıştırmak için Python 3.12, kendi bot belirteciniz ve Doom Shareware 1.9'daki orijinal DOOM1.WAD gerekiyor; oyun dosyaları depoda yer almıyor. Bot en fazla altı oturumu tutuyor ve on dakika hareketsizlikten sonra serbest bırakıyor. Proje, Doom'un yanı sıra sıra tabanlı Pacman ve hesap makinesi gibi örnekler içeren Awesome Telegram Widgets kataloğunun parçası.
Göz atmaya değer uygulamalar
Doğru kareleri seçin, toplayın, hedefe ulaşın. Öğrenmesi kolay, ustalaşması zor. Ücretsiz, her yaşa uygun.
Yapay zekâ sohbet partneriyle konuşun; her cümleniz düzeltilip kendi dilinizde açıklanarak geri gelsin. 9 dil, A1'den C2'ye.
EDIFACT ve X12 mesajlarını açın, her segment açıklansın, JSON/XML'e çevirin, PDF ve Excel'e aktarın. Yerelde çalışır, yükleme yok.
Kime, hangi özel gün için ve nasıl bir karakter olduğunu seçin. Arama motoru yerel mağazaların ürün açıklamalarını okuyup uygun olanları sıralar. Ücretsiz, kayıt yok.
Aynı günden diğer haberler
Tümünü gör →
Steam, Steam Deck'te oyunların ortalama kare hızını göstermeye başladı

QuantumDiamonds, bilgisayar çiplerindeki üretim hatalarını elmasla arıyor

Parloa, OpenAI ortaklığını genişletiyor: yeni modellere erken erişim

Paribu, Paribu Intelligence ve ücretsiz Terminal'i tanıttı
Daha fazla: Yazılım
Tümünü gör →
WhatsApp CEO'su Kunal Shah, daha sade ve yapay zekalı uygulamayı anlattı

Linkbricks, HWP destekli ücretsiz ofis paketi VORA AI DOCS'u çıkardı

Asahi Linux, kod kopyalamayı sınırlamak için copyleft lisansına geçiyor
