در این پست با این تصور که ما قصد داریم از مدل کلاینت سروری برای ساخت بازی آنلاین استفاده کنیم، روش های مختلف ساخت بازی آنلاین را بررسی می کنیم. در همه این روش ها می توان بخشی از منطق بازی را روی سرور اجرا کرد و یا کل منطق را در سرور اجرا کرد و نتیجه را به کلاینت ها ارسال کرد. برای داشتن دیدی مناسب ابتدا باید انواع بازی را از نظر شبکه بررسی کنیم و بعد به روش های ساخت بپردازیم.

بازی ها از نظر شبکه به دو گروه پر ترافیک و کم ترافیک تقسیم می شوند. تعداد کاربران هم زمان، میزان داده ای که باید از هر بازی کن به سرور ارسال شود، میزان داده ای که سرور باید به هر بازی کن ارسال کند و تعداد دفعات مورد نیاز برای ارسال داده ها این موضوع را مشخص می کنند. بعضی بازی ها مثل بازی های MMO تحت وب شبیه تراویان میزان داده بسیار کمی را در فواصل زمانی طولانی بین کلاینت و سرور جا به جا می کنند و بعضی مثل Call of duty باید در ثانیه حدود 40 بار بخشی از داده های هر کلاینت را به سرور ارسال کنند و وضعیت فعلی دنیای بازی را نیز از سرور بگیرند. همچنین از نظر زمان پاسخ گویی، بعضی بازی ها طوری هستند که پاسخ می تواند چند صد میلی ثانیه بعد از سرور به کلاینت برگردد و در برخی بازی ها بیش از چند ده میلی ثانیه فاجعه محسوب می شود.

بازی هایی مثل clash royale که در وسط دو گروه بسیار سریع و بسیار کند قرار می گیرند و ارتباط realtime نسبتا سریع برای آن ها لازم است ولی اگر مثلا یک پیام 200 میلی ثانیه دیر برسد هم در کلاینت می توان جلوی بروز مشکل و متوجه شدن کاربر را گرفت. در مقابل برای بازی های FPS و Racing سرور حتما باید سریع باشد و همه چیز را با بالاترین سرعت ممکن بین کلاینت ها جا به جا کند و تصمیمات خود را نیز بگیرد. در بازی هایی مثل Clash of clans حتی یکی دو ثانیه هم قابل تحمل است و فشار شدیدی روی سرور نیست زیرا بازی کلا به شکل async می باشد و اصلا ارتباط real time بین کاربران برقرار نمی شود.



ادامه مطلب در وبسایت خدمات ساخت بازی آنلاین آپادانا