আমি কীভাবে নিখোঁজ সংস্থানগুলি পরিচালনা করব?


13

আপনার গেমটি একটি নির্দিষ্ট সম্পদ লোড হওয়ার প্রত্যাশা করে, তবে এটি পাওয়া যায় নি। পরিস্থিতি কীভাবে পরিচালনা করা উচিত? উদাহরণ স্বরূপ:

Texture* grassTexture = LoadTexture("Grass.png"); // returns NULL; texture not found
Mesh* car             = LoadMesh("Car.obj");      // returns NULL; 3D mesh not found

এটি ব্যবহারকারীর দ্বারা দুর্ঘটনাক্রমে মুছে ফেলা হয়েছে, বিকাশকালে দূষিত বা ভুল বানান বানানো হতে পারে।

কিছু সম্ভাব্য প্রতিক্রিয়া:

  • জোর দেওয়া (আদর্শভাবে শুধুমাত্র উন্নয়নের সময়)
  • কৌতুকপূর্ণভাবে গেমটি থেকে প্রস্থান করুন
  • একটি ব্যতিক্রম নিক্ষেপ এবং এটি পরিচালনা করার চেষ্টা করুন।

কোন উপায়ে সেরা?


এটি করার একটি উপায় গেমের ডেটা এখনও অক্ষত কিনা তা যাচাই করা। না হলে স্বয়ংক্রিয়ভাবে হারিয়ে যাওয়া ডেটা পুনরায় ডাউনলোড করুন। ত্রুটি> ব্যবহারকারীকে ডেটা যাচাই করতে বলুন> ডাউনলোড করুন। আপনাকে অবশ্যই এটির জন্য একটি ছোট সরঞ্জাম তৈরি করতে হবে।
সিডার

@ সিদার আমি আপনার সবচেয়ে বেশি ভোট দেওয়া উত্তরের চেয়ে যা বলেছি তা পছন্দ করি আপনি কী বলতে চাইছেন তা আপনি আরও ভালভাবে ব্যাখ্যা করতে পারেন
ধারণাগুলি 3

ত্রুটির কদর্যতা হ'ল কখনও কখনও এটি কেবল গেমটি ভেঙে দেয় এবং লোকেরা এটি খেলতে / শুরু করতে পারে না। বাষ্পে উদাহরণস্বরূপ যদি আপনার গেমটি সঠিকভাবে কাজ না করে আপনি গেমের ডেটা যাচাই করতে পারেন। যখন কোনও কিছু দুর্নীতিগ্রস্থ / নিখোঁজ / পরিবর্তিত বাষ্পে স্বয়ংক্রিয়ভাবে সেই ফাইলগুলি পুনরায় ডাউনলোড করবে। আমি জানি না তারা কীভাবে এটি করে। তবে তারা অবশ্যই এটি কিছু তথ্যের বিপরীতে চেক করে। সম্ভবত হ্যাশ কোডস? আমি সত্যিই জানি না। তবে আপনার সর্বদা একটি স্ট্যান্ডার্ড রিপ্লেসমেন্ট সম্পদ থাকা উচিত (কেবল এমন টেক্সচার যা এতে বা কোনও কিছুতে "ত্রুটি" বলে)
সিদার

@ সিদার কেন একটি উত্তরে সুন্দর করে ফরম্যাট করবেন না?
ধারণাগুলি

কারণ এটি ঠিক কীভাবে কাজ করে তা আমি জানি না এবং এটি সম্পর্কে ভুল তথ্য দিতে চাই না। সুতরাং আমি আপনাকে সঠিক উত্তর দিতে পারিনি।
সিডার

উত্তর:


19

প্রচুর গেমগুলির একটি জেনেরিক "ত্রুটিযুক্ত উপাদান" এবং "ত্রুটি জাল" থাকে যা দেখতে পাওয়া যায় না। অবশ্যই লগগুলিতে একটি সতর্কতার সাথে এটি যুক্ত করুন।


