لعبة فيها كواكب أكتر من عدد النجوم اللي تقدر تعدها في عمرك، وحجمها على الجهاز مش بيتجاوز كذا جيجا. إزاي ده أصلاً ممكن؟
No Man's Sky طلعت تحديث اسمه Cosmos، وده فرصة نتكلم عن سر اللعبة دي اللي كل مطور لازم يعرفه.
المشكلة الأصلية: لو حد قرر يخزن بيانات مليارات الكواكب (تضاريسها، ألوانها، كائناتها) بشكل مباشر، كان محتاج تخزين (Storage) يتقاس بالبيتابايت، يعني ملايين الجيجابايتات، وده مستحيل عملياً على جهاز أي لاعب عادي.
الحل: فكرة اسمها Procedural Generation. بدل ما تخزن الكوكب جاهز، تخزن بس 'المعادلة' أو الـ Seed اللي تولد بيها الكوكب وقت ما اللاعب يدخله. يعني اللعبة بتبني الكوكب لحظة بلحظة قدامك، مش قبل كده.
طيب الـ Trade-off فين؟ توليد الكون وقت التشغيل (On-demand) بيحمل الجهاز شغل حوسبة إضافي كل ثانية (يعني بياخد من قوة المعالج بدل ما ياخد من مساحة التخزين). فانت هنا بتبادل مساحة التخزين بقوة المعالجة، وده بالظبط نفس القرار اللي بيواخده أي مهندس بيبني نظام كبير: تخزن كل حاجة جاهزة، ولا تحسبها كل مرة؟
نفس المبدأ ده بيتطبق في تصميم الأنظمة الحقيقية، من الـ Caching لحد بناء الـ APIs الكبيرة.
🔗 Original Source & Reference: https://www.nomanssky.com/cosmos-update/
Published automatically via FeedMind AI Content Pipeline.
Top comments (0)