जीव पैक लिखना

जीव पैक (creature pack) उन जीवों की आर्ट है जिनसे Game Mode में लड़ाई होती है। पैक चुना हो तो जिस दुश्मन की आर्ट उसमें है, वह लड़ाई के बोर्ड पर गोल टोकन के बजाय उसी आर्ट में दिखता है। आर्ट उसी ओर मुँह किए रहती है जिधर दुश्मन आखिरी बार चला था, और जीव के अपने आकार में दिखती है। जिस दुश्मन की आर्ट पैक में नहीं है, उसका टोकन बना रहता है। खेल में यह कैसा दिखता है, यह जानने के लिए Tactical लड़ाई और भूभाग देखें।

पैक एक JSON फ़ाइल (.creatures.json) है। इसे बनाने का सबसे आसान तरीका Pixelforge का Creatures (जीव) टैब है। Pixelforge एक बाहरी टूल है, जो हर जीव की एक तस्वीर से फ़ाइल बना देता है। यह गाइड खुद फ़ाइल के बारे में बताती है, उन लोगों के लिए जो पैक किसी और तरीके से बनाते हैं।

पैक इस्तेमाल करना

शुरू करने से पहले: एक .creatures.json फ़ाइल बनाएँ या डाउनलोड करें। Pixelforge पैक बनाने वाला एक अलग ऐप है, Marinara का हिस्सा नहीं।

  1. Pixelforge में Creatures टैब खोलें।
  2. फ़ाइल लोड करने के लिए Import a creature pack file (जीव पैक फ़ाइल इंपोर्ट करें) चुनें। Pixelforge में बनाए गए पैक के लिए Save to the library (लाइब्रेरी में सेव करें) चुनें।
  3. Use for fights (लड़ाइयों के लिए इस्तेमाल करें) चुनें।

एक ही पैक सारी लड़ाइयों में दिखता है। फिर से टोकन पर लौटने के लिए चुना हुआ पैक हटाएँ या Use tokens instead (इसके बजाय टोकन इस्तेमाल करें) चुनें।

फ़ाइल

{
  "creaturePackVersion": 1,
  "id": "my-monsters",
  "name": "My monsters",
  "version": 1,
  "author": "Robin",
  "tileSize": 48,
  "sheets": [{ "id": "s1", "png": "data:image/png;base64,iVBORw0KGgo...", "width": 2048, "height": 1536 }],
  "creatures": [
    {
      "id": "goblin",
      "match": ["5e-2014/creatures/goblin", "Goblin"],
      "size": "small",
      "w": 1,
      "h": 2,
      "frames": 1,
      "variants": [
        { "sheet": "s1", "x": 0, "y": 0 },
        { "sheet": "s1", "x": 1, "y": 0 }
      ]
    }
  ]
}
फ़ील्डयह क्या है
creaturePackVersion1, या उड़ने वाली आर्ट के पैक के लिए 2 (Capability API 1.352)।
idछोटे अक्षर, अंक, _ और -। लाइब्रेरी इंपोर्ट किए गए पैक को local/<id> के तहत रखती है।
name, authorलाइब्रेरी में दिखते हैं। author वैकल्पिक है।
versionएक पूर्णांक। कोई वर्ज़न कभी दोबारा नहीं लिखा जाता: पैक बदलने के लिए उसका वर्ज़न बढ़ाएँ। वही फ़ाइल फिर से इंपोर्ट करने से कुछ नहीं बदलता।
tileSizeएक सेल का आकार पिक्सेल में, 16 से 96 तक 16 का कोई गुणज। Game Mode का ग्रिड 48 है।
sheetsअधिकतम 64 तस्वीरें, हर एक की चौड़ाई और ऊँचाई अधिकतम 8192 पिक्सेल।
creaturesअधिकतम 2000 जीव।
फ़ाइल का आकारअधिकतम 32 MB।

शीट

शीट का png PNG डेटा URL होना चाहिए: data:image/png;base64, और उसके बाद base64, इसके सिवा कुछ नहीं। कहीं और रखी इमेज का लिंक अस्वीकार होता है, और base64 के बाद लिखी कोई भी चीज़ भी। इस तरह पैक हमेशा सिर्फ़ अपनी ही तस्वीरें दिखा सकता है। width और height PNG का असली आकार होने चाहिए; Engine उन्हें तस्वीर के हेडर से पढ़ता है, और जिस पैक की शीट कुछ और बताती हैं, उसे अस्वीकार कर देता है।

एक जीव

