2 पॉइंट द्वारा GN⁺ 2025-01-14 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • DoomPDF एक ऐसा implementation है जो Doom (1993) को PDF के अंदर चलाने के लिए बनाया गया है, और PDF दस्तावेज़ में गेम स्क्रीन तथा controls guide शामिल है
  • controls में WASD movement मुख्य है; q esc, z enter, e use, और space fire के लिए है
  • shift+WASD से sprint, m से map, और 1-7 से weapon selection किया जा सकता है
  • अलग वेबपेज पर custom WAD files अपलोड किए जा सकते हैं, और source code GitHub repository में सार्वजनिक है
  • runtime environment Chromium-आधारित browser तक सीमित है, इसलिए दूसरे PDF viewers में इसके चलने की उम्मीद करना मुश्किल है

PDF के अंदर चलने वाला Doom

  • DoomPDF Doom (1993) का एक executable build है जो PDF दस्तावेज़ के रूप में उपलब्ध है
  • दस्तावेज़ के अंदर keyboard controls guide और direction input indicators शामिल हैं
  • चलने का environment Chromium-आधारित browser तक सीमित है

control keys और extension files

  • basic controls
    • WASD: movement
    • q: esc
    • z: enter
    • e: use
    • space: fire
  • additional controls
    • shift+WASD: sprint
    • m: map
    • 1-7: weapons
  • custom WAD files अपलोड: अलग पेज पर WAD files अपलोड की जा सकती हैं
  • Source code: DoomPDF source code repository

