জাভাস্ক্রিপ্টে মাল্টিপ্লেয়ার কীভাবে পরিচালনা করবেন?


12

আমি একটি মোবাইল মাল্টি প্লেয়ার গেমের জন্য প্রযুক্তি ব্যবহারের জন্য কিছুটা গবেষণা করছি।

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

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

গেমটি একাধিক ফোন প্ল্যাটফর্মগুলিতে টার্গেট হওয়ার কারণে, আমরা বলতে পারি যে ক্লায়েন্টটি জাভাস্ক্রিপ্টে লেখা হবে বা জাভাস্ক্রিপ্টের উপর ভিত্তি করে একটি ফ্রেমওয়ার্কে লেখা হবে। সার্ভার প্রযুক্তি সম্পূর্ণ উন্মুক্ত।

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

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

উত্তর:


15

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

টিসিপি-র জন্য আপনি একটি ওয়েবসকেট ব্যবহার করতে চাইবেন , তবে ব্রাউজার সমর্থন ওয়েবসকেটে অস্থির।

এর অর্থ টিসিপি অনুকরণ করার জন্য আপনার একটি কমমেট কৌশল ব্যবহার করা দরকার , একটি জনপ্রিয় অনুকরণ একটি ফ্ল্যাশ অ্যাপ্লিকেশনটিতে এম্বেড হওয়া একটি ওয়েবসকেট হবে।

Socket.IO একটি লাইব্রেরী (জন্য Node.js ) যে সমর্থন WebSockets এবং তাদের অ অনুবর্তী ওয়েব ব্রাউজারে একটি appropiate ফলব্যাক সঙ্গে অনুকরণ (এটা ফ্ল্যাশ এবং অন্যান্য ধূমকেতু কৌশল ব্যবহার করে)।

মাল্টিপ্লেয়ার জাভাস্ক্রিপ্ট গেমসের জন্য আমি সকেট.ইও এবং নোড.জেএস ব্যবহারের পরামর্শ দেব


1
: এখানে একটি বাস্তব সময় সঙ্গে HTML5 এর & ওয়েবসকেট প্রণীত খেলার নমুনা rawkets.com । : সোর্স কোড এখানে পাওয়া যায় github.com/robhawkes/rawkets
Elisée

1
এখানে দুই আরো উদাহরণ
Raynos

4

প্রশ্ন এবং স্বীকৃত উত্তর উভয়ই ২০১১ সালে প্রকাশিত হয়েছিল, এবং সময়গুলি এখন থেকে বেশ পরিবর্তন হয়েছে :)

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

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

<shameless self promotion>

আমি lance.gg এর মূল বিকাশকারীদের একজন , node.js এর উপর ভিত্তি করে একটি মাল্টিপ্লেয়ার গেম সার্ভার / লাইব্রেরি যেখানে আমরা উল্লিখিত অনেকগুলি সমস্যা সমাধান করেছি (এবং আরও অনেকগুলি!)। আমাদের লক্ষ্য জাভাস্ক্রিপ্ট গেম ডেভেলপারদের জন্য মাল্টিপ্লেয়ার গেম বিকাশকে আরও সহজ করে তোলা। আমি আপনাকে আন্তরিকভাবে এটিকে আপনার গেমটি তৈরির জন্য একটি প্রাথমিক পয়েন্ট হিসাবে ব্যবহার করার জন্য আমন্ত্রণ জানাচ্ছি।

</shameless self promotion>


1

এটা যাচাই কর:

  • ওয়েবসকেট (দ্বি-দিকনির্দেশক, সম্পূর্ণ দ্বৈত যোগাযোগ চ্যানেলগুলি, একটি একক ট্রান্সমিশন কন্ট্রোল প্রোটোকল (টিসিপি) সকেটের ওপরে)
  • Node.js
  • নোড.জেএস কি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.