2003 کا ایک مکمل ریئل ٹائم اسٹریٹجی گیم آئی فون پر نیٹیو طور پر چلتے ہوئے دیکھنا، بہترین ممکنہ انداز میں تھوڑا سا عجیب محسوس ہوتا ہے۔ صحرائی نقشوں پر ٹینک گزر رہے ہیں۔ جنرلز حکم دے رہے ہیں۔ سپلائی لائنز ایسی ٹچ اسکرینوں پر پھیلی ہوئی ہیں جو اس وقت موجود ہی نہیں تھیں جب اصل کوڈ کمپائل کیا گیا تھا۔ پھر بھی ہم یہاں موجود ہیں۔ Google AI Studio میں پروڈکٹ اور ڈیزائن کی قیادت کرنے والے عمار ریشی نے حال ہی میں Command & Conquer: Generals Zero Hour لیا اور تقریباً ایک ٹیلی ویژن سیزن دیکھنے کے برابر وقت میں اس کا ایک نیٹیو iOS ورژن تیار کر لیا۔ یہ پروجیکٹ ایمولیشن کے حربوں پر انحصار نہیں کرتا۔ یہ Apple silicon پر چلتا ہے، Metal کا استعمال کرتا ہے، اور یہ سنگین سوالات اٹھاتا ہے کہ کتنا لیگیسی سافٹ ویئر اسی راستے پر چل سکتا ہے۔

اصل میں کیا بنایا گیا

یہ کوئی ریپر (wrapper) نہیں ہے۔ یہ کسی ایسے ایمولیٹر کے اندر نہیں چل رہا جو بیس سال پرانے Windows PC ہونے کا ڈھونگ رچاتا ہو۔ گیم ARM64 کے لیے کمپائل ہوتی ہے اور براہ راست Apple کے Metal graphics API سے بات کرتی ہے۔ یہ فرق اہمیت رکھتا ہے۔ ایمولیشن سے فریمز کا نقصان ہوتا ہے۔ یہ بیٹری خرچ کرتا ہے۔ یہ ایبسٹریکشن (abstraction) کے اوپر ایبسٹریکشن کی تہیں چڑھاتا ہے یہاں تک کہ ایک موبائل چپ دھماکوں کو دکھانے کے بجائے پرانی ہدایاتوں کو ترجمہ کرنے میں اپنی زیادہ تر توانائی صرف کر دیتی ہے۔ ریشی کا پورٹ ان تمام چیزوں سے بچتا ہے۔

اصل گیم DirectX 8 پر ریلیز ہوئی تھی، جو کہ Microsoft کا ایک گرافکس پائپ لائن ہے جو آئی فون سے کئی سال پہلے کا ہے۔ ان رینڈرنگ کمانڈز کو Metal پر چلانا محض 'سرچ اینڈ ریپلیس' کا کام نہیں ہے۔ DirectX 8 اور Metal میموری کو مختلف طریقے سے ترتیب دیتے ہیں۔ وہ شایڈرز (shaders) کو مختلف طریقے سے ہینڈل کرتے ہیں۔ وہ مختلف ہارڈ ویئر آرکیٹیکچرز کو فرض کرتے ہیں۔ ریشی کو گیم کے گرافکس کو درمیانی ترجموں کی ایک زنجیر کے ذریعے گزارنا پڑا، تاکہ لیگیسی DirectX کالز کو ایسی چیز میں تبدیل کیا جا سکے جسے Metal نیچے موجود بصری منطق (visual logic) کو خراب کیے بغیر سمجھ سکے۔ نتیجہ یہ ہے کہ یہ مکمل Campaign، Skirmish، اور Generals Challenge موڈز کو انٹرفیس کے ساتھ نقش کیے گئے کسٹم ٹچ کنٹرولز کے ساتھ چلاتا ہے۔ آپ اپنے انگوٹھوں سے بیس بنا سکتے ہیں اور Scud storms لانچ کر سکتے ہیں۔

