উন্নয়নের পরে কী অর্জন ব্যবস্থা কার্যকর করা যেতে পারে?


12

আমি যদি এই সময়ে আমার গেমটিতে এই বৈশিষ্ট্যটি প্রয়োগ করতে চাই বা না করতে পারি তবে আমি সিদ্ধান্তহীন। আমি চাই না যে প্রকল্পটি নিয়ন্ত্রণের বাইরে চলে আসুক তাই আমি প্রথমে কোর মেকানিক্সগুলিতে ফোকাস করছি।

এটি কি এমন একটি বৈশিষ্ট্য যা পরে ডেটা ড্রাইভ এবং সমস্ত কিছু সঞ্চয় করে ধরে নেওয়া কার্যকর করা সহজ?


3
আমি কয়েক বছর আগে উইন্ডোজে একটি নির্দিষ্ট সুপরিচিত ডস গেমটি পোর্ট করেছি - এটিতে আমি যুক্ত করতে যে বিষয়গুলি পছন্দ করতে চাই তার মধ্যে একটি, যদি আমরা গেমপ্লেতে কোনও পরিবর্তন করতে যাচ্ছিলাম - তবে সাফল্য হত। সুতরাং যদি আমি 10 বছরেরও বেশি পুরানো গেমটিতে সাফল্যের জন্য এটির জন্য নকশাকৃত নকশা যুক্ত করতে পারি তবে আমি খুব বেশি বলব যে এগুলি যে কোনও জায়গায় যুক্ত করা যায়। হেক, এই সাইটে খুব সফলতা রয়েছে ..
জারি কম্প্পা

উত্তর:


19

আপনি কি বাস্তবায়নের প্রযুক্তিগত দিকগুলি বা ডিজাইনের বিশৃঙ্খলা থেকে জিজ্ঞাসা করছেন? যেভাবেই হোক, আপনার প্রশ্নের উত্তর হ্যাঁ "হ্যাঁ"।

প্রযুক্তিগত দিক থেকে, সাধারণত কথা বলার সময় আপনি কেবল আপনার কোডটিতে এমন হুকগুলি খুঁজে পান যা আপনার কৃতিত্বের ইভেন্টগুলিতে সাড়া দেয় এবং সেখানে আপনার স্ট্যাট ট্র্যাকিং কোড রাখে। আপনি যদি এমন কিছু ট্র্যাক করে থাকেন যা ইতিমধ্যে গেমটিতে ঘটে চলেছে এমন ঘটনাগুলি হ'ল (উদাহরণস্বরূপ: এক্স পরিমাণ পরিমাণ ঘন্টা খেলেছে) তবে আপনি কিছু নতুন জিনিস যুক্ত করতে পারেন।

জিনিসগুলির নকশার দিক থেকে, ভাল, সাফল্যগুলি বহিরাগত প্রেরণাগুলি এবং এগুলি যুক্ত করার ব্যতীত, মূল গেমপ্লে লুপের মধ্যে সত্যিকার অর্থে খুব বেশি খেলা হয় না। সুতরাং তারা নির্বিশেষে বেশ নিরাপদ।


হ্যাঁ, আমি এখন এটি করছি। shotsFired++যে অংশে নতুন গুলি ইনস্ট্যান্ট করা হয়, এবং shotsHit++সেই অংশে যেখানে বুলেটটি অন্য খেলোয়াড়কে প্রভাবিত করে সেখানে লিঙ্ক করা মোটামুটি সহজ ছিল । এটি সাহায্য করেছিল যে আমি কারা গুলি
চালিয়েছিল

5

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


2

যেহেতু ইতিমধ্যে বিদ্যমান লোকেরা ভাল উত্তর যুক্ত করেছে, আমাকে অনাবৃত পরিস্থিতিতে উত্তর দিন।

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

আপনি সমস্ত ইভেন্টগুলি পেতে সর্বদা একটি শ্রেণি তৈরি করতে পারেন (পছন্দসই সিঙ্গলটন)। এখন আপনার সমস্ত কৃতিত্বের তালিকা দিন। তারপরে ট্র্যাক করার জন্য প্রয়োজনীয় সমস্ত গেম ইভেন্টগুলি তালিকাবদ্ধ করুন। উদাহরণস্বরূপ, আমার বর্তমান তালিকাটি এটির মতো দেখাচ্ছে

খুনের শত্রু - হাঁটাচলা, বুলেটগুলি প্লেয়ার মৃত্যু - পতন_অফ, স্বাস্থ্য ENTER_ROOM, EXIT_ROOM ইত্যাদি

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


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