MARIO.GAME
hi

MariOCaml

OCaml में लिखा गया Super Mario प्लेटफ़ॉर्मर, रैंडम लेवल्स के साथ

MariOCaml

MariOCaml के बारे में

MariOCaml को Cornell University में Matthew Hsu, Liam Bui और Ashley Xue ने फ़ंक्शनल प्रोग्रामिंग कोर्स के फ़ाइनल प्रोजेक्ट के रूप में बनाया था, और यह GitHub पर सबसे लोकप्रिय OCaml प्रोजेक्ट्स में से एक बन गया।

पूरा गेम — फ़िज़िक्स, दुश्मन, आइटम, कैमरा और रेंडरर — OCaml में लिखा गया है और js_of_ocaml की मदद से JavaScript में क्रॉस-कंपाइल किया गया है, इसलिए यह एक सामान्य वेब पेज में चलता है। इसके नीचे एक “डायरेक्टर” है जो गेम की स्थिति संभालता है और मुख्य लूप चलाता है, जबकि एक प्रोसीजरल जनरेटर ग्रिड पर हर लेवल बनाता है और ध्यान रखता है कि वह खेलने लायक रहे।

नतीजा SNES दौर के Mario गेम जैसा दिखता है, लेकिन एक अनोखे अंदाज़ के साथ: हर बार लोड करने पर आपको ईंटों के टावर, सिक्कों के बादल और Koopa Troopa की अलग ही व्यवस्था मिलती है। कुछ लेआउट बेहद सुंदर होते हैं, कुछ अफ़रा-तफ़री भरे — यही रैंडम लेवल का मज़ा है।

कंट्रोल

इनपुटएक्शन
← → या A Dचलना
Space, ↑ या Wकूदना
↓ या Sझुकना

खूबियाँ

  • 100% फ़ंक्शनल लैंग्वेज OCaml में लिखा गया
  • रैंडम लेवल जनरेटर जो ब्लॉक, सिक्के, दुश्मन और गैप रखता है
  • स्कोर, सिक्कों का काउंटर, गेम ओवर और गेम जीतने की स्क्रीन
  • ब्लॉक टूटने और दुश्मनों को कुचलने पर पार्टिकल इफ़ेक्ट

टिप्स

  1. ऊपर बाएँ कोने का काउंटर फ़्रेम रेट है, टाइमर नहीं — इसलिए आराम से खेलें।
  2. शेल को दूसरे दुश्मनों की ओर किक करें तो अंकों की चेन बन जाती है।
  3. अगर कोई लेवल अटपटे ढंग से बन जाए, तो रीस्टार्ट बटन से फ़्रेम को फिर से लोड करें और नया लेआउट पाएँ।

अक्सर पूछे जाने वाले सवाल

OCaml क्या है?

OCaml एक फ़ंक्शनल प्रोग्रामिंग लैंग्वेज है जिसका इस्तेमाल शिक्षा जगत और इंडस्ट्री दोनों में होता है। MariOCaml दिखाता है कि JavaScript में कंपाइल होने पर यह एक पूरा रियल-टाइम गेम भी चला सकती है।

क्या लेवल हमेशा अलग होते हैं?

हाँ — हर बार लोड होने पर लेवल रैंडम तरीके से जनरेट होता है, इसलिए हर रीस्टार्ट पर आपको नया मैप मिलता है।

MariOCaml किसने बनाया?

Matthew Hsu, Liam Bui और Ashley Xue ने। यह प्रोजेक्ट MIT लाइसेंस के तहत ओपन सोर्स है।

खेलने के लिए और गेम्स