اس کی کچھ حدود ہیں۔ iPad پر طویل گیمنگ سیشنز کے دوران جب میموری کا دباؤ بڑھتا ہے تو ایپ کریش ہو سکتی ہے۔ ابتدائی نیٹیو پورٹس میں اکثر اس طرح کے نقص درپیش ہوتے ہیں، اور یہ ایک ایماندارانہ یاد دہانی ہے کہ چند گھنٹوں کی AI کی مدد سے کی گئی ڈی بگنگ (debugging) دو دہائیوں کے اثاثہ لوڈنگ پیٹرنز (asset loading patterns) کو مکمل طور پر بہتر نہیں بنا سکتی۔ پھر بھی، کور انجن اپنے طور پر مضبوط کھڑا ہے۔

ورک فلو: Claude Code، Fable 5، اور چالیس منٹ

رفتار ہی اصل خبر ہے، لیکن اس کے پیچھے موجود میکانزم وہ چیز ہے جو ہر کام کرنے والے ڈویلپر کی توجہ حاصل کرنی چاہیے۔ ریشی نے Anthropic کے Claude Code کے ساتھ Fable 5 نامی ٹول کا استعمال کیا۔ ابتدائی بلڈ (build) میں تقریباً چالیس منٹ لگے۔ ڈی بگنگ اور بہتری کے کام میں چند اضافی گھنٹے لگے۔ یہ پورے پروجیکٹ کا دورانیہ ہے۔

سوچیں کہ یہ کس چیز کا متبادل ہے۔ اس پیمانے کا ایک دستی پورٹ (manual port) عام طور پر ایک پروگرامر کے کئی دن صرف اصل بلڈ سسٹم کو نقش کرنے میں گزارنے سے شروع ہوتا ہے۔ پھر رینڈرر کو دوبارہ لکھنے کی باری آتی ہے۔ پھر شایڈر ٹرانسلیشن۔ پھر ARM64 کے لیے آرکیٹیکچر کی ایڈجسٹمنٹ۔ پھر ان پٹ ہینڈلنگ، آڈیو، میموری مینجمنٹ، اور وہ ہزاروں چھوٹی موٹی مشکلات جو لیگیسی کوڈ کو نئے پلیٹ فارمز کے لیے انتہائی مشکل بنا دیتی ہیں۔ اس عمل میں مہینے گزر جاتے ہیں۔ ریشی نے اسے ایک دوپہر میں سمیٹ دیا، ایک ایجنٹک AI ٹول کو سخت ترجمے کا کام کرنے دیا جبکہ خود رہنمائی کرتے رہے۔

اس کی شدت بلنگ میں نظر آئی۔ ریشی نے دو دن کے کام کے دوران اپنا پورا Claude Max کوٹہ ختم کر دیا۔ جس کسی نے بھی طویل کوڈنگ سیشن کے دوران اپنے API کریڈٹس کو غائب ہوتے دیکھا ہو، وہ اس احساس کو جانتا ہے۔ یہاں فرق یہ ہے کہ اس استعمال نے چند تجرباتی اسکرپٹس کے بجائے شپنگ کوالٹی (shipping-quality) کا نیٹیو پورٹ تیار کیا۔

ایک پیشہ ورانہ پہلو بھی ہے جو قابل ذکر ہے۔ ریشی Google DeepMind میں کام کرتے ہیں۔ وہ گوگل کے اپنے ماڈلز کا استعمال کر سکتے تھے۔ انہوں نے ایسا نہیں کیا۔ انہوں نے Anthropic کے Claude کا انتخاب کیا کیونکہ یہ کام کے لیے موزوں تھا۔ پروجیکٹ پر اپنے تبصروں میں انہوں نے واضح کیا کہ بہترین ممکنہ حل بنانے پر توجہ مرکوز کرتے ہوئے مقابلہ کرنے والے کا احترام کیا جا سکتا ہے۔ یہ رویہ پھیل رہا ہے۔ شعبے کے ماہر انجینئرز اب ماڈل کے معاملے میں غیر جانبدار (model agnostic) ہو رہے ہیں۔ وہ AI ٹولز کے ساتھ ویسا ہی سلوک کرتے ہیں جیسا کہ وہ پروگرامنگ زبانوں یا کلاؤڈ فراہم کنندگان کے ساتھ کرتے ہیں: اس کا انتخاب کریں جو کام کے مطابق ہو، نہ کہ اس کا جو آپ کے کمپنی بیج پر ہو۔

نیٹیو ٹرانسلیشن اب بھی کیوں