আপনি যদি একটি গেম ইঞ্জিন বিকাশ বা কাস্টমাইজ করতে C বা C++ ব্যবহার করেন, তাহলে নিম্নলিখিত প্রয়োজনীয়তাগুলি আপনার গেম ইঞ্জিনে Android সমর্থন সংহত করার জন্য গুরুত্বপূর্ণ।
- অ্যান্ড্রয়েড ডেভেলপমেন্ট টুলের সুবিধা নিন
- একটি কার্যকলাপ গঠন
- পর্দায় আঁকুন
- প্রক্রিয়া ইনপুট ঘটনা
- আউটপুট অডিও
- মেমরি পরিচালনা করুন
- পরীক্ষা এবং পোলিশ
- Google Play-এ প্রকাশ করুন
এই পৃষ্ঠায় বর্ণিত প্রয়োজনীয়তাগুলি আপনাকে স্ক্র্যাচ থেকে একটি গেম ইঞ্জিন কীভাবে বিকাশ করতে হয় তা শেখায় না, বরং অন্যান্য প্ল্যাটফর্মের তুলনায় অ্যান্ড্রয়েড তুলনামূলকভাবে অনন্য এমন ক্ষেত্রগুলিকে চিহ্নিত করে৷
অ্যান্ড্রয়েড ডেভেলপমেন্ট টুলের সুবিধা নিন
অ্যান্ড্রয়েড স্টুডিওতে আপনি ব্যবহার করতে পারেন এমন সরঞ্জামগুলি অন্তর্ভুক্ত করে:
- আপনার প্রকল্প কনফিগার করুন
- আপনার গেম তৈরি করুন, ডিবাগ করুন এবং প্যাকেজ করুন
- সিস্টেম, CPU, এবং মেমরি প্রোফাইলার ব্যবহার করে আপনার গেমের কর্মক্ষমতা পরীক্ষা করুন
- আপনার গেমের প্যাকেজ বা অ্যাপ্লিকেশন বান্ডেলের বিষয়বস্তু পরিদর্শন করুন
- Android SDK এবং NDK-এর অতিরিক্ত বৈশিষ্ট্যগুলিকে একীভূত করুন৷
অ্যান্ড্রয়েড গ্রাফিক্স ইন্সপেক্টর আপনার গেমের রেন্ডারিং পারফরম্যান্সকে চিহ্নিত করতে পারে এবং ফ্রেম প্রোফাইলিং ব্যবহার করে রেন্ডার করা ফ্রেমের বিশদ তদন্তে সহায়তা করতে পারে।
আপনি যদি প্রাথমিকভাবে মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও ব্যবহার করেন তবে বিদ্যমান প্রকল্পগুলিতে একটি অ্যান্ড্রয়েড লক্ষ্য যুক্ত করতে আপনি অ্যান্ড্রয়েড গেম ডেভেলপমেন্ট এক্সটেনশন (এজিডিই) ব্যবহার করতে পারেন। AGDE ভিজ্যুয়াল স্টুডিওতে নেটিভ ডিবাগিং সমর্থন করে এবং এতে অনেকগুলি অ্যান্ড্রয়েড স্টুডিও প্রোফাইলিং টুলের স্বতন্ত্র সংস্করণ অন্তর্ভুক্ত রয়েছে।
একটি কার্যকলাপ গঠন
আপনার গেমটিকে একটি Activity
তৈরি এবং তার সাথে ইন্টারঅ্যাক্ট করতে হবে৷ কখন কোন ক্রিয়াকলাপ তৈরি করা হয়, শুরু করা হয়, পুনরায় শুরু করা হয়, বিরতি দেওয়া হয়, বন্ধ করা হয় এবং ধ্বংস করা হয় তা বোঝার জন্য অ্যান্ড্রয়েডে অ্যাক্টিভিটি লাইফসাইকেল সম্পর্কে জানুন।
GameActivity
লাইব্রেরি সম্পর্কে পড়ুন, যা নেটিভ C বা C++ গেম ইঞ্জিনগুলির Activity
-সম্পর্কিত চাহিদা (গেম উইন্ডো, লাইফসাইকেল, রেন্ডারিং, হ্যান্ডলিং ইভেন্ট) একত্রিত করে এবং পূরণ করে।
পর্দায় আঁকুন
আপনার খেলা পর্দায় বস্তু এবং sprites আঁকা প্রয়োজন. অ্যান্ড্রয়েড SurfaceView
এবং আপনার গেম ইঞ্জিনে গ্রাফিক্স কনফিগার করার পদ্ধতি সম্পর্কে জানুন।
অ্যান্ড্রয়েড ডিভাইস বিভিন্ন ডিসপ্লে রিফ্রেশ রেট সমর্থন করে। ফ্রেম ড্রপ এবং ফ্রেম বাফার গ্লিচ প্রতিরোধ করতে গেম লুপগুলিতে রেন্ডারিং সম্পর্কে জানুন৷
OpenGL এবং Vulkan-এ মসৃণ রেন্ডারিংয়ের জন্য ফ্রেম পেসিং কীভাবে অর্জন করা যায় সে সম্পর্কে পড়ুন। পারফরম্যান্স টিউনার দিয়ে আপনার ফ্রেম রেট অপ্টিমাইজ করুন ।
আপনার রেন্ডারিংয়ের গুণমান উন্নত করতে মাল্টিস্যাম্পল অ্যান্টি-আলিয়াসিং (MSAA) ব্যবহার করুন। MSAA খুব সামান্য ওভারহেড ব্যবহার করা যেতে পারে। আরও জানতে, ব্লগ পোস্টটি দেখুন মাল্টিস্যাম্পল্ড অ্যান্টি-অ্যালিয়াসিং ফর মোস্ট ফ্রী — অন টাইল-ভিত্তিক রেন্ডারিং হার্ডওয়্যার ।
প্রক্রিয়া ইনপুট ঘটনা
একটি গেম ইঞ্জিন বিভিন্ন উৎস থেকে ইনপুট ইভেন্ট গ্রহণ করে। একটি নিমগ্ন গেমিং অভিজ্ঞতার জন্য, বিভিন্ন Android ইনপুট উত্স সমর্থন করতে শিখুন:
আউটপুট অডিও
আপনার গেম ইঞ্জিনকে বিভিন্ন ডিভাইস এবং অ্যান্ড্রয়েড সংস্করণ জুড়ে অডিও আউটপুট করতে হবে। Oboe সম্পর্কে জানুন, আমাদের ওপেন-সোর্স C++ অডিও লাইব্রেরি আপনার গেমে উচ্চ-পারফরম্যান্স অডিও অন্তর্ভুক্ত করতে।
সর্বনিম্ন লেটেন্সি অর্জন করতে Oboe ব্যবহার করুন, নির্দিষ্ট অডিও বাগ এড়ান এবং স্বয়ংক্রিয়ভাবে উপলব্ধ সেরা নেটিভ লাইব্রেরি নির্বাচন করুন (যেমন AAudio বা OpenSL ES)।
মেমরি পরিচালনা করুন
অ্যান্ড্রয়েড ডিভাইসে, সিস্টেম যতটা সম্ভব সিস্টেম মেমরি (RAM) ব্যবহার করার চেষ্টা করে এবং প্রয়োজনের সময় স্থান খালি করার জন্য বিভিন্ন মেমরি অপ্টিমাইজেশন সঞ্চালন করে। আপনার গেমের গতি কমানো বা প্রস্থান করা এড়াতে মেমরি ব্যবহার পরিচালনা করতে শিখুন।
পরীক্ষা এবং পোলিশ
যখনই একটি অনিয়ন্ত্রিত ব্যতিক্রম বা সংকেতের কারণে একটি অপ্রত্যাশিত প্রস্থান ঘটে তখনই একটি Android অ্যাপ ক্র্যাশ হয়ে যায়। কীভাবে ক্র্যাশগুলি সনাক্ত এবং নির্ণয় করতে হয়, স্ট্যাক ট্রেস, মেমরি এবং নেটওয়ার্কিং ব্যতিক্রমগুলি পড়ুন, কীভাবে লগক্যাট ব্যবহার করবেন এবং জাভা এবং কোটলিন-নির্দিষ্ট ত্রুটিগুলি কীভাবে বুঝবেন সে সম্পর্কে জানুন।
Google Play-এ প্রকাশ করুন
প্লেয়াররা বিভিন্ন দেশে বিভিন্ন Android ডিভাইস, নেটওয়ার্ক অবস্থা এবং ডেটা প্ল্যানের মাধ্যমে আপনার গেম ডাউনলোড করে। কন্টেন্ট ডেলিভারি নেটওয়ার্কের সুবিধা সহ বড় গেমের জন্য অ্যাপ বান্ডেল এবং অ্যাসেট প্যাক ডেলিভার করতে কীভাবে Google Play ব্যবহার করবেন তা জানুন।