तो, वहाँ इस परियोजना है वहाँ बुलाया BulletML जो जटिल कण / बुलेट पैटर्न बनाने के लिए एक मार्कअप भाषा है। आपको कोड को निश्चित रूप से अपनी भाषा में पोर्ट करना होगा, लेकिन यह वास्तव में कुछ आश्चर्यजनक चीजें कर सकता है।
उदाहरण के लिए, इस बॉस को Unity3D (उस पैटर्न के लेखक ने वीडियो और मिसरी के साथ-साथ अच्छा 1 अपलोड किया है) के लिए BulletML के एक (भारी संशोधित) विस्तार में किया गया था । यह उस दुश्मन की सबसे कठिन भिन्नता है और यह दिखाता है कि बुलेटएमएल काफी अच्छी तरह से सक्षम है (और मिसरी के कुछ अन्य मालिकों की तरह, जैसे कि वॉलमास्टर भी )।
या मैं इस उदाहरण को दिखा सकता हूं, जो एक पैटर्न है जिसे मैंने द लास्ट फेडरेशन के लिए एक विस्तार पर काम करते समय लिखा था , सिस्टम के एक पुराने संशोधन का उपयोग करके जो कम-अनुकूल है और केवल एकल वर्ण AZ चर का उपयोग करता है:
उन रिंगों को बनाने वाली हरे रंग की गोलियों को एक मूल बुलेट से उगल दिया जाता है जो तेज गति से घूमती है, लेकिन स्वयं में कोई गति नहीं है। वे बड़े पैमाने पर नुकसान का सामना करते हैं, खिलाड़ी को एक लंबी सीमा पर रखते हैं, उन्हें कम क्षति वाले हथियारों तक सीमित रखते हैं और मोबाइल डिफेंडरों को खिलाड़ी को परेशान करने की अनुमति देते हैं (यदि बीच में ढांचा नष्ट हो गया तो खिलाड़ी जीत गया)।
यहाँ XML सिंटैक्स का एक हिस्सा है जो उन बुलबुले बनाता है:
<bullet_pattern name="Barrier">
$WallShotAngle B=.3 A=90
$WallShotAngle B=.3 A=-90
$WallShotAngle B=.3 A=0
$WallShotAngle B=.375 A=180
</bullet_pattern>
<var name="WallShotAngle">
<bullet angle="[A]" speed="4000" interval_mult=".01" dumbfire="1" shot_type="GravityWavePurple">
<wait time="[B]" />
<change angle="0" speed="1000" time=".0001" />
<spawn>
<bullet_pattern>
<bullet angle="[A]" speed="0" shot_type="CurveBarGreen" damage_mult="8">
<wait time="12" />
<die />
</bullet>
</bullet_pattern>
</spawn>
<die />
</bullet>
</var>
आप स्क्रीनशॉट में बैंगनी "ग्रेविटी वेव" शॉट्स में से कुछ देख सकते हैं, जो स्रोत से लगभग तुरंत यात्रा करते हैं (जो घूमता है) बबल के किनारे तक जाता है, जहां यह हरे रंग के "घुमावदार बार" शॉट को जन्म देता है, जो 12 घंटे पहले वहां बैठता है despawning। नीले और पीले रंग के शॉट्स मैंने छोड़ दिए हैं, क्योंकि वे बहुत अधिक जटिल हैं।
विस्तार में अन्य पैटर्न में से एक (एक तोप का खोल ) वास्तव में मिश्री द्वारा लिखा गया था, हालांकि मैंने इसमें कुछ संशोधन किए। प्रारंभ में यह एक कम क्षति है, मर्मज्ञ शॉट जो लंबी दूरी तक उड़ता है और फिर एक विशाल आतिशबाजी के प्रदर्शन में विस्फोट होता है, जिससे टन को नुकसान होता है। यह अधिकतम सीमा खिलाड़ी को प्राप्त करने की तुलना में बहुत अधिक थी, अनिवार्य रूप से खिलाड़ी को छोटी सीमा पर संलग्न होने के लिए मजबूर करना, जो शॉटगन प्रभाव (एक छोटे से क्षेत्र में अधिक गोलियां) के कारण अन्य प्रकार की एनपीसी इकाइयों के लिए फायदेमंद था।
बुलेटएमएल के साथ काम करना आसान है, आम तौर पर, और अद्भुत चीजें कर सकते हैं। बुलेट दिशा बदल सकते हैं, गति बदल सकते हैं, अन्य पैटर्न बदल सकते हैं, जल्दी मर सकते हैं, एक लूप में कमांड्स का संग्रह दोहरा सकते हैं, देरी का उपयोग कर सकते हैं, बुलेट स्प्राइट छवि बदल सकते हैं, उनके माता-पिता (या नहीं) का पालन कर सकते हैं ... और ऐसा कुछ भी जो आपका समर्थन नहीं कर सकता है। इसमें लिखें।
मैं निश्चित रूप से यह अनुशंसा करता हूँ अगर आप एक गंभीर शूट उन्हें खेल कर रहे हैं। वांछित आकार प्राप्त करने के लिए आपको अभी भी समन्वित गणित पर काम करना होगा, जैसा कि चरणर ने अपने उत्तर के बारे में बात की है, लेकिन बुलेटएमएल जैसे बुलेट इंजन आपको इतना अधिक लचीलापन देगा कि आप और अधिक समय बिताएंगे जो नए पैटर्न डिजाइन करने में खर्च करेंगे। उन्हें कोड कैसे ।
- केवल यह बताने के लिए कि मिश्री कितनी अच्छी है, उन वीडियो को शुरुआती उपकरणों के साथ फर्श मालिकों के खिलाफ हैं : कोई मॉड्यूल, कोई उपभोग्य वस्तुएं, और बुनियादी वीणा शूटर नहीं। और एक्स केवल लड़ाई की लम्बी प्रकृति के बावजूद एक हिट लेता है। ठीक है, सेंट्रीफ्यूज के खिलाफ 9 हिट (जो खिलाड़ी के बाद तीसरी मंजिल तक नहीं दिखाते हैं, निश्चित रूप से तुलनात्मक रूप से कम से कम दोहरी क्षति के परिणामस्वरूप उन्नयन होगा)।