آشنایی با GProtocol؛ زیرپوستِ هیجانِ بازی ها!

پروتکل بازی های مالتی پلایر گیم سرویس
پروتکل بازی های مالتی پلایر گیم سرویس

اگر از دوست داران بازی های رایانه ای باشید حتما تجربه ی رقابت آنلاین را داشته اید. با دوستان در یک رقابت پیش میروید و تاثیر هر حرکت خود را از صدای دوستتان میشنوید!

همین موضوع چالش اصلی پیاده سازی بازی های آنلاین است. همه چیز از یک لحظه قبل فراموش میشود و تنها رویداد های درلحظه اهمیت دارند. همین موضوع ساده باعث میشود تا توسعه دهندگان انواع رایج پروتکل ها را کنار گذاشته و مجبور به تهیه پروتکلی متناسب با نیاز این نوع بازی ها کنند.

گیم سرویس که ارایه دهنده ی این قابلیت به توسعه دهندگان است پروتکل اختصاصی خود را به نام GProtocol معرفی کرده است. در ادامه به معرفی این پروتکل میپردازیم:

سوال نخست این است که چرا از TCP و UDP استفاده نمیشود؟

درپروتکل TCP اطلاعات به صورت یک رشته ی به هم پیوسته بین دو دستگاه که با یکدیگر ارتباط برقرار کرده اند ارسال میشود. این پروتکل دریافت شدن، ترتیب داده و سرعت ارسال داده را مدیریت میکند. اگر این صفحه را مطالعه میکنید پس در حال استفاده از این پروتکل هستید!

علاوه بر مزایا، مشکلاتی نیز وجود دارد:

  • ما در بازی درلحظه فقط به اطلاعات حالا نیاز داریم! در این روش اشکال در ارسال داده های قدیمی باعث توقف ارسال رشته شده تا داده ها به ترتیب دریافت شوند. در صورتی که داده ها تنها زمانی کارامد هستند که به موقع برسند.
  • در این پروتکل ارسال تمام داده ها تضمین میشود. در برخی موارد استفاده سرعت ارسال داده بر تضمین دریافت تمام داده ارجعیت دارد. فرض کنید کاراکتر بازی در حال حرکت به یک سمت میباشد. در صورتی که یکی از پیام های «موقعیت: 12و14» به سمت دیگر نرسد، این جا به جایی با ارسال پیام بعدی اصلاح خواهد شد.

از طرف دیگر پروتکل UDP داده ها را به صورت بسته ای ارسال ولی ترتیب و دریافت و کنترل سرعت آن را تضمین نمیکند. حال اگر میتوانستیم پروتکلی بسازیم که ترکیبی از این دو باشد و بتواند به صورت انتخابی قابلیت هایش را برای بسته ای مشخص خاموش یا روشن کند به هدف خود رسیده ایم!

GProtocol با پیاده سازی برخی قابلیت های TCP بر روی UDP سرعت و تضمین ارسال را برای داده های بازی ها فراهم میکند. این قابلیت ها ازدحام پیام های ارسالی به بازیکن خاص را کنترل کرده و درصورتی که دریافت پیامی تا حداکثر زمانی مشخص تایید نشود عملیات بازارسال آن را انجام میدهد.

ترکیب این نوع اتصال با سرور های گیم سرویس باعث میشود بازی های میزبانی شده بدون نگرانی از عملکرد فنی بتوانند بازی هایی با هیجان و کیفیت بالا تولید کنند.

شما میتوانید با ثبت نام در گیم سرویس و افزودن SDK، بازی های آنلاین و هیجان انگیز تولید کنید.