سوئفٹ لائن

چونا پتھر کی گھاٹی پر شام ڈھل رہی ہے اور سوئفٹس اپنے گھروں کو لوٹ رہے ہیں۔ راٹن کی رسی پھینکیں، جھولیں، قوس کو پمپ کریں، اور صحیح لمحے پر چھوڑ دیں تاکہ اپنی رفتار اگلی انگوٹھی تک لے جا سکیں — چھ گھونسلے جمع کرنے ہیں اور روشنی ختم ہونے سے پہلے آشیانے تک پہنچنا ہے۔ Phaser 4 پر AI ایجنٹس کے ذریعے سرے سے آخر تک تخلیق کردہ ایک مکمل مومنٹم ٹریورسل گیم، جس کی فزکس ہاتھ سے لکھی گئی تاکہ اس کا ہر عدد قابلِ پیمائش ہو۔

ابھی کھیلیں

پھینکنے اور رسی پکڑنے کے لیے SPACE دبائے رکھیں · A/D سے پمپ کریں · W/S سے ریل کریں · ٹچ: دائیں طرف دبائے رکھیں، بائیں طرف گھسیٹیں · پہلے فریم تک 3.4 MB (اس کے پیچھے 3.7 MB سازوں کے نمونے اسٹریم ہوتے ہیں) · چند سیکنڈوں میں شروع ہو جاتا ہے

▶ کھیلیں

تصور ہی معاہدہ ہے

پلیٹ فارم کی کانسیپٹ-امیج سروس اس چکر میں کریڈٹس ختم ہو چکی تھی (credit_balance_exhausted، میں لاگ ان concept/gen.log)، لہٰذا تینوں کانسیپٹ شیٹس اس کے بجائے لیب میں ہی پینٹ کی گئیں — جو حقیقت میں زیادہ مؤثر معاہدہ ثابت ہوا۔ ان پر ہر رنگ ایک نامزد ہیکس ہے اور ہر تناسب ایک بیان شدہ پیمائش ہے، اس لیے Blender بلڈ اور شپ شدہ فائل کو شیٹ کے مطابق نظر سے نہیں بلکہ عددی طور پر جانچا جاتا ہے۔ نیچے دی گئی گورج شیٹ تین پیرالیکس بینڈز، مِسٹ فال لائن اور اس اصول کو طے کرتی ہے کہ آسمانی گریڈینٹ ہی گھڑی ہے۔

Swiftline گھاٹی کانسیپٹ شیٹ
کانسیپٹ شیٹ 2/3 — گھاٹی، اس کی گہرائی کی پرتیں اور شام کا رمپ
Swiftline انجن میں براہ راست
وہی گھاٹی، Phaser 4 میں لائیو، 42% شام پر

آرٹ سے پہلے سرمئی خانے — اور سطح کو ناپے گئے راستوں پر رکھا گیا

پوری کھائی چلائی گئی، اور اس سے خودکار پلیئر گزرا، آرٹ بننے سے پہلے سرمئی باکسز کی صورت میں۔ فیل لیئر وہیں ٹیون ہوئی: رسی کی رکاوٹ، پمپ، ریل، دونوں کشش ثقل، اسپیڈ سے جڑا ہوا کیمرا۔ پھر ایک ریچ ایبلٹی پروب نے شپ شدہ step() کو براہ راست چلایا — بغیر رینڈرنگ اور بغیر وال کلاک کے ہزاروں پمپڈ سوئنگ اینڈ ریلیز ٹرائلز — اور رپورٹ کیا کہ ایک پمپڈ سوئنگر اپنی رِنگ سے 202–558 px بلند ہوتا ہے اور آگے تک 2353 px تک لے جاتا ہے۔ اس لیول کا ہر نیسٹ اور ہر اسپر لیج اسی پوائنٹ پر واقع ہے جہاں ان ٹرائلز میں سے کوئی ایک فی الواقع پہنچا؛ تمام چھ کے لیے قریب ترین رسائی 0–10 px ہے۔ اس پیس میں نیسٹس کو آنکھ سے نہیں رکھا گیا۔

Swiftline بلاک آؤٹ
بلاک آؤٹ: مکمل احساس کی پرت، بغیر آرٹ کے
لینڈ اسکیپ موڈ میں فون پر Swiftline
فون لینڈ اسکیپ — دائیں آدھا حصہ دبائے رکھیں، بائیں طرف گھسیٹیں

