1 पॉइंट द्वारा GN⁺ 2023-07-16 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • UP5K FPGA का उपयोग करके लेखक ने गेम "Another World" को हार्डवेयर में दोबारा बनाया है।
  • गेम एक virtual machine (VM) पर चलता है, जो graphics बनाने के लिए blitter और rasterizer को कॉल करता है।
  • लेखक ने FPGA पर VM, blitter और rasterizer के hardware implementations बनाए हैं।
  • यह design FPGA की resource requirements के भीतर फिट बैठता है और 128KB SPRAM memory का उपयोग करता है।
  • लेखक ने game data और code के माध्यम से data flow को समझने से शुरुआत की।
  • design में एक SoC शामिल है जो सब कुछ आपस में जोड़ता है और display refresh जोड़ता है।
  • framebuffer SPRAM blocks का उपयोग करता है, और हर framebuffer पूरी तरह SPRAM blocks पर मैप होता है।
  • display controller 25 MHz पर pixels stream करता है और flicker रोकने के लिए double buffering का उपयोग करता है।
  • blitter एक framebuffer की सामग्री को दूसरे framebuffer में कॉपी करता है या framebuffer को एक ही रंग से भरता है।
  • लेखक ने विभिन्न FPGA boards पर चलने वाले hardware के रूप में गेम को सफलतापूर्वक फिर से बनाया है।
  • यह लेख game engine में blitter और rasterizer के implementation पर चर्चा करता है।
  • blitter unit vblank के दौरान pixels कॉपी करता है, और rasterizer unit framebuffer पर polygons बनाता है।
  • blitter start pulse की जाँच करता है और यदि निर्देश दिया गया हो तो रंग भरता है।
  • rasterizer dual-port BRAM से polygon vertices पढ़कर concave polygons बनाता है।
  • rasterizer transparency के लिए palette trick का उपयोग करता है, और दूसरे source framebuffer से pixels कॉपी कर सकता है।
  • game engine में एक font drawing engine शामिल है और यह pre-rendered backgrounds को support करता है।
  • build process में game data files कॉपी करना और simulation चलाना या दूसरे hardware platforms पर गेम खेलना शामिल है।
  • यह लेख Another World के लिए FPGA पर चलने वाले hardware design के development पर चर्चा करता है।
  • लेखक ने game testing, timing tuning, rendering issues को ठीक करने, music जोड़ने जैसी कई बाकी रह गई चीज़ों का भी ज़िक्र किया है।
  • लेखक ने गेम के दूसरे हिस्सों को जोड़ने और game state save करने की संभावना का भी उल्लेख किया है।
  • इस hardware पर दूसरे games या demos बनाना भी संभावित future projects के रूप में बताया गया है।
  • यह लेख blog series, ports, tools और संबंधित materials के links प्रदान करता है।
  • इस project में इस्तेमाल किया गया Silice design MIT license के तहत है, जबकि modified C++ port original GPL license को बनाए रखता है।
  • यह लेख framebuffer, rasterizer, blitter और virtual machine (VM) जैसे core terms को उद्योग से अपरिचित पाठकों के लिए समझाता है।

1 टिप्पणियां

 
GN⁺ 2023-07-16
Hacker News राय
  • Another World: प्रभावशाली ग्राफिक्स और कलात्मक शैली के लिए जाना जाने वाला एक क्लासिक वीडियो गेम
  • यह गेम छोटा है और इसकी पहेलियाँ trial-and-error पर निर्भर करती हैं, लेकिन कलात्मक रूप से यह अब भी लोकप्रिय है
  • Another World के प्रशंसक Flashback: The Quest for Identity का भी आनंद ले सकते हैं
  • Amstrad CPC, Nintendo 64 और PlayStation 1 सहित विभिन्न प्लेटफ़ॉर्म्स के लिए Another World के पोर्ट उपलब्ध हैं
  • इस लेख के लेखक ने FPGA पोर्ट के लिए Silice नाम की एक कस्टम HDL भाषा का उपयोग किया है
  • Amiga में उपयोग होने वाले planar graphics के फायदे हैं, जैसे transparency effects और moiré effects
  • गेम के लिए virtual machine (VM) का उपयोग 90 के दशक के PCs पर performance slowdown का कारण बना हो सकता है
  • गेम में यादगार opening है और शेर से बच निकलने जैसे चुनौतीपूर्ण gameplay moments हैं
  • गेम के मूल डेवलपर ने development tools और animation process पर GDC में एक retrospective talk दी थी
  • YouTube पर playthrough देखना उन खिलाड़ियों के लिए मददगार हो सकता है जिन्हें गेम में कठिनाई होती है