টার্ন ভিত্তিক গেম ইঞ্জিন কীভাবে বাস্তবায়ন করবেন?


17

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

void eventsHandler(); //something that responds to input
void gameLogic(); //something that decides whats going to be output on the screen
void render(); //this function outputs stuff on screen

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

উত্তর:


21

একটি টার্ন ভিত্তিক গেমটি রাষ্ট্রীয় মেশিন দ্বারা পরিচালিত হতে চলেছে । মূলত, আপনি একটি রাজ্যগুলির একটি সিরিজ তৈরি করবেন যা যৌক্তিক ক্রমে ঘটতে পারে।

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

এই ক্ষেত্রে

  • রাজ্য - পরিবর্তন খেলোয়াড়
    • এখন প্লেয়ার 1 এর পালা
  • ক্রিয়াকলাপ অনুমোদিত
    • আক্রমণ
      • আক্রমণ করতে শত্রু নির্বাচন করুন
    • রক্ষা করা
      • রক্ষা করতে ইউনিট নির্বাচন করুন
    • সরানো ইউনিট
      • সরানোর জন্য ইউনিট নির্বাচন করুন
      • চলাচলের অনুমতি দেওয়া হয়েছে তা নিশ্চিত করতে পরীক্ষা করুন
    • ইত্যাদি

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


আমার একটি মোটামুটি পুরানো স্কুল প্রকল্প যা ফাইনাল ফ্যান্টাসি কৌশলগুলিতে 3 ম বিকাশের প্রচেষ্টা ছিল :) উপরে বর্ণিত হিসাবে একটি রাষ্ট্রীয় মেশিন (আসলে কিছু তাদের ব্যবহার করুন) ব্যবহার করে। সোর্সফোর্জন.नेट
জেমস

আরে, টার্ন-ভিত্তিক কৌশলটির জন্য গেম ইঞ্জিনের কী হবে? আপনি কিছু পরামর্শ দিতে পারেন? অবাস্তব ইঞ্জিন ফিট হতে পারে?
রন্টিভে

প্রতিটি তার নিজস্ব. যদি আপনি অবাস্তব ইঞ্জিনটি নিয়ে স্বাচ্ছন্দ্য বোধ করেন তবে এতে কোনও ভুল নেই। আপনি কোন যান্ত্রিকের সুবিধা নিতে চান তা কেবল নির্ভর করে। একটি দ্রুত অনুসন্ধান ইঙ্গিত দেয় যে টার্ক -বেসড কৌশল গেমস তৈরি করতে সহায়তা করার জন্য অবাস্তব ইঞ্জিনের জন্য একটি সরঞ্জামকিট বর্তমান বিদ্যমান, যদিও এটি নিখরচায় নয়।
the_e

3

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

//for all computer players:
computerTakeTurn(player)

//for all players
moveShips(player)

//for all players
endTurn(player)//see this function below

//for all planets
planet.repairFleet()

//for all players
resolvePlanetaryConflicts(player)

//check to see if any players were destroyed or if the game is over
checkPlayerDestroyedAndGameOver()

আমার প্লেয়ার এন্ড টার্ন ফাংশন সেই প্লেয়ারের জন্য নির্দিষ্ট ফাংশন সম্পাদন করবে যা খেলোয়াড়দের মধ্যে যে ক্রম ঘটে তা দ্বারা প্রভাবিত হয় না:

eatAndStarve()

generatePlayerResources()

buildPlayerPlanetImprovements()

growPlayerPlanetPopulation()

যেখানে উপযুক্ত হবে, এই ফাংশনগুলি স্থিতি বার্তাগুলি এবং / বা ট্রিগার ইভেন্টগুলি ফেরত দেয় যাতে জিইআইআই দেখাতে পারে যে টার্নের সময় কী ঘটেছিল বা প্লেয়ারটিকে কম্পিউটার নষ্ট হয়ে গেছে ইত্যাদি জানতে দেয় ...


আপনি কি দয়া করে চেক আউট করার জন্য সোর্স কোডটি সরবরাহ করতে পারেন? মহান সাহায্য হবে। শুধু শিক্ষামূলক উদ্দেশ্যে।
ডিভোল

@ ডভোল আমি বর্তমানে এইচটিএমএল 5 ক্যানভাস ট্যাগ ব্যবহার করে সিলভারলাইট / সি # থেকে কোডটি জাভাস্ক্রিপ্টে রূপান্তর করতে কাজ করছি। আমি শেষ করার পরে আমি কোডটি ওপেন সোর্সিংয়ের পরিকল্পনা করব এবং সেই সময়ে আমি এই ফাংশনটি ঠিক কীভাবে প্রয়োগ করেছি তা দেখার জন্য আপনাকে স্বাগত জানানো অপেক্ষা আরও বেশি। যদি এটি প্রসঙ্গটি পেতে সহায়তা করে আপনি আমার স্পেস কৌশল গেমটি এখানে খেলতে পারেন: অস্ট্রিয়ায়ার্ক - তারকাদের শাসক
ম্যাট পামারলি

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