আমি একটি 2 ডি গেমটি বিকাশ করছি এবং আমার অনেক স্প্রিট রয়েছে। 2 ডি তে রেন্ডার করার জন্য আমি 3 ডি অ্যানিমেশন এবং মডেলগুলি ব্যবহার করেছিলাম, যাতে তাদের "ফলআউট" বা "ডায়াবলো" তাদের চেহারা দেয়। এটি হাত দ্বারা আঁকার চেয়েও সহজ, লোল।
আমি ইতোমধ্যে ফ্রেমরেটটি 15fps এ কেটে ফেলেছি, যা তাদের কাছে চপ্পল চেহারা না তৈরি করে আমি কম করতে পারলাম। যাইহোক, 24 টি ফ্রেমগুলি কীভাবে অবিশ্বাস্যরূপে মসৃণ দেখায় এটি দুঃখজনক ছিল।
আমি এটি করার দুটি কারণ রয়েছে:
1) এইচডিডি স্পেস কাটা। যত কম ইমেজ হবে তত আমার মোট খেলা তত ছোট হবে।
2) র্যাম ব্যবহার কমানো। যত কম ছবি লোড করা যায়, ততই আমি আমার র্যামের সীমাবদ্ধতা স্ফীত করে দেওয়া সমস্যাগুলি এড়াতে তত বেশি।
যাইহোক, যদি এইচডিডি স্পেস এবং র্যাম উভয় ক্ষেত্রে চিত্রগুলি সংকুচিত করার কোনও উপায় ছিল, আমি তা করতাম। আমি এটি আগেও পরীক্ষা করে দেখেছি এবং আরজিবিএ ৮৮৮৮ থেকে আরজিবিএ 55৫৫ to দেওয়ার সময় এবং বেশিরভাগ মানের ক্ষেত্রে কোনও পরিবর্তনই পাই না এবং আমার টেক্সচারপ্যাকার প্রোগ্রামে আরজিবিএ 44৪৪৪ এ রূপান্তর করার সময় কেবল সামান্য আঘাত পেয়েছি। আমি বর্তমানে এটি করি না, কারণ এসএফএমএল এটি কোন ধরণের .PNG চিত্রের নির্বিশেষে একই পরিমাণ মেমরি ব্যবহার করে বলে মনে হচ্ছে। আমি এটিকে কীভাবে আলাদাভাবে লোড করতে পারি তা নিয়ে গবেষণা করে দেখেছি, তবে বিষয়টিতে কিছুই খুঁজে পেতে ব্যর্থ হয়েছি।
2 ডি ভিডিও গেমগুলি কীভাবে পরিচালনা করতে হয় সে সম্পর্কে আমি অনেক কিছু পড়েছি। Sensক্যমত্য অপ্রতিরোধ্য: দুর্দান্ত পারফরম্যান্সের জন্য আপনার স্প্রিটসকে একটি বড় টেক্সচারে প্যাক করুন! তাই আমি টেক্সচারপ্যাকার ব্যবহার করে আমার ক্ষুদ্র স্প্রিটগুলি আরও বৃহত্তর স্প্রিটশিটে প্যাক করেছি।
যাইহোক, আমি পরিকল্পনা করেছি চরিত্র অনুসারে 10-15 অ্যানিমেশন, সরানো 5 দিক এবং অ্যানিমেশন প্রতি 15-40 ফ্রেম (সম্ভবত গড়ে 24)। 15 অ্যানিমেশন, 5 দিক এবং অ্যানিমেশনে গড়ে 24 ফ্রেম সহ; এটি প্রতি চরিত্রের 1800 স্বতন্ত্র ফ্রেম। যদি কোনও স্প্রিট শীটে প্যাক করা থাকে তবে তার পরিবর্তে এটি কেবল 75 টি চিত্র। (প্রতি অ্যানিমেশনে একটি স্প্রিট শীট, প্রতি দিকনির্দেশে। 15 * 5)
গেমের এক বিশাল বস চরিত্রের জন্য, আমি স্প্রিটশিট ব্যবহার করতে পারি না এবং একবারে কেবল একটি ছবিতে লোড করার উপায় প্রোগ্রাম করতে পারি। পারফরম্যান্সের জন্য আমি এটি করতে পারি কিনা জানি না।
চরিত্রগুলির জন্য, আমি ইতিমধ্যে একটি স্প্রিটশিটে তাদের প্যাক করেছি। কোনও একক চরিত্রের জন্য, এটি বেশিরভাগ সময় কাজ করে বলে মনে হয় যদিও এটি কখনও কখনও স্টল করে। যাইহোক, আমি এটিকে আমার অসুস্থ ধারণাগুলি কোডটিতে উল্লেখ করি যা এই চরিত্রটির জন্য সমস্ত টেক্সচার প্রিলোড করার পরিবর্তে টেক্সচারকে বদলে দেয়।
যদি আমি টেক্সচারগুলি প্রিললোড করে থাকি তবে স্প্রাইট শিটগুলির জন্য এটি অর্থবোধ করে। আমি কেবল কল্পনা করব যে প্রতিটি চরিত্রের জন্য 1800 ক্ষুদ্র চিত্র প্রাক লোড করা খারাপ ধারণা।
যাইহোক, আমি কল্পনা করেছি যে এগুলি একবারে মেমরির মধ্যে এবং বাইরে চলে যাওয়া অত্যন্ত দ্রুত হবে, তাই আমার কেবল একবারে স্মৃতিতে একটি একক চিত্র থাকা দরকার। এর অর্থ কি এই নয় যে কোনও নির্দিষ্ট মুহুর্তে আমি প্রতিটি চরিত্রের 45 + এমবি পরিবর্তে কয়েকটি কেবি ব্যবহার করব?
আমি ধারণা করি এটি আমার অভিনয়কে মেরে ফেলবে, কারণ স্ট্রিমিংয়ের অবিশ্বাস্যরূপে দ্রুত হওয়া দরকার (15 টি চিত্র মেমরির মধ্যে চলে এবং বাইরে চলেছে, প্রতি সেকেন্ডে) এবং যদিও চিত্রগুলি খুব ছোট হবে - চরিত্রের স্প্রিটশিটগুলি লোড করা আরও ভাল ধারণা হতে পারে পরিবর্তে স্মৃতিতে। তবে যাইহোক আমার বৃহত্তর বসের চরিত্রের জন্য আমাকে একক-চিত্র স্ট্রিমের মতো রেন্ডার সিস্টেম কোড করতে হবে।
আমি পরীক্ষা করে দেখছি, তবে এটি কোনও সহজ প্রক্রিয়া নয়। বিশেষত আমি গেম ইঞ্জিনের অন্যান্য অংশগুলিতে কাজ করছি যে এই মুহূর্তে গ্রাফিকগুলি নিয়ে কাজ করে না given