সম্পূর্ণ এই পোস্টের সাথে একমত। আপনি হয়ত রিলিজ / বিতরণ বিল্ডে বিভিন্ন জিনিস করতে চাইতে পারেন।
জোনেল

রিলিজ বিল্ডগুলির জন্য, অনুপস্থিত বা অবৈধ ফাইলগুলি ডাউনলোড করার জন্য হ্যাশিং ব্যবহার করে উপলব্ধ ফাইলগুলিকে বৈধতা দেওয়ার জন্য একটি পদ্ধতির কথা ভাবতে পারে। তবে উন্নয়নের সময় অবশ্যই আপনার দৃষ্টি আকর্ষণ করার জন্য একটি কালো এবং ম্যাজেন্টা চেকবোর্ড জমিন প্রদর্শন করার জন্য এটি অবশ্যই সেরা পন্থা। মডেলগুলির জন্য একটি বিশাল ইআরআরআর মডেল ব্যবহার করতে পারে যা সুস্পষ্ট হওয়া উচিত।
খ্রিস্টান আইভিসেভিচ

এটি টেক্সচারের জন্য অর্থবোধ করে। 3 ডি মডেলের জন্য এতটা নয়। সর্বাধিক থ্রিডি মডেলগুলি অনুপস্থিত থাকলে কী হবে? গেমটি মজার লাগবে, যদিও এটি প্রথম স্থানে খেলতে পারা উচিত। যদি আপনি 3D মডেলের জ্যামিতিক বৈশিষ্ট্যের উপর ভিত্তিক আপনার স্থানিক ডেটা স্ট্রাকচার বেস গণনা করেন তবে কী হবে। আমি কেবল টেক্সচারের অনুপস্থিতির মতো সাধারণ পরিস্থিতিতে এর সাথে আছি। তবে আমি মনে করি ডেটা সম্পূর্ণতা যাচাই করা বাণিজ্যিক গেমগুলির জন্য আরও ভাল পদ্ধতির।
ধারণা 3d

1
@ ধারণাগুলি 3 ডি - আমি জানি কমপক্ষে উত্স ইঞ্জিনটিতে একটি বড়, সুস্পষ্ট ত্রুটি জাল রয়েছে (আমি এটি মাঝেমধ্যে ডোটা 2 পরীক্ষার ক্লায়েন্টে দেখেছি, তারা যখন নায়ক যুক্ত করছিল তখন)। আমি সম্মত হই যে যদি স্তরগুলির বৃহত সোয়াথগুলি অনুপস্থিত থাকে তবে বিশেষত একটি রিলিজ বিল্ডে কেবল ত্রুটিযুক্ত হওয়া ভাল but তবে ডিবাগিংয়ের উদ্দেশ্যে একটি বড় প্রশ্ন চিহ্নের চারপাশে নাচানো খুব খারাপ নয়।
রবার্ট ফ্রেজার

6

আপনি যদি বিভিন্ন রেজল্যুশন সম্পদ এর একই জমিন , আপনি কি অন্য কিছু রেজল্যুশন ব্যবহার করে এই পরিস্থিতি কাটানোর চেষ্টা করতে পারে।

Texture* grassTexture;
try {
    grassTexture = LoadTexture("Grass.png");
} catch (WhateverExcaption e) {
    grassTexture = LoadTexture("Grass_512.png");
}

এমনকি যদি এটি ব্যর্থ হয় তবে এটি জামিনের সময় হতে পারে।


2
আপনি ক্যাচটিতে একটি টগল যোগ করতে পারেন তাই দেবের মধ্যে আপনি সর্বদা অনুপস্থিত জাল / টেক্সট দেখান তবে প্রকাশিত হলে এটি প্রথমে পুনরুদ্ধার করার চেষ্টা করবে এবং সম্ভবত একটি স্পষ্ট নিখোঁজ অঙ্গবিন্যাস থাকবে।
ড্যাম্প এস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.