2 puan yazan GN⁺ 2025-01-14 | 1 yorum | WhatsApp'ta paylaş
  • DoomPDF, Doom'u (1993) PDF içinde çalıştırmak için yapılmış bir uygulama; oyun ekranı ve kontrol yönergeleri PDF belgesine dahil edilmiş
  • Kontroller WASD ile hareket etrafında şekilleniyor; q esc, z enter, e use, space ise fire işlevine karşılık geliyor
  • shift+WASD ile sprint, m ile map, 1-7 ile silah seçimi yapılabiliyor
  • Ayrı bir web sayfasında custom WAD files yüklenebiliyor ve kaynak kodu GitHub deposunda açık olarak yayımlanmış
  • Çalışma ortamı Chromium tabanlı tarayıcılarla sınırlı olduğundan, diğer PDF görüntüleyicilerde çalışmasını beklemek zor

PDF içinde çalışan Doom

  • DoomPDF, PDF belgesi biçiminde sunulan bir Doom (1993) çalıştırma uygulaması
  • Belgenin içinde klavye kontrol yönergeleri ve yön girişi göstergesi yer alıyor
  • Çalışma ortamı Chromium tabanlı tarayıcılarla sınırlı

Kontrol tuşları ve genişletme dosyaları

  • Temel kontroller
    • WASD: hareket
    • q: esc
    • z: enter
    • e: use
    • space: fire
  • Ek kontroller
    • shift+WASD: sprint
    • m: map
    • 1-7: weapons
  • custom WAD files yükleme: Ayrı sayfadan WAD dosyası yüklenebilir
  • Source code: DoomPDF kaynak kodu deposu

