آموزش ساخت بازی چندنفره: مفاهیم اوّلیّه

هرج و مرج اینترنت

خوب. همان طور که گفتیم بعد از این‌که سیگنالینگ سرور نقش خود را ایفا کند در بازی دخالتی نخواهد کرد و نقش هاست بازی بر عهده‌ی یکی از بازی‌کنان می‌افتد. پیرها فقط به هاست اطّلاعات می‌فرستند ولی هاست می‌تواند به هرکسی اطّلاعات بفرستد. یعنی اگر مثلاً دو تا پیر بخواهند مستقیماً با هم ارتباط داشته باشند باید از طریق هاست اطّلاعات را به هم بفرستند.

اگر قرار بود بازی چندنفره فقط در یک شبکه‌ی محلّی (LAN) مثل شبکه‌های خانگی یا دفتر کار اجرا شود کار ساخت آن خیلی راحت‌تر بود. امّا اینترنت پدیده‌ای بسیار پیچیده‌تر است. بین دو بازی‌کن اینترنتی می‌تواند حدود 10 تا 20 دستگاه شبکه (مثل مودم و روتر) وجود داشته باشد. دستگاه‌هایی که در طول این مسیر وجود دارند برای هر جفت از بازی‌کنان متفاوت است. برای هر پیام ساده‌ای که فرستاده می‌شود، هر دستگاه واقع در مسیر باید یک بسته از اطّلاعات را دریافت کند، بخواند، بفهمد که چیست و به کجا باید فرستاده شود، و سپس آن را مجدّداً به دستگاه بعدی بفرستد. حالا اگر شما به بازی‌کنی متّصل شوید که آن طرف آب زندگی می‌کند، احتمال آن خیلی زیاد است که اطّلاعات از طریق کابل‌های زیر آبی که معمولاً ترافیک بسیار زیادی دارند منتقل شود.

هرج و مرج اینترنت

هر دستگاه واقع در مسیر به طور عجیبی بسته‌های دریافتی را در طیّ فقط چند هزارم ثانیه[1] به دستگاه بعدی منتقل می‌کنند. امّا به خاطر وجود تعداد زیادی دستگاه در مسیر این زمان افزایش می‌یابد. اگر حتّی یکی از این دستگاه‌ها در طول مسیر دیر بارگیری شود باعث می‌شود زمانی که طول می‌کشد تا اطّلاعات ارسال شوند افزایش یابد. این دستگاه‌ها، مثل هر کامپیوتری ممکن است کرش کنند، با کمبود حافظه مواجه شوند، برای نگهداری خاموش‌شان کنند، برق‌شان برود، در ارائه‌ی خدمات دچار باگ شوند و غیره. به خاطر مهندسی پیشرفته‌ای که در این زمینه انجام شده است، در چنین شرایطی روترها بسته‌های اطّلاعات را دوباره می‌فرستند و دستگاه مشکل دار را دور می‌زنند و یا حتّی آن‌ها را از مسیرهای دیگری به مقصد می‌رسانند. همه‌ی این کارها می‌توانند باعث ایجاد تغییرات موقّتی یا دائمی زمان‌بری در مسیر انتقال اطّلاعات شوند.

اگر یک بازی‌کن از لندن در انگلستان بخواهد با یک بازی‌کن از سیدنی در استرالیا بازی کند، اطّلاعات بازی باید حدود 17000 کیلومتر راه را طی کنند. حالا طبق قوانین فیزیکی اگر در نظر بگیریم اطّلاعات در یک خطّ مستقیم و با سرعت نور ارسال می‌شوند، حدود 57 میلی‌ثانیه طول می‌کشد تا اطّلاعات منتقل شوند. از نظر فیزیکی امکان ارسال اطّلاعات از این سریع‌تر غیر ممکن است. درضمن کابل‌های این مسیر کاملاً در یک خطّ مستقیم قرار ندارند، و در این مسافت بسیار طولانی طبیعتاً دستگاه‌های روتر بسیار بیشتری وجود دارند و زمان خیلی بیشتری صرف می‌شود.

 

[1] از این پس به جای عبارت «هزارم ثانیه» از «میلی‌ثانیه» یا همان ms استفاده می‌کنیم.

سؤالات فنی خود را فقط در انجمن بپرسید. در غیر این صورت پاسخ داده نخواهد شد.
۳۳ نظر

افزودن دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تمامی حقوق برای مرجع تخصصی کانستراکت محفوظ است.