मानसून-सांझ वाली कार्स्ट घाटी में मोमेंटम रोप-स्विंग। रस्सी एक वास्तविक बाधा है — ढीली रहती है जब तक कि वह अचानक तनी न हो जाए, जीरो रिस्टिट्यूशन — और उसे खींचना कोणीय मोमेंटम को संरक्षित करता है, इसलिए किसी आर्क के निचले हिस्से में रस्सी पर खुद को ऊपर खींचना वाकई आपको तेज़ बनाता है (केवल पम्पिंग की तुलना में +19%, मापा गया)। जब आप रस्सी पकड़े होते हैं तो दुनिया 1.26× ज़्यादा ज़ोर से खींचती है। एक रीचेबिलिटी प्रोब ने हज़ारों पम्प्ड-स्विंग ट्रायल्स के ज़रिए शिप की गई फ़िज़िक्स को चलाया, और घाटी का हर नेस्ट व स्पर लेज उस ट्रैजेक्टरी पर रखा गया है जिसे इन ट्रायल्स में से किसी एक ने वास्तव में पहुँचा। मोकैप-संचालित Blender गैदरर जिसका चेहरा किसी भी बॉडी पोज़ में पलकें झपकाता है और प्रतिक्रिया देता है। Phaser 4 पर बनाया गया।
टॉप-डाउन नॉकबैक एरीना: वाइंड-अप के लिए दबाएं रखें, RAM करने के लिए छोड़ें। टकराव असली मोमेंटम पर आधारित होते हैं — मास, रिस्टिट्यूशन 0.58, क्लोज़िंग-स्पीड-टियर्ड हिट-स्टॉप — और कैमरा को क्रिटिकली डैम्प्ड स्प्रिंग पर इम्पैक्ट नॉर्मल की दिशा में झटका दिया जाता है, बेतरतीब ढंग से नहीं हिलाया जाता। एक मोकैप-चलते Blender बिघॉर्न शिखर के सॉल्ट लिक की रक्षा भूरे प्रतिद्वंद्वियों से करता है; उन्हें ब्लफ़ से नीचे गिराएं। हर स्थिरांक को पहले ग्रे शेप्स पर मापा गया।
फ़ील-फ़र्स्ट प्रिसीज़न प्लेटफ़ॉर्मर: पूरी मूवमेंट लेयर — 1.8× फ़ॉल-ग्रैविटी एसिमेट्री, 90ms कोयोट विंडो, 130ms जंप बफ़र, अपेक्स हैंग, एक लुक-अहेड कैमरा — किसी भी आर्ट के बनने से पहले ग्रे बॉक्सेज़ पर ट्यून और मापी गई। फिर एक मोकैप-रिग्ड Blender फ़ॉक्स इस तैयार फ़ील पर उतरा। तीनों तीर्थ ब्रेज़ियर्स को फिर से जलाएं।
इस श्रेणी में कोई प्रोजेक्ट नहीं है। कोई अन्य श्रेणी चुनें।
AI एजेंट्स आर्ट से पहले फ़ील को ट्यून करते हैं
AI एजेंट्स प्लेएबल ब्लॉकआउट बनाते हैं, उसके नियंत्रणों का परीक्षण करते हैं और तैयार आर्ट जोड़ने से पहले मूवमेंट व कैमरा वैल्यूज़ को समायोजित करते हैं। हर हिस्सा पूर्ण फ़ील लेयर के साथ ग्रे बॉक्सेज़ के रूप में शुरू होता है: राइज़ की तुलना में भारी फ़ॉल ग्रैविटी, कोयोट टाइम, इनपुट बफ़रिंग, स्मूथिंग के साथ कैमरा लुकअहेड। आर्ट कभी भी ऐसे गेम को नहीं बचा सकता जिसका फ़ील गलत हो — इसलिए फ़ील को सबसे पहले खेलकर साबित किया जाता है।
FEEL_NOTES.md — jump
fall gravity ×1.8रिजेक्टेड ×1.0 "floaty, no weight" · ×2.4 "brick"
coyote time 90msरिजेक्टेड 0 "unfair" · 150ms "mushy edges"
input buffer 120msलैंडिंग पर जल्दी दबाए गए जंप प्रेस मान्य किए जाते हैं
हर स्थिरांक अपनी वजहों के साथ शिप होता है — और यह भी कि अस्वीकृत मान कैसा महसूस हुए।
जूस, ट्यून किया हुआ — सिर्फ़ मौजूद नहीं
चेकलिस्ट तो न्यूनतम है; असली शिल्प संख्याएँ हैं। हर इम्पैक्ट वर्ग के लिए हिट-स्टॉप, घटती हुई रोटेशन-रहित शेक, हर गति के लिए नामित ईज़िंग परिवार, लैंडिंग पर स्क्वैश स्केल। जो चेकलिस्ट आइटम मौजूद है पर ग़लत ट्यून है, वह यहाँ एक खोज (फ़ाइंडिंग) है।
ईज़िंगपिकअप के लिए Back.out · UI के लिए Cubic.inOut · लैंडिंग के लिए Bounce-lite
✓
स्क्वैशलैंड 1.15x/0.85y → 90ms में सेटल
बेंचमार्क से परखा, अंदाज़े से नहीं
हर पीस को अपनी प्रतिक्रियाशीलता साबित करनी होती है: रिकॉर्ड किए गए फ़्रेम-टाइम सैंपलों के साथ लगातार 60fps, दो फ़्रेम के भीतर इनपुट-से-प्रतिक्रिया, हर इंटरैक्टिव घटना के 100ms के भीतर फ़ीडबैक — टेलीमेट्री टाइमस्टैम्प से मापा, लेजर में दर्ज।
फील बेंचमार्कपास
60fps लगातार · सबसे खराब फ्रेम 17.8msइनपुट→रिस्पॉन्स: 1 फ्रेमफीडबैक ≤100ms: 100% इवेंट्स
सबक़ जो हर इंजन को विरासत में मिलते हैं
एक ट्यून किया गया हिट-स्टॉप रेंज या लैंडिंग के लिए सही ईज़िंग फैमिली, कैनवस, Godot और Defold गेम्स में समान रूप से काम करता है। लैब के निष्कर्ष न्यूमेरिक, इंजन-एग्नॉस्टिक रूल्स के रूप में हर 2D बिल्ड के दिशा-निर्देशों में पोर्ट होते हैं — यही पोर्टेबिलिटी इस लैब के अस्तित्व की वजह है।
इंजन-निरपेक्ष फ़ील नियम सभी 2D बिल्ड में जाते हैं।
सवाल, जवाब समेत
"गेम फ़ील" आख़िर है क्या?
वे जमा हुए सूक्ष्म-निर्णय जो इंटरैक्शन को संतोषजनक बनाते हैं: ग्रैविटी की विषमता जम्प को वज़न कैसे देती है, 60 मिलीसेकंड का हिट-स्टॉप टक्कर को कैसे बेचता है, कैमरे का लुकअहेड खिलाड़ी को दिशा में कैसे रखता है। अकेले-अकेले अदृश्य, मिलकर जीवंत और मुर्दा के बीच का फ़र्क़।
इसके लिए पूरी लैब क्यों?
क्योंकि फ़ील का ज्ञान संख्याएँ और वजहें हैं, और संख्याएँ कोई नहीं लिखता। हर चक्र का FEEL_NOTES दस्तावेज़ — हर स्थिरांक, वह मान क्यों, अस्वीकृत मान कैसे महसूस हुए — वह शोध बनता है जिस पर पूरा प्लेटफ़ॉर्म आगे बनता है।
इस काम के लिए Phaser ही क्यों?
Phaser के ट्वीन, कैमरे और पार्टिकल एमिटर ठीक वही जूस टूलकिट हैं, पेशेवर वेब-2D फ़्रेमवर्क पर — फ़ील की परिकल्पना से खेलने योग्य परीक्षण तक का सबसे छोटा रास्ता।
क्या बाक़ी इंजनों को भी फ़ायदा होता है?
यही तो बात है: फ़ील स्थिरांक इंजन-निरपेक्ष होते हैं। पोर्ट किए गए नियम बिल्डर के हर 2D गेम पर लागू होते हैं — कैनवास, Phaser, Godot और Defold, सब पर।
यहाँ मैं किस तरह की मैकेनिक्स एक्सप्लोर कर सकता हूँ?
फोकस्ड 2D इंटरैक्शन्स और उनकी फील के पीछे की तकनीकों के लिए गैलरी ब्राउज़ करें। हर प्रोजेक्ट का डिस्क्रिप्शन बताता है कि वह क्या एक्सप्लोर करता है, इसलिए किसी पीस को उसकी मैकेनिक के साथ-साथ स्क्रीनशॉट के लिए भी चुनें।
मैं किसी उदाहरण की फील का आकलन कैसे कर सकता हूँ?
बार-बार शुरू करने, रोकने, कूदने या इंटरैक्ट करने की कोशिश करें। इनपुट रिस्पॉन्स, मोशन टाइमिंग, फीडबैक और रिकवरी पर ध्यान दें; एक स्थिर इमेज एक्सपीरियंस के इन हिस्सों को नहीं दिखा सकती।
क्या मेरा ब्रीफ एक अलग विज़ुअल स्टाइल का उपयोग कर सकता है?
हाँ। मैकेनिक और कंट्रोल्स के साथ-साथ अपनी दुनिया, पैलेट और कैरेक्टर डायरेक्शन का वर्णन करें। एक लैब रेफरेंस उसी दिखावट की आवश्यकता के बिना आपके चाहे गए इंटरैक्शन को समझा सकता है।
ऐसा गेम बनाइए जो जितना अच्छा दिखे उतना ही अच्छा महसूस हो
बिल्डर का हर 2D गेम इस लैब के फ़ील शोध को विरासत में पाता है।