এই নির্দেশিকা বর্ণনা করে কিভাবে একটি গেমের আকার কমাতে হয়। ইনস্টলেশনের পরে, একটি ছোট গেম ডাউনলোড করতে কম সময় এবং কম ডেটা প্রয়োজন। এই উভয়ই উচ্চতর ইনস্টল রূপান্তরের দিকে পরিচালিত করে। Google গবেষণা দেখায় যে পরিবেশিত APK আকারে 6 MB বৃদ্ধির ফলে ইনস্টলের হার 1% কমে যায়। অনেক ডেভেলপার APK থেকে একটি বিষয়বস্তু ডেলিভারি নেটওয়ার্কে (CDN) সম্পদ স্থানান্তর করে, কিন্তু তারপর CDN হোস্ট করা এবং সম্পদ ব্যবস্থাপনা সিস্টেমের বিকাশ ও রক্ষণাবেক্ষণ উভয় ক্ষেত্রেই খরচ বহন করে।
একটি গেমের আকার কমাতে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:
- অ্যাপ বান্ডেল এবং প্লে অ্যাসেট ডেলিভারির মতো অপ্টিমাইজ করা ডেলিভারি পদ্ধতি ব্যবহার করুন ।
- গেমের বেসলাইন আকার নির্ধারণ করুন এবং এর গঠন বুঝুন ।
- সম্পদ এবং অন্যান্য ফাইলের জন্য অনুসন্ধান করুন যা আকারে হ্রাস করা যেতে পারে ।
- গ্রাফিক্স টেক্সচারগুলি পরিদর্শন করুন এবং অপ্টিমাইজেশানের সুযোগগুলি চিহ্নিত করুন ৷
- সম্পদের জন্য সাধারণ সুপারিশ অনুসরণ করুন।
অপ্টিমাইজ করা ডেলিভারি পদ্ধতি ব্যবহার করুন যেমন অ্যান্ড্রয়েড অ্যাপ বান্ডেল এবং প্লে অ্যাসেট ডেলিভারি
নিম্নলিখিত বিতরণ পদ্ধতি বিবেচনা করুন:
যদিও লিগ্যাসি প্রোজেক্টগুলি সাধারণত প্রকাশের জন্য একটি APK আউটপুট করে, Google Play-তে গেম প্রকাশ করার জন্য একটি Android অ্যাপ বান্ডেল ব্যবহার করা উচিত। অ্যাপ বান্ডেল প্রতিটি ব্যবহারকারীর ডিভাইস কনফিগারেশনের জন্য তৈরি করা অপ্টিমাইজ করা APK প্রদান করে। গড়ে, অ্যাপ বান্ডেলগুলি অ্যাপের আকার 20% কমিয়ে দেয়।
Google Play এর মাধ্যমে গেম সম্পদ পরিবেশন করতে এবং একাধিক GB পর্যন্ত অ্যাপ বান্ডেলের জন্য 200MB ডাউনলোড সাইজ সীমা অতিক্রম করতে, Play Asset Delivery (PAD) ব্যবহার করুন। কোন বাহ্যিক CDN এর প্রয়োজন নেই। PAD তিনটি স্বতন্ত্র বিতরণ পদ্ধতি সমর্থন করে, যার প্রতিটি একটি একক গেমে ব্যবহার করা যেতে পারে:
- ইনস্টল করার সময়: ইনস্টলেশনের পরে সম্পদ ডাউনলোড করুন। সম্পদগুলি সম্পদ প্যাকে প্যাকেজ করা হয়, যা অস্বচ্ছ বাইনারি ব্লব (OBB) ফাইলগুলির প্রতিস্থাপন।
- দ্রুত অনুসরণ করুন: ইনস্টলেশনের পরে সম্পদ ডাউনলোড করুন।
- অন-ডিমান্ড: গেমটি প্রয়োজন অনুযায়ী সম্পদ ডাউনলোড শুরু করে।
PAD এর প্রয়োজন যে গেমগুলি অ্যাপ বান্ডেল ফর্ম্যাট ব্যবহার করে প্যাকেজ করা হয়৷ PAD ডেভেলপারের CDN দ্বারা ব্যবহৃত ডেটার পরিমাণও কমাতে পারে (যদি এখনও প্রয়োজন হয়)।
প্রতিটি ব্যবহারকারীর ডিভাইস কনফিগারেশনের জন্য অপ্টিমাইজ করা APK তৈরি এবং পরিবেশন করতে Google Play Android অ্যাপ বান্ডেল ব্যবহার করে। এই অপ্টিমাইজ করা APKগুলিতে টেক্সচার সম্পদের একটি একক সেট অন্তর্ভুক্ত রয়েছে, যা ডিভাইসের জন্য সর্বোত্তম কম্প্রেশন ফর্ম্যাটের সাথে ফর্ম্যাট করা হয়েছে৷ ডিভাইসের বিস্তৃত অ্যারে সমর্থন করার জন্য বিভিন্ন টেক্সচার কম্প্রেশন ফর্ম্যাট সমর্থন করার জন্য আপনার অ্যাপ বান্ডেল কনফিগার করুন।
গেমের বেসলাইন আকার নির্ধারণ করুন এবং এর গঠন বুঝুন
গেমটির সাথে নিজেকে পরিচিত করতে, যেকোন প্রদত্ত অপ্টিমাইজেশনের জন্য প্রয়োজনীয় কাজের পরিমাণ নির্ধারণ করুন এবং গেমটি অতিরিক্ত সম্পদ ডাউনলোড করছে কিনা তা নির্ধারণ করুন, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:
- বিকাশকারী বা প্রকাশিত APK থেকে একটি প্রোডাকশন (নন-ডিবাগ) বিল্ড ব্যবহার করুন।
- বাইনারি ফাইলের আকার ডেভেলপারের দেওয়া বা, গেমটি প্রকাশিত হলে গেমের প্লে স্টোর পৃষ্ঠায় রেকর্ড করুন। APK আকারের জন্য, সবচেয়ে গুরুত্বপূর্ণ বিষয় হল প্রকৃত গেমটি চালানোর জন্য ব্যবহারকারীকে যে পরিমাণ ডেটা ডাউনলোড করতে হবে।
- একটি ডিভাইসে গেমটি ইনস্টল করুন এবং এটিকে প্রাথমিক গেম মেনুতে চালান। এই মুহুর্তে, অ্যান্ড্রয়েড ( সেটিংস > স্টোরেজের অধীনে) দ্বারা রিপোর্ট করা গেমের ইনস্টলের আকার পরীক্ষা করুন। কিছু গেমের একটি ছোট প্রাথমিক ইনস্টলের আকার থাকে, কারণ এটি অপ্টিমাইজ করার মূল সংখ্যা, তবে ইনস্টল করার পরে অতিরিক্ত ডেটা ডাউনলোড করুন। কিছু গেম ইনস্টল করার পরে একাধিক গিগাবাইট ডেটা ডাউনলোড করে।
- কিছু গেম আপনি খেলা শুরু করার পরেই ডেটা ডাউনলোড করে। প্রথমবার গেমটি খেলা একজন সাধারণ ব্যবহারকারীর জন্য গেমটি কতটা অতিরিক্ত ডেটা ডাউনলোড করে তা নির্ধারণ করতে আপনার গেমটি কিছুটা খেলা উচিত।
সম্পদ এবং অন্যান্য ফাইলের জন্য অনুসন্ধান করুন যা আকারে হ্রাস করা যেতে পারে
এই বিভাগটি বর্ণনা করে কিভাবে একটি APK-এ ফাইলের আকার কমাতে হয়। আপনি ডিভাইস-নির্দিষ্ট APK ডাউনলোড করতে App Bundle Explorer ব্যবহার করতে পারেন।
APK এ সরাসরি প্যাকেজ করা ফাইলের আকার কমাতে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:
- অ্যান্ড্রয়েড স্টুডিও APK বিশ্লেষক ব্যবহার করুন। অ্যান্ড্রয়েড স্টুডিওতে, ফাইল > প্রোফাইল বা ডিবাগ APK নির্বাচন করুন এবং আপনার APK নির্বাচন করুন।
- সম্পদ ফোল্ডার নির্বাচন করুন. প্রতিটি ফাইলের জন্য, কাঁচা ফাইলের আকার এবং মোট ডাউনলোড আকারের শতাংশ তালিকাভুক্ত করা হয়।
সম্পদ ফোল্ডারটি পর্যালোচনা করুন এবং গেমের বেশিরভাগ ডেটা কোথায় অবস্থিত তা নির্ধারণ করুন। অত্যধিক পরিমাণ স্থান (অর্থাৎ, মোটের 1% এর বেশি) গ্রহণ করে এমন কোনো সম্পদ আছে কিনা তা নির্ধারণ করুন। বিশেষ করে, নিম্নলিখিতগুলি সন্ধান করুন:
- বড় ছবি এবং ভিডিও ফাইল (উদাহরণস্বরূপ, PNG, JPEG, এবং mp4 ফাইল): এই ফাইলগুলি সাধারণত স্প্ল্যাশ স্ক্রিন, ব্যাকগ্রাউন্ড এবং লোগোতে ব্যবহৃত হয়। এই ফাইলগুলি বেশিরভাগ গেমগুলিতে খুব কমই ব্যবহৃত হয় এবং ব্যবহারকারীর অভিজ্ঞতাকে প্রভাবিত না করেই আরও সংকুচিত করা যেতে পারে। লসলেস পিএনজি ফাইলগুলি বিশেষভাবে বড় এবং কম্প্রেশনের জন্য চমৎকার প্রার্থী।
- বড় ফন্ট ফাইল (উদাহরণস্বরূপ, TTF ফাইল): আপনি ইমোজি সমর্থন যোগ করলে, এটি ফন্ট ফাইলের আকার উল্লেখযোগ্যভাবে বৃদ্ধি করতে পারে। যদি একটি ফন্ট ফাইল কয়েকশ কিলোবাইটের থেকে বড় হয়, তাহলে এর আকার কমানোর উপায় বিবেচনা করুন।
- ডুপ্লিকেট অডিও ফাইল ফরম্যাট বা সংস্করণ যা আপনি একত্রিত করতে পারেন।
যদি একাধিক অ্যাপ্লিকেশান বাইনারি ইন্টারফেস (ABIs) APK-এ অন্তর্ভুক্ত থাকে, তাহলে App Bundles- এ যান বা একাধিক APK তৈরি করুন।
বাইনারি শেয়ার্ড অবজেক্ট (.so) ফাইলের আকার নির্ধারণ করুন। বাইনারি ফাইলগুলি পরিদর্শন করার জন্য এমন কিছু আছে কিনা যা অন্তর্ভুক্ত করার প্রয়োজন নেই, যেমন লগ ফাইল, আপনি Bloaty McBloatface টুল ব্যবহার করতে পারেন। বাইনারি ফাইলগুলি কীভাবে অপ্টিমাইজ করা যায় সে সম্পর্কে আরও তথ্যের জন্য, কম্পাইল পতাকা এবং বিকল্পগুলি পড়ুন।
সমর্থিত গ্রাফিক্স ফরম্যাটের জন্য Android ম্যানিফেস্ট ফাইল পর্যালোচনা করুন। APK-এ একাধিক
<supports-gl-texture>
ট্যাগ আছে কিনা তা নির্ধারণ করুন। গেমটি যদি একটি APK-এ একাধিক GPU-এর ফর্ম্যাট সমর্থন করে, তাহলে Binomial's Basis Universal ব্যবহার করার কথা বিবেচনা করুন। এই GPU টেক্সচার কম্প্রেশন সিস্টেমটি একটি মধ্যবর্তী বিন্যাসে টেক্সচার ফাইল তৈরি করে যা দ্রুত GPU-তে ট্রান্সকোড করা যায়।
গ্রাফিক্স টেক্সচার পরিদর্শন করুন এবং অপ্টিমাইজেশনের জন্য সুযোগগুলি চিহ্নিত করুন
গেমটিতে ব্যবহৃত গ্রাফিক্স টেক্সচারগুলি অপ্টিমাইজ করা যায় কিনা তা নির্ধারণ করার জন্য প্রয়োজনীয় সরঞ্জাম এবং পদ্ধতিগুলি এই বিভাগে বর্ণনা করে৷
গেমের টেক্সচারগুলি পরিদর্শন করতে, Android GPU Inspector (AGI), RenderDoc , বা, শুধুমাত্র Qualcomm Snapdragon GPU-গুলির জন্য, Snapdragon প্রোফাইলার ব্যবহার করুন৷
নিম্নলিখিত জন্য দেখুন:
- টেক্সচার যেগুলিকে একটি ছোট রেজোলিউশনে আকার পরিবর্তন করা যেতে পারে, যেমন একটি বড় টেক্সচার যা গেমে শুধুমাত্র একটি ছোট আকারে রেন্ডার করা হয়। ডাউনস্যাম্পলিং টেক্সচার গণনাগতভাবে ব্যয়বহুল।
- একাধিক ছোট টেক্সচারের ব্যবহার যা একটি একক টেক্সচার মানচিত্রে একত্রিত করা যেতে পারে।
- টেক্সচার যা কালার চ্যানেলে কম বিট ব্যবহার করতে পারে। ভাল প্রার্থী কয়েক, কঠিন অঙ্গবিন্যাস সঙ্গে টেক্সচার হয়. গ্রেডিয়েন্ট এবং রঙের শেডের জন্য রেজোলিউশনের আরও বিট প্রয়োজন, এবং তাই ভাল প্রার্থী নয়।
- ETC1 থেকে ETC2 এবং ASTC পর্যন্ত আরও ভাল টেক্সচার কম্প্রেশন অ্যালগরিদমগুলি অন্বেষণ করুন৷
মেমরি সংরক্ষণ করতে নিম্ন প্রান্তের ডিভাইসে টেক্সচার লোড করার সময় উপরের মিপম্যাপ স্তরটি বাতিল করুন। ইউনিটির টেক্সচার স্ট্রিমিং সিস্টেম এটি করতে পারে।
আপনি যদি ইতিমধ্যে এটি না করে থাকেন, সমর্থিত গ্রাফিক্স ফর্ম্যাটের জন্য Android ম্যানিফেস্ট ফাইলটি পর্যালোচনা করুন৷ APK-এ একাধিক
<supports-gl-texture>
ট্যাগ আছে কিনা তা নির্ধারণ করুন। গেমটি যদি একটি APK-এ একাধিক GPU-এর ফর্ম্যাট সমর্থন করে, তাহলে Binomial's Basis Universal ব্যবহার করার কথা বিবেচনা করুন। এই GPU টেক্সচার কম্প্রেশন সিস্টেমটি একটি মধ্যবর্তী বিন্যাসে টেক্সচার ফাইল তৈরি করে যা দ্রুত GPU-তে ট্রান্সকোড করা যায়।
সম্পদের জন্য সাধারণ সুপারিশ
একটি APK এর সম্পদের জন্য এই সুপারিশগুলি অনুসরণ করুন:
- ছবি, অডিও, এবং ভিডিও সম্পদ (GPU টেক্সচার নয়): সম্পদের আকার পরিবর্তন করা বা আরও বেশি সংকুচিত করা যায় কিনা তা নির্ধারণ করুন। উচ্চ কম্প্রেশন অনুপাত সাধারণত গেমের জন্য গ্রহণযোগ্য। ক্ষতিহীন PNG ফাইলগুলি বিশেষভাবে বড় এবং তাই কম্প্রেশনের জন্য চমৎকার প্রার্থী।
- ইমেজ সম্পদ (GPU টেক্সচার নয়): WEBP ব্যবহার করে বিবেচনা করুন, ক্ষতিকর এবং ক্ষতিহীন উভয় কম্প্রেশনের জন্য একটি ইমেজ কম্প্রেশন ফরম্যাট। ক্ষতিকারক WEBP JPG এর চেয়ে 25% থেকে 34% বেশি ছবিকে সংকুচিত করে।
- টেক্সচার রেজোলিউশন হ্রাস করুন: পিক্সেলের সংখ্যার চেয়ে অনেক বড় একটি টেক্সচার যা শেষ পর্যন্ত স্ক্রীনে রেন্ডার হয় স্থান এবং GPU সম্পদের অদক্ষ ব্যবহার। একটি টেক্সচার পরিবর্তন করতে এবং গেমটি পুনর্নির্মাণের প্রয়োজন ছাড়াই একটি ফ্রেমে কেমন দেখাচ্ছে তা দেখতে, AGI ব্যবহার করুন৷
- গ্রাফিক্সের টেক্সচার ফরম্যাট পরিবর্তন করুন: টেক্সচার ফরম্যাট ব্যবহার করুন যা প্রতি চ্যানেলে কম বিট ব্যবহার করে। উদাহরণস্বরূপ, ARGB-এর মতো 32-বিট টেক্সচার ফর্ম্যাটের পরিবর্তে RGB565-এর মতো 16-বিট টেক্সচার ফর্ম্যাট ব্যবহার করুন। আরও তথ্যের জন্য, নিম্নলিখিতগুলি পড়ুন:
অতিরিক্ত সম্পদ
- সাম্প্রতিক অ্যান্ড্রয়েড অ্যাপ বান্ডেলের উন্নতি এবং Google Play-তে নতুন অ্যাপের টাইমলাইন
- অ্যান্ড্রয়েড তাত্ক্ষণিক গেমগুলিতে APK আকার হ্রাস করুন
- GPU-ডিকোডেবল সুপারকম্প্রেসড টেক্সচার (গবেষণা পত্র)