2 पॉइंट द्वारा GN⁺ 2024-09-09 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • coreCore क्या है

    • coreCore वीडियो गेम लिखने का एक प्रयोगात्मक तरीका है, जो Action-RPG गेम निर्माण टूल, इंजन और property editor के रूप में काम करता है
    • यह एक सरल component system का उपयोग करता है, और components [keyword value] रूप के clojure vectors होते हैं
    • विभिन्न entities clojure maps से बनी होती हैं
    • गेम के भीतर side effects को [:tx/foo param] जैसे components से संभाला जाता है, जो datomic structure जैसा है
    • पूरे गेम की state app/state नाम के एक atom में स्टोर होती है, और entities भी main atom के भीतर atom के रूप में मौजूद रहती हैं
    • application की पूरी सामग्री resources/properties.edn में स्टोर होती है, जिसे malli-schemas के जरिए validate किया जाता है और GUI से edit किया जा सकता है
  • स्क्रीनशॉट

  • विकास शुरू करने का तरीका

    • नीचे दिया गया command चलाएँ:
      • lein dev
    • application शुरू होगा और साथ में ये काम भी करेगा:
      • NREPL-server शुरू करना
      • application बंद होने पर (main menu में ESC), clojure.tools.namespace बदली हुई files को refresh करता है और app को restart करता है
      • error होने पर JVM को restart करने की ज़रूरत नहीं; error ठीक करके dev-loop/restart! कॉल करें
      • VIM में F5 key पर यह command bind करके इस्तेमाल किया जा सकता है: nmap <F5> :Eval (do (in-ns 'dev-loop)(restart!))
  • कोड लाइसेंस

    • MIT लाइसेंस के तहत उपलब्ध
  • एसेट लाइसेंस

GN⁺ का सार

  • coreCore ऐसा टूल है जो Action-RPG गेम को आसानी से बनाने देता है और एक सरल component system से गेम state को मैनेज करता है
  • पूरे गेम की state को एक atom में स्टोर किया जाता है, और GUI के जरिए properties edit की जा सकती हैं, इसलिए यह developers के लिए उपयोगी है
  • यह MIT लाइसेंस के तहत उपलब्ध है, लेकिन इस्तेमाल किए गए assets proprietary हैं
  • समान फीचर्स वाले tools में RPG Maker, Unity आदि शामिल हैं

1 टिप्पणियां

 
GN⁺ 2024-09-09
Hacker News टिप्पणियाँ
  • गेम डेवलपमेंट के अलग-अलग approaches को देखना दिलचस्प है

    • Bevy (Rust ECS engine): शुरुआत में अच्छा लगता है, लेकिन implementation में कई समस्याएँ हैं और यह जटिल हो सकता है
    • Unity: game object और modular component system व्यावहारिक हैं
    • Godot: OOP hierarchy और built-in language संतोषजनक नहीं लगी
    • Pygame: छोटे projects के लिए उपयुक्त, procedural है, लेकिन OOP या functional layers भी बनाई जा सकती हैं
    • Clojure: इसका functional implementation दिलचस्प है
  • यह GitHub project गेम डेवलपर्स को हास्यास्पद लगता है

    • academic approach कुछ बढ़ा-चढ़ाकर पेश की हुई लगती है
    • screenshots देखने में खराब हैं
  • यह दावा किया जाता है कि यह game development को सरल बना सकता है, लेकिन इसमें बहुत jargon इस्तेमाल हुआ है

    • Clojure vectors, Datomics, atoms, transactions, Malli schema आदि
  • लगता है यह project असफल रहा

    • over-engineered structure और स्पष्ट संरचना की कमी
    • game story नहीं थी, इसलिए बिना स्पष्ट दिशा के coding की गई
  • लगभग बिना documentation वाले इस repository ने बहुत बातचीत पैदा की

    • code game engine से ज्यादा एक project जैसा दिखता है
    • property editor दिलचस्प है
    • लगता है title की वजह से upvote मिला
  • "मैं game बनाना चाहता हूँ" वाली बात को game engine बनाने में बदलते हुए बहुत बार देखा गया है

    • पहले engine code लिख देने से बाद में बाकी game बनाना आसान हो जाएगा, लोग अक्सर इस सोच में फँस जाते हैं
    • engine बनाना, game बनाने से ज्यादा मजेदार हो सकता है
    • engine को optimize करना ज्यादा तेज़ reward देता है
    • Phaser js engine का इस्तेमाल करके जल्दी से कुछ interactive चीज़ स्क्रीन पर दिखाने की कोशिश की गई
  • मुझे Clojure बहुत पसंद है, लेकिन यह सवाल है कि immutable data structures वाली functional language game development के लिए उपयुक्त है या नहीं

  • game state एक atom में store है और entities उसके अंदर फिर atoms के रूप में store हैं

    • यह जानने की जिज्ञासा है कि Clojure में "atom" का ऐसा उपयोग सामान्य है या नहीं
  • "game engine पर लगा समय/जटिलता" बनाम "बने हुए game की जटिलता/दिलचस्पी" वाले data का analysis दिलचस्प होगा

    • उम्मीद है कि simple template/engine system से बने games की विविधता कम होगी
  • Unreal Engine 4 पर चलने वाला commercial game creation platform Core पहले से मौजूद है