লিনাক্স গেমগুলিতে সম্পদ ফাইলগুলি সন্ধান করা


11

উন্নয়নের সময় এবং একটি রিলিজের মধ্যে 3 ডি মডেল, টেক্সচার, শব্দ এবং স্ক্রিপ্টগুলি (যেমন লুয়া ফাইলগুলি) সংরক্ষণ করার স্বাভাবিক পদ্ধতিটি কী? আমি আমার বন্ধুদের সাথে মূলত সি ++ তে একটি গেম বিকাশ করছি; প্রোটোটাইপিং পর্যায়ে আমাদের কেবলমাত্র একক টেক্সচার ছিল যা জিম্পের সাথে সি শিরোনাম হিসাবে সংরক্ষণ করা হয়েছিল, তবে অবশ্যই, এই পদ্ধতির ভাল স্কেল হয় না এবং সংকলনের বারটি অনেক বেড়ে যায়।

উইন্ডোজের অধীনে, নিয়মিত অনুশীলনটি হ'ল এগুলিকে কেবল %PROGRAMFILES%সাব-ডিরেক্টরিতে ডাম্প করা যেখানে গেম এক্সিকিউটেবলটি থাকে, সম্ভবত তাদের উপযুক্ত গাছ কাঠামোয় সাজিয়ে রাখে। তবে লিনাক্সে চিত্রটি অনেক বেশি জটিল বলে মনে হচ্ছে। এক্সিকিউটেবল সাধারণত সেখানে থাকে /usr/bin, যেখানে অ্যাপ্লিকেশনগুলি তাদের অন্যান্য ফাইলগুলিতে সঞ্চয় করে /usr/shareএবং আমি মনে করি যে অ-এক্সিকিউটেবলগুলিকে স্থাপন করা এটি একটি অত্যন্ত খারাপ অভ্যাস হবে /usr/bin। তবে বিকাশের সময় ডিরেক্টরি কাঠামো সম্পূর্ণ আলাদা।

আমি দুটি ভিন্ন সম্ভাব্য সমাধান নিয়ে আসতে পারি:

  • এক্সিকিউটেবলকে নিজের সম্পর্কিত সম্পদ ফাইলগুলি সন্ধান করুন এবং গেমটি ইনস্টল করুন /opt। তারপরে symlinks রাখুন /usr/bin। বিকাশের সময়, বাইনারিগুলিতে সম্পদের আপেক্ষিক পথটি স্থাপনার সময় একই রকম হয়।
  • প্রিপ্রোসেসর প্রতীক হিসাবে সংজ্ঞায়িত এমন একটি নিখুঁত পথ দিয়ে ফাইলগুলিতে অ্যাক্সেস করুন। বিল্ড প্রক্রিয়াটি (আমাদের ক্ষেত্রে, কাঁচা Makefileগুলি) এটি উপযুক্ত হিসাবে এটি সংজ্ঞায়িত করার যত্ন নিতে দিন।

উভয় পন্থা একটি দিক বা অন্য দিক থেকে আমার কাছে কিছুটা অবাস্তব বলে মনে হচ্ছে। গেম ডেভলপমেন্ট ইন্ডাস্ট্রিতে এ সম্পর্কে কি প্রচলিত আছে?

কেবলমাত্র প্রাসঙ্গিক প্রশ্নগুলির মধ্যে আমি খুঁজে পেয়েছি হ'ল ইনস্টল করা / অন ডিস্ক গেম সম্পদের অবস্থান এবং সংস্থান এবং সম্পদের জন্য ডিরেক্টরি পাথগুলি নির্ধারণ করা , তবে সেগুলি "উত্স ট্রি থেকে" চালানোর সমস্যাটির সমাধান করেনি।

উত্তর:


6

../lib/programnameঅথবা ../share/programname/, এর আপেক্ষিক dirname(3)এর argv[0], যদি সম্পদ স্থাপত্য নির্ভর বা না উপর নির্ভর করে।

এটি অন্যান্য সমস্ত লিনাক্স (এবং সর্বাধিক নন-ম্যাক ইউনিক্স) প্রোগ্রামগুলির সমান স্ট্যান্ডার্ড।

আপনি যদি "উত্স ট্রি" থেকে চালাতে চান,

  1. আপনার একটি বাস্তব বিল্ড সিস্টেম পাওয়া উচিত এবং একটি বিল্ড করা উচিত, কারণ আপনি কখনই "উত্স ট্রি থেকে চালাবেন না", আপনি একটি বিল্ট এক্সিকিউটেবল চালান, যা আপনার বিল্ড সিস্টেমটি কোথাও থুথু ছুঁড়ে ফেলেছে, এবং এটি সম্পত্তি সহজেই অনুলিপি করে বা লিঙ্ক করতে পারে।
  2. যদি আপনার বিল্ড সিস্টেমটি খুব কৃপণ হয় তবে কেবল পরীক্ষা করুন .বা ./assetsইত্যাদি ইত্যাদিও পরে উন্নয়নের পরে একটি নতুন বিল্ড সিস্টেমটি সন্ধান করুন।

হ্যাপি_ইমি যা বলেছেন তার বিপরীতে আপনার অবশ্যই পরিবেশের পরিবর্তনশীলগুলির সাথে ওভাররাইড করার একটি উপায় সরবরাহ করা উচিত। এটি ঠিক তাদের জন্য যা করা হয়েছে তা ঠিক।


এই পরিবেশের পরিবর্তনশীলগুলিও বিবেচনা করুন, যা লিনাক্স ডেস্কটপগুলিতে স্ট্যান্ডার্ড
freedesktop.org/basedir-spec/basedir-spec-latest.html
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.