আমি একটি এক্সএনএ গেম তৈরি করছি যা খেলোয়াড়দের জন্য বিশাল জায়গা প্রয়োজন। বর্তমানে, আমি যে পরীক্ষার উচ্চতা ম্যাপটি ব্যবহার করছি তা 4096x4096 এবং 4-বিট বিএমপি হিসাবে সংরক্ষণ করা হয়েছে।
আমি যা করার চেষ্টা করছি তা হল সেই বিশাল উচ্চতা ম্যাপ ফাইলটি নেওয়া এবং গেমটিতে এটি রেন্ডার করা। আমি যে সমস্যাটি চালাচ্ছি তা হ'ল এটি সম্পূর্ণ অঞ্চলটি একবারে মেমরিতে লোড করতে অক্ষম, কারণ এটি প্রচুর পরিমাণে উপলব্ধ মেমরি ব্যবহার করবে।
আর একটি সমস্যা যার মধ্যে আমি চলে এসেছি তা হ'ল এক্সএনএ-তে একটি হার্ড-সীমা নির্ধারণের কারণে আমি অঞ্চলটিকে সমস্ত এক আদিতে রেন্ডার করতে পারি না।
এই বলে যে, আমি বেশ কয়েকটি সমাধান নিয়ে এসেছি, যার সবগুলি আমি নীচে তালিকাভুক্ত করেছি:
- বর্তমান ব্যবহারকারীর অবস্থানের উপর ভিত্তি করে রেন্ডারিং - মূলত বিশ্বের চারদিকে তাদের দৃষ্টিভঙ্গি নির্বিশেষে ব্যবহারকারীর চারপাশে একটি স্কোয়ার অঙ্কন করা। এটি আমি যা চেয়েছিলাম ঠিক তা নয়, কারণ আপনি এখনও এমন স্থান সরবরাহ করছেন যা ব্যবহারকারী দেখায় না does
- ব্যবহারকারীর অরিয়েন্টেশন এবং অবস্থানের ভিত্তিতে রেন্ডারিং - আমি একটি ত্রিভুজটি পুনরুদ্ধার করার জন্য একটি সূত্র পেয়েছি যার মধ্যে উচ্চতা মানচিত্রের পিক্সেলগুলি রেন্ডার হওয়ার কথা বলে মনে করা হয়েছিল, তবে এটি খুব কঠিন বলে প্রমাণিত হয়েছিল।
- অঞ্চলটিকে একাধিক অংশে বিভক্ত করা এবং ব্যবহারকারীর নিকটতম কোনটি উপস্থাপন - আপনি এখনও খুব বেশি দক্ষ নন যেহেতু আপনি এখনও অংশগুলি উপস্থাপন করছেন যা লোকেরা দেখতে পাবে না। এবং এটি কর্ম-নিবিড় কারণ এরপরে আমাকে আমার উচ্চতা ম্যাপটি কয়েক টুকরো করে বিভক্ত করতে হবে এবং স্কেলাবিলিটি একটি বড় সমস্যা হয়ে দাঁড়িয়েছে।
এই সমাধানগুলি চেষ্টা করার পরে, আমি কী করব সে সম্পর্কে ধারণা থেকে সতেজ। আমি কিছু উত্তর পেয়েছি যেখানে লোকেরা আমাকে এই জটিল অ্যালগরিদমগুলি করতে বলছে, তবে কীভাবে এগুলি করা যায় সে সম্পর্কে আমার কোনও ধারণা নেই।
তাই মূলত আমি এক্সএনএতে অত্যন্ত দক্ষতার সাথে একটি সহজ, সোজা উপায়ের জন্য জিজ্ঞাসা করছি।
আমি সাধারণভাবে গেমের বিকাশে নতুন, তবে এটি আশ্বাসজনক মনে হলে আমি গবেষণা করতে আগ্রহী।
আপডেট 1: জিওলিপম্যাপিং পদ্ধতিটি গবেষণা করার পরে, আমি এটি দিয়ে কোড করতে শুরু করেছি। আমি সমস্ত গণিত শেষ করেছি, এবং গেমটি চলে। তবে এটি অত্যন্ত অদক্ষ - যা সম্ভবত আমার পক্ষে খারাপ কোডিং। এটি 2FPS এ চলে এবং আমার সিপিইউর পুরো কোর ব্যবহার করে। আমি কোডটি চেষ্টা করে উন্নতি করতে যাচ্ছি, তবে আমি মনে করি আমার আরও সাহায্যের প্রয়োজন হবে, তাই এখানে টেরিন ম্যানেজার শ্রেণির কোডটির একটি পাস্তবিন । আমি যদি আরও দক্ষ হয়ে ওঠে তবে আমি আরও ফলাফল সহ পরে পোস্ট করব।