নোড.জেএস এর জন্য রিয়েলটাইম মাল্টি প্লেয়ার গেম ডিজাইন নীতি


12

আমি মাল্টি প্লেয়ার নেটওয়ার্কিংয়ের ভালভ নিবন্ধটি পড়ছি যা ইয়াহ্ন বার্নিয়ার 2001 এর ক্লায়েন্ট / সার্ভার ইন-গেম প্রোটোকল ডিজাইন এবং অপ্টিমাইজেশনে লেটেন্সি ক্ষতিপূরণ পদ্ধতি নামক পেপার থেকে অভিযোজিত হয়েছিল । আমি সকেট.ইওর মাধ্যমে ক্লায়েন্টের সাথে সংযুক্ত নোড.জেএস সার্ভারটি ব্যবহার করে একটি রিয়েলটাইম মাল্টি প্লেয়ার গেম তৈরি করছি এবং নীচে বিস্তারিত নীতিগুলি সম্পর্কে আমার কয়েকটি প্রশ্ন রয়েছে:

সত্তা ইন্টারপোলেশন

[অন্তর্বর্তীকরণ] সাধারণভাবে সার্ভার আপডেটগুলি বাফার করে এরপরে সহজেই ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে চালানো দ্বারা বিভ্রান্তিকর গতি বাধা দেয়। এটি প্যাকেটের ক্ষতির কারণে সৃষ্ট গণ্ডগোল থেকে রক্ষা করতে পারে।

ক্লায়েন্ট-সাইড প্রেডিকশন

ভবিষ্যদ্বাণী হ'ল ক্লায়েন্টের ধারণাটি স্থানীয় প্লেয়ারের ক্রিয়াকলাপগুলির প্রভাবগুলির পূর্বাভাস দেওয়ার জন্য সার্ভারের জন্য অপেক্ষা না করে them কোনও মিল বা মিস-মিল খুঁজে না পাওয়া পর্যন্ত কোনও সত্তার পূর্বাভাসপ্রাপ্ত রাষ্ট্রটি সার্ভার কমান্ডগুলির বিরুদ্ধে পরীক্ষা করা হয়।

লগ ক্ষতিপূরণ

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

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

  • এমনকি আমি ইউডিপি এবং নোড.জেএস ব্যবহার করে কোনও সার্ভার এবং ওয়েব ব্রাউজার এবং তদ্বিপরীতগুলির মধ্যে যোগাযোগ করতে পারি?

  • যেহেতু কাগজটি এক দশকেরও বেশি পুরানো হয়েছে এই নীতিগুলি এখনও ব্যবহারের মধ্যে রয়েছে বা অন্য প্রযুক্তিটি উপস্থিত হয়েছে?

কোন সাহায্যের অনেক প্রশংসা হবে।


1
জনপ্রিয় বিশ্বাসের বিপরীতে, মাল্টিপ্লেয়ার গেমসের জন্য আপনাকে আসলে ইউডিপি লাগবে না। সেরা থেকে শিখুন; বাহ টিসিপি ব্যবহার করে এবং আমি বিশ্বাস করি যে অন্যান্য অনেক এএএ মাল্টিপ্লেয়ার গেমগুলি করে। লোকেরা কেবল কোনওরকম পরামর্শ অনুসরণ করে এবং তারপরে তারা পরের 5 মাসগুলি নিজেরাই টিসিপির একটি খারাপ এবং ধীর সংস্করণ প্রয়োগ করে ব্যয় করে!
jcora

1
(অবশ্যই, যদি না আপনি অবশ্যই নিশ্চিত যে আপনার কাছে ইউডিপির একটি শালীন প্রোটোকল বিকাশের জন্য জ্ঞান এবং সংস্থান রয়েছে যা এর সুবিধাগুলি ব্যবহার করতে পারে))
জ্যাকোরা

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

@ ইয়ানবাবেন জানতেন না যে ওয়াও টিসিপি ব্যবহার করে। আমি যেটা খুঁজে পেলাম তার থেকে অনেকগুলি এমএমও করার মতো মনে হয়। এইচটিএমএল 5 এর সাথে মাল্টিপ্লেয়ার গেমগুলি লেখার বিষয়ে আমাকে আরও অনেক বেশি আত্মবিশ্বাসী করে তোলে। ধন্যবাদ!
dreta

উত্তর:


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

1
আমার ধারণা এটি পুরানো - ওয়েবআরটিটিসি হ'ল ইউডিপির মতো যোগাযোগের উপায় হওয়া উচিত, তাই না?
নিকোলে তেসেনকোভ

4

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

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


1

আমি বিশ্বাস করি প্রযুক্তিটি প্রায় একই রকম। এছাড়াও, আপনি কোন ভাষাটি ব্যবহার করেন বা আপনি ইউডিপি বা টিসিপি করেন কিনা সে সম্পর্কে ধারণাগুলি নির্ভর করে না। আমি এখানে পুরো বিষয়টির খুব বিস্তারিত ব্যাখ্যা লিখেছি http://www.gabrielgambetta.com/fpm1.html , সুন্দর চিত্র সহ :)

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