گیم ڈیولپمنٹ
اپنی گیم اور اس کے سسٹمز بنائیں اور ان کے مالک بنیں، سبسکرپشن کے بجائے
چیلنجز
- ڈالر میں ماہانہ سبسکرپشن والے غیر ملکی اوزاروں اور پلیٹ فارمز پر انحصار جو لاگت بڑھا دیتا ہے۔
- کھیل کے اندر مقامی ادائیگیاں (mada، Apple Pay) چلانا اور انہیں الیکٹرانک انوائسنگ سے جوڑنا مشکل۔
- بڑی ٹیم کے بغیر کھلاڑیوں کی کمیونٹی اور تکنیکی مدد بنانا۔
- واضح تجزیاتی لوحے کے بغیر کھلاڑیوں کے رویّے کی نگرانی اور انہیں روکے رکھنا۔
- اشاعت، اپ ڈیٹس اور موسمی مواد کا ہاتھ سے انتظام ٹیم کا وقت کھا جاتا ہے۔
وہ نظام جو آپ بنا سکتے ہیں
- اسٹوڈیو کا اندرونی کنٹرول پینل (وہ اسکرین جہاں سے کھیل، کھلاڑی اور آمدنی چلائیں)۔
- کھلاڑیوں کے اکاؤنٹ، پیش رفت اور سرِفہرست بورڈ محفوظ کرنے کے لیے بیک اینڈ (API) اور ڈیٹابیس۔
- رجسٹریشن، خریداری اور مدد کے لیے بیرونی کھلاڑی پورٹل (ویب سائٹ/موبائل ایپ)۔
- کھیل کے اندر اسٹور جو mada/Apple Pay سے جڑا ہو، الیکٹرانک انوائس (ZATCA) کے ساتھ۔
- مدد اور اطلاعات کے لیے واٹس ایپ آٹومیشن اور کھلاڑیوں کو روکے رکھنے کی مہمات۔
- کھلاڑیوں کے رویّے، ٹھہرنے کی شرح اور خرچ کا تجزیاتی لوحہ۔
تیار ہدایات: کاپی کریں اور Uttra میں پیسٹ کریں
اسٹوڈیو کا آپریشن لوحہ (LiveOps)
مجھے کسی گیم اسٹوڈیو کے لیے ایسا اندرونی آپریشن لوحہ (LiveOps) بناؤ جہاں سے میں زندہ مواد، موسمی تقریبات، خصوصیات کے جھنڈے (Feature Flags) اور کھیل کے توازن کی ترتیب دوبارہ اشاعت کے بغیر سنبھالوں۔ مجھے ایسا باریک کردار و اختیارات کا نظام (RBAC) چاہیے جو تقریب کے ڈیزائنر، کمیونٹی منیجر اور ڈیٹا تجزیہ کار کو الگ کرے، محفوظ لاگ اِن، دو مرحلی تصدیق اور ہر تبدیلی کے آڈٹ ریکارڈ (audit log) کے ساتھ جو بتائے کس نے کیا اور کب بدلا۔ ڈیٹابیس اچھی طرح انڈیکس کرو اور زندہ کھیل کی ترتیبات کے لیے کیشنگ کی تہہ شامل کرو تاکہ لاکھوں کھلاڑی انہیں تیزی سے پڑھیں، اجتماعی اپ ڈیٹس اور شیڈول شدہ تقریبات دھکیلنے کے لیے ٹاسک قطاروں (queues) کے ساتھ۔ سلامتی کا خیال رکھو: ڈیٹا کی خفیہ کاری، درخواستوں کی حد (rate limiting)، انجیکشن اور CSRF حملوں سے حفاظت، اور خودکار باقاعدہ بیک اپ۔ انٹرفیس اردو میں ہو، انگریزی سپورٹ اور مکمل رسائی کے ساتھ، اور ایسا نگرانی لوحہ (observability) ہو جو نظاموں کی صحت اور غلطیاں حقیقی وقت میں دکھائے۔ اہم راستوں کے ٹیسٹ اور ٹیم کے چلانے کے لیے مختصر دستاویز شامل کرو، سب کچھ پروڈکشن کے لیے تیار ہو اور کوڈ مکمل طور پر میرا ہو۔
کھلاڑیوں کا پورٹل اور متحد اکاؤنٹ
مجھے ایسا بیرونی کھلاڑی پورٹل (ویب سائٹ + PWA) بناؤ جس میں متحد اکاؤنٹ (Single Sign-On) ہو جو اسٹوڈیو کے سب کھیلوں کو ایک ہی شناخت سے جوڑ دے، تو کھلاڑی ایک بار رجسٹر ہو اور سب کھیلوں میں داخل ہو۔ مجھے ای میل اور موبائل نمبر سے OTP تصدیق کے ساتھ محفوظ رجسٹریشن، منسوخ ہونے کے قابل تقسیم شدہ سیشن (tokens) کا انتظام، اور ایسے کردار و اختیارات چاہییں جو عام کھلاڑی، نگران اور سپورٹ کو الگ کریں۔ پورٹل پروفائل، کارنامے، خریداریاں اور سپورٹ ٹکٹ دکھائے، اور mada و Apple Pay کی سہولت دینے والے مقامی پیمنٹ گیٹ وے (Moyasar یا HyperPay) سے جڑے، ہر عمل کے بعد ZATCA کے مطابق الیکٹرانک انوائس کے ساتھ۔ ڈھانچہ زیادہ بوجھ سہنے کے لیے بناؤ: انڈیکس شدہ ڈیٹابیس جو بڑھنے پر تقسیم ہو سکے، پروفائل صفحات کی کیشنگ، اثاثوں اور تصاویر کے لیے کنٹینٹ ڈیلیوری نیٹ ورک (CDN)، اور اطلاعات جیسے بھاری کاموں کے لیے قطاریں۔ سلامتی (پاس ورڈ کی خفیہ کاری، rate limiting، عام حملوں سے حفاظت، بیک اپ)، کارکردگی اور رفتار کا خیال رکھو؛ انٹرفیس اردو میں ہو، انگریزی سپورٹ اور مکمل رسائی کے ساتھ، نگرانی اور ریکارڈ کے ساتھ۔ ٹیسٹ اور مختصر دستاویز کے ساتھ پروڈکشن کے لیے تیار کرو، اور کوڈ میرا ہو۔
آٹومیشن اور روکے رکھنے کی انجن
مجھے کھلاڑیوں کو روکے رکھنے کی ایسی آٹومیشن انجن بناؤ جو انہیں ڈیٹابیس میں ان کے رویّے کی بنیاد پر متحرک شریحوں (نیا کھلاڑی، رکا ہوا کھلاڑی، بڑا خرچ کرنے والا، جانے کے قریب) میں بانٹے، اور واٹس ایپ، SMS اور کھیل کے اندر اطلاعات کے ذریعے خودکار پیغام کے سفر چلائے۔ مجھے ایسا بصری سفر مدیر چاہیے جو محرکات (triggers)، تاخیریں اور شرائط طے کرے، ایسے کردار و اختیارات کے ساتھ جو مہمات چلانے کو مجاز افراد تک محدود رکھیں، اور محفوظ لاگ اِن۔ واٹس ایپ اور SMS کو سیکرٹ اسٹور کی API چابیوں سے جوڑو، اور نظاموں کو ڈبوئے بغیر لاکھوں پیغامات بھیجنے کے لیے ٹاسک شیڈولنگ اور قطاریں (queues) استعمال کرو، کھلاڑیوں کی شریحوں کی کیشنگ اور بھاری سوالوں کے لیے انڈیکس شدہ ڈیٹابیس کے ساتھ۔ ہر سفر کے ٹھہرنے اور خرچ پر اثر ناپنے کے لیے A/B ٹیسٹ اور نتائج دکھانے والا لوحہ شامل کرو۔ سلامتی (خفیہ کاری، rate limiting، بدسلوکی سے حفاظت، بیک اپ)، کارکردگی، انگریزی سپورٹ و رسائی کے ساتھ اردو انٹرفیس، اور تفصیلی نگرانی و ریکارڈ کا خیال رکھو۔ مختصر دستاویز اور ٹیسٹ کے ساتھ پروڈکشن کے لیے تیار کرو، اور کوڈ میرا ہو۔
کھلاڑی کی ساتھی ایپ (Companion)
مجھے کھلاڑیوں کے لیے ایسی ساتھی موبائل ایپ (Expo) بناؤ جہاں سے وہ کھیل کے باہر اپنی پیش رفت، سرِفہرست بورڈ اور روزانہ کے کام دیکھیں، اور تقریبات و پیشکشوں کی اطلاعات پائیں۔ مجھے متحد اکاؤنٹ سے جڑا محفوظ لاگ اِن، کردار و اختیارات، اور اینڈرائیڈ و iOS پر رواں پیشہ ورانہ تجربہ چاہیے۔ ایپ کھلاڑی کا پروفائل، کارنامے اور خریداریوں کا ریکارڈ دکھائے، mada اور Apple Pay سے ZATCA انوائس کے ساتھ خریداری کی اجازت دے، اور سپورٹ ٹکٹ کھولے۔ بیک اینڈ لاکھوں سیشن سہنے کے لیے بناؤ: انڈیکس شدہ API، سرِفہرست بورڈ اور بار بار کے ڈیٹا کی کیشنگ، اثاثوں کے لیے کنٹینٹ ڈیلیوری نیٹ ورک (CDN)، اور ترتیب کی بھاری تازہ کاریوں کے لیے قطاریں، ایسے سرِفہرست بورڈ کے ساتھ جو لمحہ بہ لمحہ تازہ ہوں۔ سلامتی (خفیہ کاری، rate limiting، عام حملوں سے حفاظت، بیک اپ)، کارکردگی و رفتار، انگریزی سپورٹ و رسائی کے ساتھ اردو انٹرفیس، اور نگرانی، تجزیات و ریکارڈ کا خیال رکھو۔ ٹیسٹ اور مختصر دستاویز کے ساتھ پروڈکشن کے لیے تیار کرو، اور کوڈ میرا ہو جسے جب چاہوں ایکسپورٹ کروں۔
لاکھوں تک پھیلنے والا گیم بیک اینڈ
مجھے کھیل کا ایسا بیک اینڈ (API) بناؤ جو بنیاد ہی سے لاکھوں بیک وقت کھلاڑیوں تک پھیلنے کے لیے ڈیزائن ہو، اور اکاؤنٹ، پیش رفت، سامان (inventory)، سرِفہرست بورڈ اور کھیل کے اندر کی معیشت محفوظ رکھے۔ مجھے تقسیم شدہ ڈھانچہ چاہیے: انڈیکس شدہ ڈیٹابیس جو بڑھنے پر تقسیم پذیر ہو (sharding/partitioning)، ریڈ ریپلیکا، سیشنز اور گرم ڈیٹا کے لیے کیشنگ کی تہہ (Redis)، ترتیب کے حساب اور انعامات کی پروسیسنگ جیسے بھاری کاموں کے لیے ٹاسک قطاریں (queues)، اور ساکن اثاثوں کے لیے کنٹینٹ ڈیلیوری نیٹ ورک (CDN)۔ لوڈ بیلنسر کے پیچھے بے حالت (stateless) واجہات بناؤ تاکہ افقی طور پر بڑھیں، دھوکہ دہی سے حفاظت (anti-cheat) اور واقعات کی سرور پر تصدیق کے ساتھ۔ باریک کردار و اختیارات، ٹوکن سے محفوظ لاگ اِن، اور مکمل سلامتی: خفیہ کاری، سخت درخواستوں کی حد (rate limiting)، DDoS اور عام حملوں سے حفاظت، بیک اپ اور آفات کے بعد بحالی۔ پیمانوں، وارننگ کے لوحوں اور تقسیم شدہ ریکارڈ کے ساتھ جامع نگرانی (observability) شامل کرو، اور گنجائش کی حدیں اور لوڈ ٹیسٹ (load testing) دستاویز کرو۔ منتظم انٹرفیس اردو میں ہوں، انگریزی سپورٹ کے ساتھ، پروڈکشن کے لیے تیار، اور کوڈ مکمل طور پر میرا۔
گیم ڈیولپمنٹ کے بارے میں سوالات
آپ اپنا خیال Uttra کو اپنی زبان میں بتاتے ہیں اور وہ ڈیٹابیس سے جڑا ایک اندرونی کنٹرول پینل (وہ اسکرین جہاں سے سب چلتا ہے) بنا دیتا ہے۔ • آپ فعال کھلاڑیوں کی تعداد اور روزانہ آمدنی دیکھتے ہیں۔ • مواد اور موسمی پیشکشیں سنبھالتے ہیں۔ • ہر ملازم کو اس کے کردار کے مطابق اختیار دیتے ہیں۔ اور کوڈ آپ کا ہے؛ جب چاہیں ایکسپورٹ کریں یا GitHub سے جوڑ دیں۔
Uttra آپ کے لیے ایسا بیک اینڈ (API) اور ڈیٹابیس (SQLite یا PostgreSQL) بناتا ہے جہاں کھلاڑیوں کے اکاؤنٹ، کھیل میں ان کی پیش رفت اور ان کے نمبر محفوظ ہوں۔ آپ کا کھیل اسی API سے جڑ کر لاگ اِن کرتا ہے، پیش رفت محفوظ کرتا ہے اور سرِفہرست بورڈ براہِ راست دکھاتا ہے۔ سب کچھ آپ کے پاس اور آپ کا ہے، کسی تیار خدمت کی سبسکرپشن دیے بغیر۔
آپ بیرونی کھلاڑی پورٹل ویب سائٹ، موبائل ایپ (Expo) یا PWA (براؤزر سے چلنے والی ایپ) کے طور پر بنا سکتے ہیں۔ • کھلاڑی کی رجسٹریشن اور داخلہ۔ • پروفائل اور خریداریوں کا صفحہ۔ • تکنیکی مدد کے ٹکٹ۔ سب کچھ اسی ڈیٹابیس اور اندرونی کنٹرول پینل سے جڑا ہوا۔
آپ کوئی مقامی پیمنٹ گیٹ وے (جیسے Moyasar یا HyperPay جو mada اور Apple Pay کی سہولت دیتے ہیں) ایسی API کی سے جوڑتے ہیں جو Uttra کے سیکرٹ اسٹور میں رکھی ہو۔ ہر خریداری کے بعد کھلاڑی کو ٹیکس ادارے (ZATCA) کے مطابق الیکٹرانک انوائس ملتی ہے۔ لائسنس والے معاملات سرکاری خدمت سے اس کی چابی کے ذریعے جڑتے ہیں، اور بہاؤ Uttra ترتیب دیتا ہے۔
آپ واٹس ایپ اور SMS کو ان کی چابیوں سے سیکرٹ اسٹور میں جوڑتے ہیں، اور بار بار چلنے والی آٹومیشن کے لیے ٹاسک شیڈولنگ استعمال کرتے ہیں۔ • نئے کھلاڑی کو خودکار خوش آمدید۔ • جو کھلاڑی کچھ دن سے نہیں کھیلا، اسے یاد دہانی۔ • موسمی پیشکشوں اور اپ ڈیٹس کی اطلاع۔ یہ سب بغیر دستی مداخلت چلتا ہے۔
Uttra آپ کے لیے ایسا تجزیاتی لوحہ بناتا ہے جو اپنا ڈیٹا سیدھا آپ کے ڈیٹابیس سے کھینچے۔ اس میں آپ کھلاڑیوں کے ٹھہرنے کی شرح (Retention)، وہ مرحلے جہاں وہ سب سے زیادہ چھوڑتے ہیں، اور فی کھلاڑی اوسط خرچ دیکھتے ہیں۔ کھیل کے ڈیزائن اور پیشکشوں کے لیے اندازوں کے بجائے صاف فیصلے۔
زیادہ تر تیار گیم اوزار ڈالر میں ماہانہ سبسکرپشن ہوتے ہیں جو آپ کے کھلاڑی بڑھنے کے ساتھ بڑھتے ہیں۔ Uttra کے ساتھ آپ نظام ایک بار بناتے اور کوڈ کے مالک بنتے ہیں، تو سبسکرپشن کا رساؤ رک جاتا ہے اور لاگت آپ کے قابو میں آ جاتی ہے۔ بات سادہ ہے: «کرائے کی ٹیکنالوجی کو خدا حافظ» — کرائے کے بجائے بنائیں اور مالک بنیں۔
اُس بنیاد سے شروع کریں جو فوراً کام آئے: • پہلے کھلاڑیوں کے اکاؤنٹ، پیش رفت اور سرِفہرست بورڈ کے لیے سادہ بیک اینڈ۔ • پھر اندرونی کنٹرول پینل جہاں سے کھلاڑی اور آمدنی دیکھیں۔ • اس کے بعد اسٹور اور ادائیگی، پھر آٹومیشن اور تجزیات۔ ہر قدم اپنی زبان میں بتائیں اور Uttra بنا دے، اور سب کچھ صفر سے دہرائے بغیر بتدریج بڑھیں۔
سنہری اصول: کلائنٹ (کھلاڑی کے آلے پر موجود کھیل) پر کبھی بھروسہ نہ کریں، اور ہر چیز سرور پر جانچیں۔ Uttra آپ کے لیے ایسا بیک اینڈ بناتا ہے جو یہ عملاً نافذ کرے: • نمبر اور انعام کھیل میں نہیں بلکہ سرور پر حساب کرتا ہے، اور ہر غیر منطقی واقعہ رد کر دیتا ہے (ممکن سے زیادہ نمبر، بغیر تصدیق شدہ ادائیگی کے خریداری)۔ • شے دینے سے پہلے ادائیگیاں سیدھے پیمنٹ گیٹ وے (Moyasar/HyperPay) سے تصدیق کرتا ہے، تو خریداری جعلی نہیں ہو سکتی۔ • درخواستوں کی حد (rate limiting) لگاتا ہے اور غیر معمولی نمونے پکڑتا ہے (ایک کھلاڑی سیکنڈ میں سیکڑوں درخواستیں بھیجے)۔ • رابطہ خفیہ کرتا ہے اور حساس واقعات پر دستخط کرتا ہے تاکہ راستے میں بدلے نہ جا سکیں۔ اور یہ سب وہ کوڈ ہے جس کے مالک آپ ہیں اور جسے آپ بڑھاتے ہیں، کسی کرائے کی خدمت کی حفاظت پر انحصار کرنے کے بجائے۔
چوٹی اُن نظاموں کو توڑ دیتی ہے جو ایک ہی ڈیٹابیس پر بنے ہوں جو ہر درخواست سیدھی وصول کرے۔ Uttra ایسا ڈھانچہ بناتا ہے جو لہر سہہ جائے: • سرِفہرست بورڈ اور کھیل کی ترتیبات جیسے بار بار کے ڈیٹا کی کیشنگ، تو ہر درخواست پر ڈیٹابیس نہ تھکے۔ • ٹاسک قطاریں (queues) جو بھاری کام (ترتیب کا حساب، انعامات، اطلاعات) لے کر بتدریج نمٹائیں، ایک ساتھ ڈھے جانے کے بجائے۔ • بے حالت خدمات جو افقی طور پر بڑھیں: دباؤ کے وقت API کی زیادہ نقول چلائیں اور بعد میں گھٹا دیں۔ • کنٹینٹ ڈیلیوری نیٹ ورک (CDN) جو تصاویر اور اثاثے کھلاڑی کے قریب ترین مقام سے پیش کرے۔ اور ہم اجرا سے پہلے لوڈ ٹیسٹ شامل کرتے ہیں تاکہ گنجائش کی حد تجربے میں معلوم ہو، اجرا کے دن نہیں۔
سادہ شروع کریں مگر ایسے ڈیزائن کے ساتھ جو بڑھنے کی گنجائش رکھے؛ وہ پیچیدگی نہ بنائیں جس کی ابھی ضرورت نہیں۔ Uttra کے ساتھ عملاً: • آغاز میں اچھی طرح انڈیکس شدہ جدولوں کے ساتھ SQLite یا PostgreSQL پہلے چند ہزار کھلاڑیوں کے لیے بالکل کافی ہے۔ • ہم کھیل کے منطق کو صاف API تہہ کے ذریعے ڈیٹابیس سے الگ رکھتے ہیں، تو بعد کی ترقی سب کچھ دوبارہ لکھنے پر مجبور نہیں کرتی۔ • بڑھنے پر ریڈ ریپلیکا اور کیشنگ کے ساتھ PostgreSQL پر جاتے ہیں، اور اصل ضرورت پڑنے پر بڑی جدولوں کی تقسیم (partitioning) کرتے ہیں۔ خیال یہ ہے: ابھی صاف ڈھانچہ، اور ضرورت ظاہر ہونے پر بتدریج پھیلاؤ — کیونکہ کوڈ آپ کا ہے، آپ ہر قدم پر قابو رکھتے ہیں، کسی تیار خدمت کی حدوں کے قیدی نہیں ہوتے۔
متعلقہ شعبے
- ٹیکنالوجی اور اسٹارٹ اپسسبسکرپشن دینے کے بجائے اپنی ٹیک پروڈکٹ بنائیں اور اس کے مالک بنیں
- فلم اور پروڈکشناپنی پروڈکشن، ٹیم اور فوٹیج ایک ہی جگہ سے سنبھالیں
- تفریح اور تفریحی مقاماتسبسکرپشن دینے کے بجائے اپنا ٹکٹنگ اور بکنگ سسٹم خود بنائیں
- تعلیم اور تربیتتعلیمی سسٹمز کرائے پر لینے کے بجائے ان کے مالک بنیں