আমার কি বিশ্ব চালানো উচিত বা খেলোয়াড়কে সরিয়ে নেওয়া উচিত?


11

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

আমি এটি অ্যান্ড্রয়েডের জন্য অ্যান্ডেগাইন দিয়ে বিকাশ করছি যা ওপেনজিএল এবং বক্স 2 ডি ব্যবহার করে।

শুরু করার আগে, আমাকে গুরুত্বপূর্ণ কিছু সিদ্ধান্ত নেওয়া দরকার: আমি কি খেলোয়াড়ের চারপাশের বিশ্বকে চলাচলের অনুকরণ করতে বা খেলোয়াড়কে সরানো এবং গেম ইঞ্জিনের ক্যামেরা বৈশিষ্ট্যগুলি সহ তাকে অনুসরণ করতে পারি?

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

ধন্যবাদ!


2
ক্যামেরাটি সরান।
জোনাথন ডিকিনসন

1
ক্যামেরাটি ব্যবহার না করার জন্য আপনার যদি নির্দিষ্ট কারণ না থাকে (যা ইতিমধ্যে আপনার জন্য লেখা হয়েছে), আপনার প্লেয়ার এবং ক্যামেরাটি সরানো উচিত move "পাওয়ার-আপস" যুক্ত করা কোনওভাবেই প্রভাবিত হবে না।
ক্রিস্টোফার হোরেস্টেইন

উত্তর:


9

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

আপনি যদি প্লেয়ারটি সরিয়ে নিয়ে যান এবং ক্যামেরাটি প্লেয়ারের সাথে সংযুক্ত করেন তবে সেখানে সংস্থান সংস্থান ব্যবহারের ন্যূনতম। গেমটি তার রেন্ডার পর্বে উঠবে, প্রতিটি ফ্রেমের মতো একবারে সমস্ত কিছু লুপ করবে এবং তাদের অবস্থান - ক্যামেরা.পজিশনে আঁকবে। এই ক্ষেত্রে ক্যামেরা অবস্থান সর্বদা আপনার প্লেয়ারের অবস্থানের সমান হয়।


অবশ্যই যদি বস্তুগুলি শত্রু হয় তবে আপনাকে সেগুলির মধ্য থেকে লুপ করতে হবে না, কেবল তাদের আপডেটের পদ্ধতিতে ওয়ার্ল্ড মুভমেন্টটি তাদের সাথে যুক্ত করা উচিত।
স্যার ইয়াকলোট

1
+1 টি। camera.setChaseEntity(player);এটি অর্জন করতে ব্যবহার করুন ।
মার্টিনটী ভার্গা

6

আমি সবসময় ক্যামেরাটি সরিয়ে রাখি এবং এটির সুপারিশ করব - আমি এটিকে পছন্দ করি কেন এমন অনেকগুলি কারণ রয়েছে তবে সবচেয়ে উল্লেখযোগ্যভাবে সম্ভবত এটি ফুটে উঠেছে:

  1. আপনি যদি ক্যামেরা এবং প্লেয়ারটি সরান, তবে এটি কেবলমাত্র দুটি সত্তা যা পর্দা স্ক্রোল করতে আপডেট করা প্রয়োজন।

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


আমি একমত নই, তবে আমি এটিকে যুক্ত করব যে শত্রু শ্রেণিতে বিশ্ব আন্দোলনের জন্য কেবল একটি লাইন + = 'যুক্ত করা মোটামুটি তুচ্ছ।
স্যার ইয়াকালোট

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

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

4

এটি সত্যিই বেশ তুচ্ছ, এটি আপনার বর্ণিত জিনিসগুলির থেকে আসলে কোনও পার্থক্য করে না।

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

যদিও আমি মনে করি আপনি যদি ব্যাকগ্রাউন্ডটি সরিয়ে নেন তবে আপনার যে কোনও পিকআপ এবং শত্রুদের পিতা বা মাতা করতে হবে যা আবার তুচ্ছ, তবে এটি ভাবার মতো বিষয়।

ব্যক্তিগতভাবে আমি খেলোয়াড়কে স্থানান্তরিত করব কারণ আমি পছন্দ করি যে জিনিসগুলি আরও বাস্তবের উপায়ে করা উচিত।


0

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

প্লেয়ার সরানো:

  • এটি সহজ, বাকি সমস্ত কিছুই স্থিতিশীল (ইশ), সুতরাং সরল ভাষায়, প্লেয়ারটি সরিয়ে নিতে আপনার কেবলমাত্র যা করতে হবে তা হল player.x += 5;(সিউডোকোড)।
  • এটি বেশিরভাগ মানুষের জন্য "আরও ভাল ক্লিক করুন"। আপনি যখন কোনও খেলা খেলেন, আপনি সর্বদা ভাবেন যে প্লেয়ারটি অন্যদিকে নয়, চলে। সুতরাং এটিকে "প্লেয়ারের সরানো উচিত, বিশ্ব নয়" হিসাবে ভাবা আরও সহজ, যার ফলস্বরূপ, কারও পক্ষে এটি তাদের মাথায় সংগঠিত করা আরও সহজ করে তুলতে পারে।
  • খেলোয়াড় কোথায় তা ট্র্যাক করা সহজ (এটি অবস্থানের মানচিত্রে এর স্থানাঙ্কগুলিও রয়েছে)

বিশ্ব মুভিং:

  • আপনার গেমটি যদি যথেষ্ট পরিমাণে বড় হয় তবে আপনাকে বিশ্বের কেন্দ্র থেকে অনেক দূরে সরে গিয়ে ওভারফ্লো / আন্ডারফ্লো সম্পর্কে চিন্তা করতে হবে না, কারণ প্লেয়ারের অবস্থান সবসময় খুব কাছাকাছি থাকে 0
  • উপরের মতো, 3 ডি গণনার সাথে যদি আপনি জগাখিচু হন তবে আপনার ভাসমান পয়েন্টগুলির সাথে ভুল ফলাফলগুলি নিয়ে চিন্তা করার দরকার নেই, কারণ আপনি পর্দায় যা কিছু দেখছেন তা বেশ কাছাকাছি হওয়া উচিত 0
  • যদি সঠিকভাবে করা হয় তবে আপনি একটি "অসীম" বিশ্ব তৈরি করতে পারেন।
  • খেলোয়াড়কে ম্যানুয়ালি ট্র্যাক করতে হবে, খেলোয়াড়ের অবস্থান সর্বদা একটি স্বল্প মূল্য হবে, যা খেলোয়াড়ের স্ক্রিনে কোথায় রয়েছে তা বোঝায় (কিন্ডা), খেলোয়াড় মানচিত্রের উপরের-বামে বা নীচে-ডানদিকে রয়েছে কিনা তা জানতে, আপনাকে কিছুটা ট্র্যাক রাখতে হবে।

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

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