ইউনিটি গেমের খেলোয়াড়ের অগ্রগতি সংরক্ষণ করা


22

আমি ইউনিটি গেম ইঞ্জিন ব্যবহার করে একটি গেম তৈরি করছি। আমি স্তর, অভিজ্ঞতা পয়েন্ট, নির্বাচিত চরিত্র ইত্যাদি সহ খেলোয়াড়ের অগ্রগতি সংরক্ষণ করতে চাই বর্তমানে আমি প্লেয়ারফিফ ব্যবহার করছি তবে আমি জানতে চাই যে এটি গেমারদের জন্য কাজ করবে যারা তাদের মোবাইল ডিভাইসে (অ্যান্ড্রয়েড / আইওএস) পাশাপাশি এই গেমটি চালাবেন কিনা whether ডেস্কটপ হিসাবে (ওএসএক্স / পিসি)? যদি তা না হয় তবে আমি কীভাবে এই তথ্যটি সংরক্ষণ করব? আমি প্রতিটি পর্যায় সাফ করার পরে প্লেয়ারের অগ্রগতি অটো-সেভ করতে চাই।

উত্তর:


30

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

প্লেয়ারপ্রেসগুলি অযৌক্তিক পছন্দসই তথ্যের জন্য যেমন কন্ট্রোল ম্যাপিং বা সঙ্গীত / এসএফএক্স সেটিংস-যেমন প্লেয়ার নির্বিঘ্নে যে কোনও উপায়ে পরিবর্তন করতে পারে, এবং যদি তারা উইন্ডোজটিতে (উদাহরণস্বরূপ উইন্ডোজটিতে) একটি সিস্টেম পুনরুদ্ধার পয়েন্ট ব্যবহার করে এবং হারাতে না পারে তবে এগুলি হারাবে না তাদের রেজিস্ট্রি তথ্য। এটি যদি তাদের উচ্চ স্কোর বা প্রচারের অগ্রগতি হারাতে থাকে তবে খেলোয়াড়রা ন্যায়সঙ্গতভাবে বিরক্ত হয়!

পরিবর্তে, আপনার নিজের ফাইলে গেমপ্লে অগ্রগতি সংরক্ষণ করার প্রস্তাব দেওয়া হয়েছে (সাধারণত বাইনারি, সম্ভবত আপনি যদি এটি সংশোধন করা আরও শক্ত করতে চান তবে এই সম্পর্কে ফিলিপের মন্তব্য দেখুন)'s

প্রতিটি প্ল্যাটফর্মের একটি নির্ভরযোগ্য সংরক্ষণের স্থান পেতে আপনি অ্যাপ্লিকেশন.পার্সিয়েন্টডেটাপথ ব্যবহার করতে পারেন । এটি সাধারণত কোনও ব্যবহারকারীর ডেটা ফোল্ডারে থাকে যা উপরের উদাহরণের মতো মুছে ফেলা হবে না।

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


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

5
@ সামেডেরাকেকেটেন ডেটা পাথ (আপনার গেমটি ইনস্টল করা অবস্থান) এবং অবিরাম ডেটা পাথ (নতুন ডেটা সংরক্ষণের জন্য একটি নির্ভরযোগ্য অবস্থান ) এর মধ্যে একটি গুরুত্বপূর্ণ পার্থক্য রয়েছে । কিছু প্ল্যাটফর্মে, একটি অন্তর্নির্মিত গেম ইনস্টল করা ডেটা পাথে লিখতে পারে না, তাই অবিরাম ডেটা পাথের অবস্থানটিতে সংরক্ষণ করা একটি সাধারণ নিয়ম হিসাবে পরামর্শ দেওয়া হয়।
ডিএমগ্রিগরি

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

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

2
@ শান্তানুসিংহকে প্লেয়ারপ্রিফগুলিতে সংরক্ষণ না করে। এই জাতীয় তথ্য একটি দূরবর্তী ডাটাবেসে সংরক্ষণ করা উচিত এবং অ্যাপ্লিকেশন প্রারম্ভের জন্য অনুরোধ করা উচিত। কোনও ইন্টারনেট সংযোগ উপলভ্য না হলে সামঞ্জস্যের জন্য, স্থানীয় সুরক্ষিত সংরক্ষিত ফাইলে ফিরে যান (এটি: এনক্রিপ্ট করা)। ডাটাবেস মানগুলি যখন উপলব্ধ থাকে তখন স্থানীয় মানগুলি ওভাররাইট করা উচিত। অ্যাপ্লিকেশন কেনার প্লাগইনগুলি থাকতে পারে যা অন্যান্য আচারের জিনিসগুলিতেও পরিচালনা করে তবে এটি সম্ভবত "ইন্টারনেটের প্রয়োজন", হ্যাকযোগ্য (এমনকি একটি এনক্রিপ্ট করা ফাইলও 100% নিরাপদ নয়) বা এই মন্তব্য বিশদ হিসাবে থাকবে।
Draco18s

4

ইউনিটির সাইটে, এমন একটি ভিডিও রয়েছে যা সংরক্ষণের জন্য দুটি প্রধান বিকল্প (প্লেয়ারপ্রিফ এবং আপনার নিজের সংরক্ষণের ফাইল তৈরি করতে পারে) over ভিডিওটি এখানে পাওয়া যাবে: http://une3d.com/learn/tutorials/modules/beginner/live-training-archive/persistance-data-saving-loading?playlist=17117


-1

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


আমি মনে করি প্লেয়ারপ্রিফ ব্যবহার না করার বাধ্যতামূলক কারণগুলি থাকলে (হ্যাঁ, আছে) যদি প্রশ্নটি বেশ খানিকটা ছিল। যেমন আমি এই উত্তরটিকে অগ্রাহ্য করেছি কারণ এটি প্রশ্নের উত্তর দেয় না।
পিটার - আনবান রবার্ট হার্ভে

-1

তাহলে সবচেয়ে ভাল উপায় সার্ভার সাইড সেভিং? সমস্ত সংরক্ষণের প্রয়োজনীয় তথ্যকে জসন স্ট্রিংয়ে রূপান্তর করুন এবং স্ট্রিং ডেটা হিসাবে এটি মাইএসকিএল সার্ভারের মালিকানাতে সঞ্চয় করুন এবং যখন লোড করার দরকার হয়, সার্ভারে সংযুক্ত হয়ে পুনরুদ্ধার করবেন?


4
এটি প্রশ্নের উত্তর নয়। আপনার যদি প্রশ্ন থাকে তবে নতুন প্রশ্ন হিসাবে জিজ্ঞাসা করুন ।
সৌরভ পল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.