1 yorum

 
GN⁺ 2025-01-14
Hacker News yorumları
  • Bunu yapan kişi "PDF Tetris"i de yapmıştı. Harika bir iş çıkarmış! Aynı dönemde benim de aklıma aynı fikir gelmişti ve benim de bir PDF Doom sürümüm var
    kaynak: https://github.com/thomasRinsma/pdfdoom
    oynanabilir sürüm: https://th0mas.nl/downloads/doom.pdf
    Yine de bu taraftaki uygulama birçok açıdan daha derli toplu
    • "Bu belgede bir sorun var" diyor ama sorunun bende mi yoksa belgede mi olduğunu bilmiyorum
  • PDF motorunun sınırlı JS çalışma zamanı
    İnsanlık çok ileri gitti

    • Ciddi ciddi soruyorum, şu koşulları sağlayan başka bir format var mı? Varlıkları, görselleri ve fontları e-posta ya da bulut sürücüsüyle kolayca ve ücretsiz paylaşabildiğin; form girdisini ve kaydını HTTP aktarımı olmadan doğrudan dosyanın içinde tutabildiğin; belgede yer alan kriptografik imzaları son kullanıcının kolay ve güvenli biçimde doğrulayabildiği; ayrıca baskı sadakati de kusursuz olan bir format?
      AB'de elektronik imzalar, DocuSign tarzı "John Smith olduğuma yemin ederim" yaklaşımı değil kriptografiye dayalı olduğu için bu özellikle önemli. PDF hakkında sürekli şikâyet ediyoruz ama gerçekte onun yerini alacak bir format yok. W3C / WHATWG gibi yerler web teknolojileri tabanlı bir şey yapabilirdi ama henüz çıkmadı; EPUB ise yalnızca e-kitap dağıtımı gibi dar bir kullanım alanını çözüyor, "iş" kullanımını çözmüyor
    • Bunun neden söylendiğini pek anlamıyorum. Gömülü betik desteği, form doğrulama gibi birçok kullanım için faydalı ve yeterince karmaşık bir doğrulama sistemi eninde sonunda Turing-complete oluyor
      O noktada özel bir dil tasarlamak yerine JavaScript kullanmak daha mantıklı ve JavaScript'in yanında giriş alabiliyor ve grafik piksel ızgarasını güncelleyebiliyorsan, bu zaten Doom çalıştırabilecek kadar güçlü demektir. Hesaplama ve programlanabilirliğin bu kadar ucuzlayıp en sıradan uygulamalara bile yayılmış olması bence korkunç olmaktan çok harika bir şey
    • İlerleyebileceğimiz tek yön bu
  • Pandora'nın kutusu açıldı
    Sıradaki adım, Bellard'ın JSLinux'unu(https://bellard.org/jslinux/) ekleyip, geliştirme ortamı ve ofis paketi de olan tam bir işletim sistemini PDF'in içine koymak
  • Portable Doom Format
    • Yalnızca Chrome içindeyken mümkün
    • Sadece tek bir PDF motorunda çalıştığı için o kadar da portable sayılmaz
  • Bilgisayar bilimi birinci sınıf öğrencisiyken yaşadığım biçimlendirici deneyimlerden biri, yanlışlıkla bir PDF'yi Emacs ile açtığımda garip ikili veriler yerine gerçekten işlenmiş PDF'nin görüntülenmesini görmekti
    Ben farkında değilken arka planda başka neler döndüğünü merak etmeye başlamıştım. Ne yazık ki Emacs içindeki PDF'de Doom çalıştıramadım. Buradakine benzer teknikleri Emacs'in yerleşik özellikleri ve ASCII karakterlerle yeniden uygulamak ya da bu yazı 2. sıradayken 1. sırada olan Bad Apple vim yazısındaki[1] tekniklere benzer bir şey kullanmak muhtemelen daha kolay olurdu
    [1]: https://news.ycombinator.com/item?id=42674116
    • Birkaç hafta önce yanlışlıkla bir PDF'yi less ile açtım; böylece pdftotext'i ve doğru yapılandırıldığında sayfalayıcının keyfi belgeleri göstermek için kullanılabildiği çeşitli yazılımları öğrenmiş oldum
      Bu bana modern Linux dağıtımlarının dosyaların nasıl çalıştırılacağına karar verme sürecini hatırlattı. Bunu birkaç yıl önce öğrendikten sonra kendi makinemde .exe dosyalarını wine ya da mono ile çalıştırmak için gereğinden fazla zaman harcamıştım. Eğlenceli bir alıştırmaydı ama değmezdi
  • 'type here for keyboard controls' yazan alana tıklamanız gerekiyor
    Başlamak için birkaç kez z'ye basın; hareket için w/a/s/d, kullanmak için e, ateş etmek için space, enter içinse z
  • HN ana sayfasındaki ilk 4 gönderinin içinde hem Doom hem de Bad Apple var. Haftaya iyi başlangıç
  • Müthiş! Sıradaki adım, Doom'un içinde çalışan bir PDF okuyucu
    • Bu biraz hile olur. PDF okuyucularında o kadar çok uzaktan kod çalıştırma açığı var ki sonunda /XObject <> /Invoke RCE gibi görünürdü
    • Yapı sonsuza kadar iç içe geçmiş PDF okuyucu ve Doom olur
  • PDF, DEFLATE sıkıştırmayı desteklediği için PDF belgesinin boyutunu epey küçültmek mümkün olabilir
    • Evet. PDF'leri ağ üzerinden daha hızlı aktarmak ve önbelleğe daha küçük dosyalar koymak için iyi olurdu
      Acaba bunu DOOM1.WAD dosyası kadar küçük yapabilir miyiz? 4MB
  • Bu oldukça derli toplu ve iş başvurularında özgeçmişin içinde doğrudan mühendislik çalışmalarını göstermek gibi pratik bir kullanımı da olabilecek kadar yaratıcı görünüyor
    Ama bunun başka kullanım alanları var mı? Mesela iPhone gibi kısıtlı cihazlarda ya da PlayStation, Xbox veya kiosk gibi yönetilen cihazlarda uygulamaları PDF olarak dağıtabilir misin? Adobe Reader ile oynarken PDF'in içine film bile gömebildiğin ve menü çubuğunu özelleştirebildiğin görülüyordu. Düşündüğümden çok daha esnek bir format gibi duruyor