1 टिप्पणियां

 
GN⁺ 2025-01-14
Hacker News की राय
  • मैं "PDF Tetris" बनाने वाला व्यक्ति हूँ। शानदार काम! उसी समय मेरे दिमाग में भी यही आइडिया आया था, और मेरे पास PDF Doom का अपना संस्करण भी है
    सोर्स: https://github.com/thomasRinsma/pdfdoom
    खेलने योग्य: https://th0mas.nl/downloads/doom.pdf
    फिर भी यह implementation कई मायनों में ज़्यादा साफ-सुथरा है
    • इसमें "इस दस्तावेज़ में समस्या है" दिखता है, लेकिन समझ नहीं आता समस्या मैं हूँ या दस्तावेज़
  • PDF engine का सीमित JS runtime
    मानवता बहुत आगे निकल आई है

    • गंभीरता से कहूँ तो, क्या कोई और format है जो ये शर्तें पूरी करता हो? ऐसा format जिसे email या cloud drive से assets, images और fonts सहित आसानी से मुफ्त में share किया जा सके; form input और save को HTTP transmission के बिना सीधे file के अंदर रखा जा सके; document में शामिल cryptographic signature को end user आसानी से और सुरक्षित रूप से verify कर सके; और print fidelity भी perfect हो
      EU में electronic signatures DocuSign-style "मैं कसम खाता हूँ कि मैं John Smith हूँ" नहीं, बल्कि cryptography-based होते हैं, इसलिए यह खास तौर पर महत्वपूर्ण है। लोग PDF के बारे में लगातार शिकायत करते हैं, लेकिन असल में इसका विकल्प कोई format नहीं है। W3C / WHATWG जैसी जगहें web technology के आधार पर कुछ बना सकती हैं, लेकिन अभी तक आया नहीं है, और EPUB सिर्फ e-book distribution जैसे संकुचित use case को हल करता है, "business/work" use cases को नहीं
    • मुझे ठीक से समझ नहीं आता कि आप ऐसा क्यों कह रहे हैं। Embedded scripting form validation जैसे कई use cases में उपयोगी है, और पर्याप्त जटिल validation system आखिरकार Turing complete हो जाता है
      फिर कोई dedicated language बनाने के बजाय JavaScript पर जाना बेहतर है, और अगर आपके पास JavaScript, input और graphics pixel grid update करने का तरीका है, तो आप Doom चलाने के स्तर तक पहुँच जाते हैं। computation और programmability इतनी सस्ती हो गई है कि वे सबसे साधारण apps में भी व्यापक रूप से शामिल हो गई हैं—मुझे यह डरावना नहीं, बल्कि शानदार लगता है
    • आगे बढ़ने का हमारा तरीका बस यही है
  • Pandora's box खुल चुका है
    अगला कदम Bellard के JSLinux(https://bellard.org/jslinux/) को डालकर, development environment और office suite तक वाले पूरे operating system को PDF के अंदर रखना है
  • Portable Doom Format
    • सिर्फ तभी संभव है जब वह Chrome के अंदर हो
    • यह सिर्फ एक ही PDF engine में चलता है, इसलिए इतना portable नहीं है
  • CS freshman के रूप में मेरे formative experiences में से एक यह था कि मैंने गलती से PDF को Emacs में खोल दिया, और अजीब binary data की जगह असल में rendered PDF दिखाई दिया
    इससे मुझे जिज्ञासा हुई कि मेरी जानकारी के बिना background में और क्या-क्या चल रहा है। अफसोस, Emacs के अंदर PDF में Doom नहीं चला पाया। शायद यहाँ वाली technique को Emacs की built-in functionality और ASCII characters के साथ दोबारा implement करना, या जब यह पोस्ट दूसरे नंबर पर थी तब पहले नंबर पर रही Bad Apple vim पोस्ट[1] जैसी technique इस्तेमाल करना आसान होगा
    [1]: https://news.ycombinator.com/item?id=42674116
    • कुछ हफ्ते पहले मैंने गलती से PDF को less में खोल दिया और pdftotext के बारे में, साथ ही कई ऐसे software के बारे में जाना जिन्हें सही configuration के साथ pager किसी भी तरह के document को दिखाने के लिए use कर सकता है
      मुझे याद आया कि modern Linux distributions file execute करने का तरीका कैसे तय करती हैं। कुछ साल पहले यह जानने के बाद, मैं अपनी machine पर .exe files को wine या mono से चलवाने की कोशिश में बहुत देर तक लगा रहा। मजेदार exercise थी, लेकिन उसके लायक नहीं थी
  • 'type here for keyboard controls' लिखे area पर click करें
    शुरू करने के लिए z कई बार दबाएँ, movement के लिए w/a/s/d, use के लिए e, fire के लिए space, और z enter है
  • HN front page के top 4 posts में Doom और Bad Apple दोनों हैं। इस हफ्ते की शुरुआत अच्छी है
  • बढ़िया! अगला है Doom के अंदर चलने वाला PDF reader
    • यह थोड़ा cheating है। PDF readers में remote code execution vulnerabilities इतनी अधिक होती हैं कि आखिर में यह /XObject <> /Invoke RCE जैसा दिखेगा
    • PDF reader और Doom की कभी न खत्म होने वाली chain है
  • PDF DEFLATE compression support करता है, इसलिए लगता है PDF document का size काफी घटाया जा सकता है
    • सही। PDF को network पर ज्यादा तेजी से transfer करने और cache में छोटी files रखने के लिए अच्छा होगा
      क्या इसे DOOM1.WAD file जितना छोटा बनाया जा सकता है? वह 4MB है
  • यह काफी साफ-सुथरा है, और job hunt करते समय resume के अंदर ही सीधे engineering work दिखाने जैसे practical use में भी आ सकता है, इसलिए मुझे यह creative लगता है
    लेकिन इस technology के और क्या use हो सकते हैं? उदाहरण के लिए iPhone जैसे ज्यादा restrictive devices, या PlayStation, Xbox, kiosk जैसे managed devices पर PDF के जरिए apps distribute किए जा सकते हैं क्या? Adobe Reader को आज़माते समय लगा था कि PDF के अंदर movie भी डाली जा सकती है और menu bar भी customize किया जा सकता है। यह format जितना सोचा था उससे कहीं ज्यादा flexible लगता है