फ़ील्डयह क्या है
idपैक में जीव का ID, जो दूसरों से अलग हो।
matchआर्ट किसके लिए है, 1 से 16 एंट्री। हर एंट्री नियमसेट का कोई जीव या कोई नाम होती है, और सूची में दोनों तरह की एंट्री साथ-साथ हो सकती हैं।
sizetiny, small, medium, large, huge या gargantuan। इससे सिर्फ़ यह तय होता है कि जीव कैसा दिखता है; हर यूनिट अब भी एक ही खाना लेती है।
w, hएक फ़्रेम का आकार सेल में, दोनों 1 से 6 तक।
framesस्थिर जीव के लिए 1, चलने वाले जीव के लिए 3 (कदम, खड़ा, कदम)।
variantsउसके रूप, 1 से 8, हर एक वहाँ जहाँ शीट पर उसका ब्लॉक शुरू होता है: sheet और ऊपर-बाएँ वाला सेल x, y।
flyवैकल्पिक, creaturePackVersion 2 चाहिए: इसके उड़ने वाले ब्लॉक, चलने वाले ब्लॉक के ढाँचे में (तीन फ़्रेम चौड़े, चार दिशाएँ नीचे की ओर), variants की तरह रखे हुए। सभी रूपों के लिए एक साझा ब्लॉक, या उसी क्रम में हर रूप का अलग ब्लॉक।

उड़ना

fly वाला जीव लड़ाई में हवा में दिखाए जाने पर अपने उड़ने वाले ब्लॉक से बनता है, और उसके फ़्रेम 0, 1, 2, 1 क्रम में चलते हैं। हवा में दिखाए जाने का मतलब है कि उसमें इनमें से कोई भी बात हो:

बाकी समय वह पहले की तरह अपने रूप से बनता है।

जिस Experience मैप पैक के जीव पैक में उड़ने वाली आर्ट हो, उसे Capability API 1.352 चाहिए।

match किसका नाम देता है

नियमसेट की बेस्टियरी से आया लड़ाका पहले अपनी एंट्री से मिलाया जाता है, फिर अपने नाम से। अगर दो जीव एक ही चीज़ से मेल खाते हैं, तो पैक में पहले लिखा जीव जीतता है; पैक इंपोर्ट होते समय Engine यह बात नोट कर देता है।

आकार

फ़्रेम सेल में गिने जाते हैं, और जीव अपने खाने के निचले हिस्से पर, बीच में खड़ा दिखाया जाता है, इसलिए बड़ा जीव अपने आसपास के खानों पर भी खड़ा दिखता है। 48 पिक्सेल के ग्रिड पर ये आकार ठीक लगते हैं:

जीवफ़्रेम (w गुणा h)
बहुत छोटा (tiny), या चार पैरों वाला छोटा (small) या मध्यम (medium) जीव1 गुणा 1
सीधा खड़ा होने वाला छोटा या मध्यम जीव1 गुणा 2
बड़ा (large)2 गुणा 2, या सीधा खड़ा हो तो 2 गुणा 3 (जैसे ओगर या गोलेम)
विशाल (huge)3 गुणा 3, या सीधा खड़ा हो तो 3 गुणा 4 (जैसे दानव)
अतिविशाल (gargantuan)4 गुणा 4

ब्लॉक: पंक्तियाँ और फ़्रेम

हर रूप अपनी शीट पर एक ब्लॉक होता है। ब्लॉक frames फ़्रेम चौड़ा और 4 पंक्ति ऊँचा होता है, और हर फ़्रेम w गुणा h सेल का होता है। पंक्तियाँ दिशाएँ हैं, इसी क्रम में:

  1. नीचे (देखने वाले की ओर)
  2. बाएँ
  3. दाएँ
  4. ऊपर (पीछे से दिखता हुआ)

स्थिर जीव (frames: 1) चारों दिशाओं का एक कॉलम होता है। चलने वाले जीव (frames: 3) की हर पंक्ति में कदम, खड़ा और कदम होते हैं, जैसे किसी आम वॉकिंग स्प्राइट शीट में होते हैं। हर ब्लॉक पूरी तरह अपनी शीट के अंदर होना चाहिए; जो ब्लॉक किनारे से बाहर निकलता है, Engine उसका नाम बता देता है।

रूप

कई रूपों (दूसरे कपड़े, रंग या हथियार) वाला जीव अपने हर लड़ाके को उनमें से एक रूप देता है। लड़ाका जब भी दिखाया जाता है, उसका रूप वही रहता है, और एक ही लड़ाई के दो गोब्लिन अलग-अलग दिख सकते हैं। किसी जीव के सारे रूप एक ही आकार के होते हैं।

Pixelforge के Creatures टैब में किसी जीव के बगल में मौजूद Add looks (रूप जोड़ें) उसके पहले रूप जितने आकार की और तस्वीरें जोड़ता है, कुल आठ तक।