Blender میں کوڈ سے ماڈل کیا گیا، حقیقی موشن کیپچر سے متحرک

جمع کرنے والا کردار ایک کوڈ سے بنا ماڈل ہے — نہ ہاتھ سے مجسمہ سازی، نہ کوئی ایسٹ اسٹور۔ جھولے کا سائیکل موشن کیپچر سے ہے، مگر ایک کلپ سے نہیں۔ اسٹوڈیو کی منتخب لائبریری میں لٹکنے کی کوئی حرکت سرے سے موجود ہی نہیں تھی، چنانچہ سبجیکٹ نمبروں کا اندازہ لگانے کے بجائے مکمل CMU آرکائیو کے اپنے تفصیلی انڈیکس کو پڑھا گیا — جس سے سبجیکٹ 43 ملا، "playground: grip bar, swing body"۔ ری ٹارگٹ کرنے اور پھر فریم بہ فریم ناپنے کے بعد (کلائی کی اونچائی سر کی اونچائی کے مقابلے میں، دھڑ کی عمودیت)، وہ کلپ 181 میں سے صرف آٹھ فریموں کے لیے قابلِ استعمال لٹکن رکھتا ہے، اور 120 fps پر ملحقہ آٹھ فریم ایک ہی تصویر ہیں: ان سے نمونہ لیا گیا سائیکل ملحقہ فریم فرق کے گیٹ میں درست طور پر ناکام ہو جاتا ہے۔

چنانچہ سائیکل کو ترکیب دیا گیا ہے۔ بازو کی چین کو اوپر کی گرفت پر رکھا گیا ہے جبکہ ٹانگوں اور ریڑھ کی ہڈی کو ایک لوکوموشن کلپ (CMU 02_01) سے چلایا گیا ہے، اور بیک میں سے بازو کی F-curves ہٹا دی گئی ہیں — کیونکہ ایک کی فریم والی ہڈی ہر فریم تبدیلی پر اپنی ایکشن سے دوبارہ ایویلیوایٹ ہوتی ہے اور خاموشی سے ہاتھ سے سیٹ کی گئی پوز کو مٹا دیتی ہے۔ بازو رسی پر مقفل، ٹانگیں آگے پیچھے قینچی کی طرح، اور اوپر سے تخلیق کردہ ہپ سوے اور بوب: جھولا پمپ کرنا ایسا ہی دکھتا ہے۔ شپ کی گئی شیٹ 4.0 کے حد سے 6.17–9.70 پر ملحقہ فریم گیٹ پاس کرتی ہے — یہ پہلے 3.81 پر ناکام ہوئی تھی، اور حل یہ تھا کہ گمشدہ حرکت شامل کی جائے، گیٹ کو کم کرنے کے بجائے۔

چہرہ باڈی شیٹ میں بیک نہیں کیا گیا۔ یہ اپنی الگ پانچ حالتوں کی شیٹ کے طور پر رینڈر ہوتا ہے — نیوٹرل، پلک جھپکنا، الرٹ، جیت، چوٹ — اور پائپ لائن ہر باڈی فریم کے لیے سر کے پیوٹ کو فریم پکسلز میں ایکسپورٹ کرتی ہے، تاکہ انجن کسی بھی پوز پر چہرہ کمپوزٹ کر سکے۔ یہی وہ چیز ہے جو کردار کو ہر چند سیکنڈ بعد پلک جھپکنے دیتی ہے اور جھولتے ہوئے تاثرات بدلنے دیتی ہے، بغیر باڈی شیٹ کو تاثرات کی تعداد سے ضرب دیے۔

دی گیدرر، اسٹوڈیو سائیڈ رینڈر
جمع کرنے والا کردار — اسٹوڈیو سائیڈ رینڈر، 4 میں سے راؤنڈ 4
کریکٹر کانسیپٹ شیٹ
کانسیپٹ شیٹ 1/3 — وہ معاہدہ جس کے خلاف رینڈر کا نمونہ لیا گیا
شپ کی گئی 8-فریم سوئنگ شیٹ
شپ کی گئی جھولے کی شیٹ — 112 px پر 8 فریم، mocap سے چلائی گئی
پانچ حالتوں والی چہرہ شیٹ
پانچوں چہرے کی حالتیں، ہر ایک اپنی سیاہی تک کاٹی گئی اور 11× بڑھائی گئی — شپنگ اسکیل پر یہ ہر ایک چند پکسلز کی ہیں
تخلیق کردہ پراپ کِٹ
شپ کے مطابق پراپ کٹ — کانسیپٹ شیٹ پر ہر نامزد چیز ایک حقیقی فائل ہے
گھاٹی کا تصور
…اور وہ شیٹ جس کے خلاف یہ پراپس تخلیق کیے گئے

