آشنایی با انواع روش های ایجاد اتاق بازی «Room»

سرویس بلادرنگ «RealTime»

برای ایجاد یک اتاق «Room» بازی روش های متنوعی وجود دارد. استفاده از این روش ها به نوع بازی شما بستگی دارد و تاثیری در عملکرد اتاق پس از ایجاد و چرخه بازی ندارد. در ادامه با انواع این روش ها آشنا میشویم:

 

روش دستی «Manual»

این روش ساده ترین نوع ساخت اتاق بازی و برای جذب کاربران مختلف و عموما بیشتر از ۲ نفر کاربرد دارد. پس از اتصال به سرور کامند از توابع زیر استفاده میکنیم:

  • CreateRoom

این تابع با استفاده از مقادیر حداقل و حداکثر کاربران و قانون اتاق «یک مقدار توافقی دلخواه که حالت اتاق را نشان میدهد» و حالت خصوصی یک اتاق جدید میسازد. برای درک بهتر قانون اتاق در نظر بگیرید بازی شما از حالت آسان و سخت پشتیبانی میکند. برای اینکه کاربرانی که به دنبال اتاق های حالت آسان هستند یکدیگر را پیدا کنند مقدار قانون «Role» اتاق را بر روی آسان قرار میدهیم. توجه کنید در صورتی که اتاق را با حالت خصوصی بسازید این اتاق در لیست های جستجو نمایش داده نمیشود و طرفین دیگر اتاق باید به وسیله ایدی نتیجه تابع به یکدیگر متصل شوند.

  • JoinRoom

این تابع برای اضافه شدن به یک اتاق استفاده میشود. ورودی این تابع مقدار آیدی اتاق مورد نظر است.

 

روش پیدا کردن همبازی «AutoMatch - MatchMaking»

در این روش سرور با تهیه یک صف از افرادی که به دنبال یک مشخصات «حداقل و حداکثر بازیکنان و قانون اتاق» مشابه میگردند. اتاق هایی را ایجاد و اعضا را در آن قرار میدهد. در ادامه مراحل انجام این کار را با هم مرور میکنیم:

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

+ در صورت موجود نبودن اتاق، کاربر به صف افزوده میشود. در صورتی که مجموعه جدید کاربران قادر به ایجاد اتاق جدید باشند، اتاق جدید ایجاد و کاربران عضو خواهند شد.

+ در صورتی که تعداد کاربران در صف هنوز به حداقل مورد نیاز نرسیده باشد پیام انتظار برای کاربر جدید  و صف بروز شده برای کلیه کاربران ارسال میشود.

 

دعوت از دوستان

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

  • FindUser:

برای دعوت از دوستان ابتدا نیاز به یافتن آیدی کاربری آنها دارید. با استفاده از این تابع میتوانید به جستجو در میان کاربران بپردازید.

  • InviteUser:

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

حال کاربر دعوت شده با استفاده از توابع زیر میتواند به دعوت های انجام شده بپردازند:

  • GetInviteInbox:

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

  • AcceptInvite:

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

 

آشنایی با حالت ماندگار «Persist»:

در ورودی توابع createRoom و AuthMatch با روشن کردن این قابلیت میتوانید اتاق بازی را ماندگار کنید. در اتاق غیرماندگار قطع اتصال کاربر به معنی خروج کاربر از اتاق «Leave» و در صورتی که اتصال تمامی کاربران قطع شود اتاق از بین میرود. اما در اتاق های حالت ماندگار قطع اتصال تنها کاربر را آفلاین میکند و در صورت ذخیره آیدی اتاق با ورود دوباره به به بازی میتوانید در اتاق قبلی بپیوندید. توجه داشته باشید که اتاق های ماندگار همچنان در صورت خروج تمامی کاربران از اتاق حذف خواهد شد. 

حالت ماندگار برای بازی هایی که در یک نشست به اتمام نمیرسند مفید است. برای مثال میتوان بازی های استراتژی را نام برد.