احساس کی تحقیق

اس لیب کا آؤٹ پٹ صرف گیم نہیں ہے — یہ اعداد اور وجوہات بھی ہیں۔ ہر مستقل قدر کو شپ کی گئی سیمولیشن کے خلاف A/B سے جانچا گیا، اور جو قدریں مسترد کی گئیں وہ ناپی گئیں، محض فرض نہیں کی گئیں۔ دو جانچیں یہ ہیں:

پمپ اختیار6 سیکنڈ بعد عروجی رفتار6 سیکنڈ میں سمت کی تبدیلیاںفیصلہ
700 px/s²1441 px/s4غیر متحرک — کہیں پہنچنے میں تقریباً پانچ سیکنڈ
1150 px/s² — شپ شدہ1545 px/s5پینڈولم جیسا لگتا ہے؛ مکمل رفتار تک 3.5 سیکنڈ
1600 px/s²1972 px/s8جھولے کے بجائے موٹر جیسا لگنا شروع ہو گیا
2400 px/s²2363 px/s10چھ سیکنڈ میں دس تبدیلیاں — قوس ناقابلِ فہم ہو جاتی ہے

سمت کی تبدیلیوں کی تعداد ہی پڑھنے کی صلاحیت کا پیمانہ ہے: پینڈولم سمت بدلتا ہے، موٹر نہیں بدلتی۔ دوسری جانچ نے ہمیں حیران کیا — رسی کو ریل کرنا زاویائی رفتار محفوظ رکھتا ہے، چنانچہ قوس کے نچلے حصے میں خود کو رسی پر کھینچنا واقعی آپ کو تیز کرتا ہے، مگر ایک حد تک۔

ریل کی شرحعروجی رفتارفیصلہ
0 px/s (صرف پمپ)1545 px/sبنیادی حد
330 px/s — شپ شدہ1840 px/sصرف پمپ کرنے سے +19% زیادہ
700 px/s1711 px/sبدتر۔ رسی اپنی کم از کم حد پر پہنچ جاتی ہے اور جھولا ایک تنگ تیز دائرے میں سمٹ جاتا ہے جس میں لانچ کرنے کے لیے کوئی قوس باقی نہیں بچتی

ناپا گیا

فریم کی لاگتیں آڈٹ باکس سے ہیں: ایک مشترکہ، GPU کے بغیر ہوسٹ جو Chromium کے سافٹ ویئر کینوس رینڈرر پر چل رہا ہے۔ یہ بدترین صورتحال ہے جو یہ پیس کبھی دیکھے گی اور اعداد کو بطور ناپے گئے رپورٹ کیا گیا ہے، بشمول وہ جنہیں ہم چھاپنا پسند نہ کرتے۔

پیمائشنتیجہشرائط
ان پٹ سے ردعمل تک0–10.3 ms (8 نمونے)بٹن دبانا → رسی کی پابندی لاگو، اصلی کی بورڈ پاتھ
رسی کے جھٹکے سے ردعمل تک32.3 msبجٹ 100 ms
نیسٹ اٹھانے سے ردعمل تک25.5 msبجٹ 100 ms؛ جانتے بوجھتے صفر ہٹ-اسٹاپ
کیمرہ کِک سیٹل240 / 270 / 306 ms4 / 9 / 15 px درجات سے <0.4 px تک، صفر اووَرشُوٹ
رسی جھٹکا ہٹ-اسٹاپ لَیڈر26 / 54 / 84 msریڈیل بندش کی رفتار 403 / 712 / 1034 px/s
قابلِ رسائی حدرنگ کے اوپر 202–558 px19 رِنگز × 90 پمپڈ ٹرائلز، شپ شدہ step()
نیسٹ تک رسائی0–10 px قریب ترین اپروچ، 6/6ہر نیسٹ ایسے راستے پر ہے جسے کسی ٹرائل نے حاصل کیا ہو
فریم لاگت42.7 ms اوسط · 95.2 ms p955 × 10 سیکنڈ بوٹ ڈرِون پلے میں سے بہترین، خام performance.now() ڈیلٹاز، ہوسٹ لوڈ ایوریج پر 39.6 — سافٹ ویئر کینوس، GPU کے بغیر شیئرڈ باکس۔ ہر رن میں audit/bench_runs.jsonl، بشمول وہ جو لوڈ 43 پر 93 ms ناپے گئے۔
پے لوڈپہلے فریم تک 3.4 MB · مجموعی 5.5 MBپہلے انجن + اسکرپٹس + شیٹس؛ انسٹرومنٹ کے نمونے پہلے فریم کے بعد اسٹریم ہوتے ہیں
آرٹ راؤنڈزماڈل 4 · props 1 · ماحول 3 · اسپرائٹ 5 · نظام 4ماڈل، props، ماحول اور نظام کے آڈٹ

غیر خوشنما قطار۔ اس آڈٹ باکس پر 60 fps دکھانا ممکن نہیں: اس میں GPU نہیں ہے، لہٰذا Chromium سافٹ ویئر کینوس رَسٹرائزر پر منتقل ہو جاتا ہے اور جو فریم لاگت ہم ماپتے ہیں وہ رَسٹرائزیشن کی وجہ سے ہے، گیم کی وجہ سے نہیں۔ اصلی ہارڈویئر پر یہی بلڈ WebGL رینڈرر پر چلتا ہے۔ ہم وہ رپورٹ کرتے ہیں جو ہم نے ماپا، نہ کہ جس کی ہم توقع رکھتے ہیں۔

اس ٹکڑے نے کیا حاصل کیا

ایک رسی جو ایک پابندی ہے

پوزیشن پر مبنی، صرف تنی ہوئی، صفر ریسٹیٹیوشن — جھٹکے تک ڈھیلی۔

ریل بطور پمپ

زاویاتی مومینٹم برقرار: لائن مختصر کرنے سے آپ تیز ہو جاتے ہیں۔

دو کششِ ثقل

لائن پکڑے ہوئے دنیا کی کشش 1.26× زیادہ سختی سے کھینچتی ہے۔

رفتار سے جُڑا کیمرہ

زوم رفتار کے ساتھ چلتا ہے، جانتے بوجھتے پوزیشن فالو سے سست۔

سمتی کِک

رسی کے نارمل کے ساتھ کریٹیکلی ڈیمپڈ۔ صرف حرکت، کبھی گردش نہیں۔

ایک چہرہ جو عمل کرتا ہے

بیکڈ ہیڈ پیوٹ پر پانچ حالتیں — کسی بھی جسمانی انداز میں پلک جھپکتا اور ردعمل دیتا ہے۔

مرتب کردہ فضا

کہیں بھی ماحولیاتی بیڈ نہیں: فضا اسکور کے اندر ایک بوڈ-پیڈ کورڈ بیڈ ہے۔

ماپا ہوا لیول ڈیزائن

ہر جمع کرنے والی چیز ایسے راستے پر رکھی گئی جسے کسی سیمولیشن ٹرائل نے واقعی حاصل کیا۔

Phaser 4.1.0

2D کے لیے پلیٹ فارم کا نیا ڈیفالٹ برائے 2026؛ کینوس اور WebGL پر 23/23 API پروبز پاس۔

پمپ 1150 px/s² ریل 330 px/s G_swing 2120 / G_air 1680 restitution 0 لائن زیادہ سے زیادہ 470 px air steer 700 px/s² بریک بونس 1.55× hit-stop 26/54/84 ms kick 4/9/15 px @ 19 rad/s lookahead 0.28 s, کیپ 265 px زوم 1.00→0.80 @ 2.2 s⁻¹ trail threshold 880 px/s شام 110 s
BuildMidas Phaser Lab کی طرف سے سرے سے آخر تک تیار کیا گیا — تصور، ماڈلنگ، موکیپ اینیمیشن، ٹیوننگ، پیمائش اور تصدیق سب AI ایجنٹس نے کی۔ یہی پائپ لائن AI Game Builder کو چلاتی ہے۔