نتکُد چیست؟
نِتکُد یک عبارت عامی است که از سوی هم گیمرها و هم توسعهدهندگان برای صحبت درباره موضوعی گسترده و پیچیده استفاده میشود: شبکهسازی در بازیهای آنلاین. میتوانید به آن به چشم فونداسیون تمام بازیهای چندنفره ...
نِتکُد یک عبارت عامی است که از سوی هم گیمرها و هم توسعهدهندگان برای صحبت درباره موضوعی گسترده و پیچیده استفاده میشود: شبکهسازی در بازیهای آنلاین. میتوانید به آن به چشم فونداسیون تمام بازیهای چندنفره نگاه کنید، و وقتی آن فونداسیون ثبات نداشته باشد، دیگر هیچچیز مهم نیست. آنلاین بازی کردن سرگرمکننده نخواهد بود. هنگامی که نت کد «خوب» است احتمالاً اصلاً متوجهاش نمیشوید. اما وقتی نت کد «بد» است، منظور مردم از این گفته چیست؟ درباره چه مشکلاتی صحبت میکنند؟
نت کد چتری است که بسیاری از ابعاد گیمینگ مبتنی بر شبکه را زیر سایه خود میآورد. این راهنما به شما کمک میکند که با این ابعاد آشنا شوید و درک کنید که چه عواملی به ساخت یک نت کد خوب یا بد منجر میشود. برای شروع بیایید به عباراتی کلیدی بپردازیم که احتمالاً در مباحث عمیقتر درباره نت کد مطرح میشوند.
بیشتر بخوانید:
- چطور در شوترهای اولشخص هدفگیری بهتری داشته باشیم؟
- نگاهی عمیق به پلی استیشن 5
- رهگیری پرتو چیست و برای بازیهای ویدیویی به چه معناست؟
عباراتی در حوزه نت کد که باید بدانید
پینگ
تا به حال فیلم The Hunt For Red October را دیدهاید که در آن از یک «پینگ» برای بررسی فاصله میان زیردریاییهای آمریکایی و روسی استفاده میشود؟
پینگی که در جدول امتیازات بازیها یا در مرورگر سرورهای آنها به نمایش در میآید، کمابیش چنین چیزی است.
وقتی یک کامپیوتر یا کنسول، سرور را «پینگ» میکند، یک درخواست پژواک ICMP (یا پروتکل کنترل پیامهای اینترنتی) به سرور بازی میفرستد که سپس به این درخواست با بازگشت آیسیامپی پاسخ داده میشود. مدت زمان بین ارسال درخواست و دریافت پاسخ، پینگ شما در سرور بازیست. این یعنی با پینگ ۲۰ میلیثانیه، ۱۰ میلیثانیه طول میکشد تا اطلاعات از کلاینت به سرور برود و ۱۰ میلیثانیه تا برگردد.
پینگ بالاتر یعنی نوعی لگ یا تاخیر وجود دارد و به همین خاطر است که دلتان میخواهد روی سرورهایی با کمترین میزان پینگ بازی کنید؛ زیرا این بنیادینترین لازمه برای کسب تجربه درست از بازیهاست.
مسیریابی
یک بسته شبکه (دیتا پَکِت) با سرعتی کمابیش ثابت حرکت میکند، بنابراین پینگ یک بازیکن مستقیما تحت تاثیر فاصله دستگاهش با سرور قرار میگیرد. با این حال کابلهای مسی و فیبر نوری مسیری مستقیم به سمت دیتاسنتر را در پیش نمیگیرند، بنابراین مسیر دیتاسنتری که از لحاظ فیزیکی دور است، گاهی کوتاهتر از مسیر دیتاسنتری خواهد بود که از لحاظ فیزیکی به شما نزدیک است.
فاکتور دیگری که مدتزمان انتقال دیتا را را تحت شعاع قرار میدهد، تعداد دفعاتی است که بسته داده در مسیر خود متوقف میشود. با هر توقف، این ریسک وجود دارد که یک بسته داده را از دست بدهید یا اصطلاحاً Packet Loss شوید.
در حال حاضر ابزارهایی مانند WTFast وجود دارد که تلاش میکند مسیرهایی «سریعتر» (در واقع کوتاهتر) با توقفهای کمتر برای شما بیابد. با این همه، میزان تاثیرگذاری این سرویسها به لوکیشن شما و خدماتدهنده اینترنت شما بستگی دارد. اگر خدماتدهنده اینترنت شما از قبل مسیرهای بسیار سریع/کوتاه را در اختیارتان گذاشته باشد، این سرویسها دیگر کارایی ندارند و حتی ممکن است تاخیرتان را افزایش دهند. بنابراین پیش از اینکه برای یکی از این سرویسها پولی بپردازید باید تست کنید که آن سرویس تاخیر را در اتصال شما کاهش میدهد یا خیر.
پَکِت لاس - دیتای من کجا رفت؟
هیچ تضمینی وجود ندارد که بسته داده شما واقعاً به مقصد یرسد. وقتی یک بسته محو میشود، به آن پکت لاس میگویند و میتواند مشکلی بزرگ برای اپلیکیشنهای بلادرنگ مانند بازیهای آنلاین باشد؛ زیرا ارسال دوباره دیتا، تاخیر را افزایش میدهد.
چه چیزهایی به پکت لاس منجر میشود؟
- مشکل میتواند نشئت گرفته از شبکه محلی (LAN) باشد
- پیسی شما ممکن است رابط کاربری شبکه یا درایورهای معیوب داشته باشد
- وایفای یا خط برق شما میتواند از تداخل یا ازدحام رنج ببرد
- یا ممکن است پورت شبکه یا کابل شبکه معیوبی داشته باشید
ضمناً روتر شما هم به خاطر مشکلات فرمور میتواند به پکت لاس منجر شود و بهخاطر یک مشکل سختافزاری نیز همینطور.
در این مواقع، بهروزرسانی فرمور، یا یک ریست ساده روتر میتواند به رفع مشکل کمک کند. در مواردی که مشکل شما به استفاده یک نفر دیگر از پهنای باند بازمیگردد، احتمالاً بهتر است روتری تهیه کنید که دیتای اپلیکیشنهای بلادرنگ را در اولویت قرار میدهد؛ مانند Edge Router X از شرکت Ubiquity.
اگر پکت لاس بیرون از شبکه خانگی شما رخ میدهد، تنها کاری که میتوانید بکنید برقراری ارتباط با پشتیبانی خدماتدهنده اینترنت و کمک خواستن از آنهاست.
نرخ بهروزرسانی
فاکتور دیگری که یک لایه اضافه بر سرعت انتقال دیتای ما (پینگ) اضافه میکند، تداوم ارسال و دریافت دیتا است.
وقتی یک بازی بهروزرسانیها را با نرخ ۳۰ هرتز (یعنی ۳۰ بهروزرسانی بر ثانیه) دریافت میکند، مدت زمان بیشتری میان بهروزرسانیها نسبت به بهروزرسانی با نرخ ۶۰ هرتز وجود دارد. با افزایش نرخ بهروزرسانی میتوانید تاخیری که به زمان انتقال دیتای شما اضافه شده را کاهش دهید.
نرخ پایین بهروزرسانی نهتنها تاخیر شبکه را تحت تاثیر قرار میدهد، بلکه مشکلاتی مانند «ابر گلوله - Super Bullet» نیز به وجود میآورد؛ یعنی زمانی که تنها یک تیر از اسلحه، آسیب بیشتری نسبت به آنچه باید وارد میکند. به این مشکل گاهی «مرگ ۱ فریمی» نیز گفته میشود و چرایی وقوع آن به این ترتیب است:
بیایید فرض کنیم که سرور بازی در هر ثانیه ۱۰ بهروزرسانی میفرستد، مثل بسیاری از بازیهای سری کال آو دیوتی و زمانی که کلاینت میزبان، خود بازی است. با این نرخ بهروزرسانی، ما ۱۰۰ میلیثانیه میان هر بهروزرسانی داریم که دقیقاً با فاصله شلیک دو تیر از اسلحهای با قابلیت شلیک ۶۰۰ گلوله بر دقیقه برابر است.
اما بسیاری از بازیهای شوتر مثل کال آو دیوتی، سلاحهایی با قابلیت شلیک ۷۵۰ گلوله در دقیقه دارند. در نتیجه همین مسئله، بهروزرسانیها کم است و بازی مجبور میشود چندین گلوله را با تنها یک آپدیت ارسال کند. بنابراین اگر دو گلوله به بازیکن برخورد کند، میزان آسیب این دو برخورد در یک بهروزرسانی ارسال میشود و بازیکن احساس میکند هدف یک ابر گلوله قرار گرفته که آسیب بیشتری نسبت به یک تیر معمولی به او وارد کرده است.
این موضوع به خودی خود نشان میدهد که نرخ آپدیت بالا نه تنها برای کاهش تاخیر شبکه مهم است، بلکه به کسب تجربه منسجمتری از بازیهای آنلاین منجر میشود. در نرخهای بهروزرسانی بالاتر، اندکی پکت لاس آنقدرها مشکلساز نیست. اما در نرخهای پایینتر، هم بازیکنی که از پکت لاس رنج میبرد با مشکلات اساسی مواجه خواهد شد و هم کسی که هدف گلولههای سلاح بازیکن بوده است. هرچه بستههای داده کمتری داشته باشید، اهمیت تکتکشان بالاتر میرود.
نرخ تیک
نرخ تیک یا نرخ شبیهسازی به ما میگوید که بازی چند بار در ثانیه به تولید و پردازش داده میپردازد.
در ابتدای یک تیک، سرور شروع به پردازش دادهای که دریافت کرده و بعد اجرای شبیهسازهای خود میکند. سپس سرور نتایج پردازش را تا زمان وقوع تیک بعدی به کلاینت میفرستد. هرچه سرور سریعتر تیک را به اتمام برساند، کلاینت هم زودتر داده جدید را از سرور دریافت میکند که در نهایت تاخیر میان بازیکن و سرور را کاهش میدهد. این موضوع به ثبت بهتر آمار برخوردها منجر میشود.
یک نرخ تیک یا شبیهسازی ۶۰ هرتزی، تاخیر به مراتب کمتری نسبت به نرخ ۳۰ هرتز به وجود میآورد؛ زیرا زمان بین هر گام از شبیهسازی کاهش مییابد. نرخ تیک ۶۰ هرتز ضمناً به سرور اجازه میدهد تا ۶۰ بهروزرسانی بر ثانیه بفرستد که در قیاس با ۳۰ هرتز، سیکل تاخیر میان کلاینت و سرور تا حدود ۳۲ میلیثانیه کاهش مییابد. (منفی ۱۶ میلیثانیه از کلاینت به سرور و منفی ۱۶ میلیثانیه دیگر از سرور به کلاینت).
با نرخ تیک ۶۰ هرتز، سرور تنها ۱۶ میلیثانیه برای پردازش و به پایان رساندن یک گام از شبیهسازی وقت دارد. بنابراین وقتی صحبت از عملکرد سرورها به هنگام کار با نرخی مشخص باشد، ضروری است که گام شبیهسازی در سریعترین زمان ممکن انجام شود یا حداقل فراتر از مدتزمان مشخص اختصاص یافته به پردازش نرود.
وقتی سرور به محدودیتهای خود نزدیک میشود یا حتی در پردازش یک تیک در بازه زمانی خود شکست میخورد، به سرعت متوجه تاثیرهای آن خواهید داشت؛ هرجور مشکل عجیب و غریبی که بتوانید تصور کنید در گیمپلی اتفاق میافتد، از بازیکنانی که تلهپورت میکنند و برخوردهایی که با هدف صورت نمیگیرد تا بهم ریختن فیزیک بازی.
مدلهای شبکه
حالا که بسیاری از جنبههای مربوط به نت کد را پوشش دادیم، بیایید نگاهی بیندازیم به ساختار اکثر بازیهای آنلاین. اگر ساده بگوییم، سه مدل شبکه وجود دارد که توسعهدهندگان میتوانند یکی را برای بازی چندنفره خود انتخاب کنند، هرکدام هم مزایا و معایب خاص خود را دارند.
1. سرور اختصاصی بازی
در این مدل از شبکه، توسعهدهنده میتواند از سرویسهای ابری مختلف مانند وبسرویسهای آمازون، مایکروسافت آژور یا سرویس کلاد گوگل برای میزبانی سرورهایی اختصاصی استفاده کند که بازیکنان به آنها متصل میشوند.
در این مدل، سرور بازی روی سختافزاری قدرتمند کار میکند و دیتاسنتر آنقدر پهنای باند دارد که بتواند تمام بازیکنان متصل شده به بازی را پوشش دهد. مقابله با تقلب و تاثیری که بازیکنان از پینگ بالاتر میگیرند قابل کنترلتر خواهد بود و دلیل آن طراحی متمرکزتر سرورها است.
از معایب سرورهای اختصاصی اینست که اگر بازی شما براساس این ایده ساخته نشده باشد که جامعه بازیکنان هزینهها را بپردازند، در آن صورت ناشر یا استودیوی سازنده بازی باید هزینهها را بپردازد که بسیار گران خواهد بود.
چالش دیگر اینست که اگر بازی شما به صورت جهانی عرضه شود، باید مطمئن شوید که تمام بازیکنانی که بازی را میخرند به سرورهایی با تاخیر کم دسترسی دارند. اگر چنین کاری نکنید، بسیاری از بازیکنان به به تجربه بازی با پینگ بالا مجبور میشوند که مشکلات زیادی برای تمام جامعه بازیکنان به وجود میآورد.
مدل شبکه سرورهای اختصاصی، بهترین انتخاب برای بازیهای آنلاین سریع با بیش از ۲ بازیکن است اما هزینهبر هم هست؛ زیرا شرکتهای حرفهای خدماتی مانند انرژی پردازشی، پهنای باند و لوکیشنهای میزبان را که همگی برای یک تجربه آنلاین عالی ضروری هستند در اختیار شما قرار میدهند.
2. هاست شدن کلاینت (لیسِن سرور - Listen Server)
یک رویکرد دیگر که بسیاری از مردم به اشتباه آن را همتا-به-همتا میخوانند، استفاده از پیسی یا کنسول یکی از بازیکنان برای میزبانی بازی است؛ در این صورت یک بازیکن علاوه بر تجربه بازی، نقش سرور را هم ایفا میکند.
با این مدل، استودیوهای بازیسازی مجبور به پرداخت هزینه بابت سرورهای گرانقیمت اختصاصی نیستند.
این مدل همچنین به بازیکنانی که در مناطق دورافتاده هستند اجازه میدهد تا با تاخیری نسبتاً کم قادر به بازی با یکدیگر باشند (اگر نزدیک به یکدیگر زندگی کنند).
یکی از مشکلات مهم این مدل از شبکه آن است که بازیکن میزبان، به خاطر اینکه هیچ لگی ندارد در جایگاهی برتر قرار میگیرد. او میتواند شما را زودتر ببیند و زودتر تیراندازی کند. میزبان ضمناً میتواند تاخیر برای سایر بازیکنان را به صورت مصنوعی افزایش داده و تقلب کند (به این کار Lag Switching یا Standbying گفته میشود).
مشکل دیگری که مدل لیسن سرور از آن رنج میبرد اینست که تمام بازیکنان معمولاً از طریق اینترنت خانگی هاست میشوند. در بدترین حالت، کامپیوتر کلاینت از طریق وایفای به اینترنت متصل است. چنین چیزی به صورت مداوم به لگ، پکت لاس، جهیدن بازیکنان و ثبت غیرقابل اتکای آسیبها منجر میشود. این مدل ضمناً نرخ بهروزرسانی را محدود میکند؛ زیرا اکثر اینترنتهای خانگی نمیتوانند فشار یک بازی ۱۰ نفره با نرخ ۶۰ هرتز را تحمل کنند.
میزبان قادر به مشاهده آیپی آدرس WAN تمام بازیکنان خواهد بود که به او اجازه میدهد این اتصالات را قطع یا محدود کند و یا آنها را مورد حمله محرومسازی از سرویس قرار دهد. و مقابله با تقلب هم نگرانی بزرگی است، زیرا تمام شبیهسازیها توسط کلاینت مدیریت میشود.
با این همه بزرگترین ایراد درباره بازیهایی که به میزبانی کلاینت برگزار میشود، مهاجرت میزبان است؛ پروسهای که در آن تمام بازی برای چند ثانیه متوقف میشود تا بازیکنی دیگر جایگزین میزبانی شود که بازی را ترک کرده است.در مجموع، وقتی یک توسعهدهنده از این مدل شبکه به جای سرورهای اختصاصی استفاده میکند، برای کاهش هزینهها بوده و نه ارائه بهترین تجربه از گیمپلی به بازیکنان.
3. همتا-به-همتا
مدل شبکه همتا-به-همتا عمدتاً در بازیهای ورزشی و مبارزهای که ۱ بازیکن در برابر ۱ بازیکن قرار میگیرد استفاده میشود، اما چند بازی چندنفره دیگر مثل دستینی و فور آنر هم از این شبکه برای رقابتهایی با بیش از دو بازیکن استفاده میکنند.
اگرچه پیادهسازی سرورهای اختصاصی یا لیسن سرورها تفاوت چندانی در بازیهای ویدیویی ندارد، نمیتوان چنین چیزی را درباره شبکههای همتا-به-همتا گفت، زیرا چندین ورژن مختلف از آن وجود دارد. بازیهای دستینی به عنوان مثال برخی از شبیهسازیها را روی سرورهای اختصاصی اجرا میکنند.
یک مسئله که در تمام متغیرهای همتا-به-همتا یکسان است، ارتباط مستقیم کلاینتها با یکدیگر است.
در نتیجه همین مسئله، بازیکنان میتوانند آدرسهای WAN IP تمام بازیکنان را مشاهده کنند؛ ضمناً به خاطر افزایش خطر حملات محرومسازی از سرویس، استریمرها معمولاً از این شبکهها دل خوشی ندارند. مشکل دیگر بازیهایی مثل دستینی و فور آنر که از شبکه همتا-به-همتا برای بازیهای بیش از دو نفره استفاده میکنند، افزایش ترافیک شبکه است که میتواند برای اینترنت خانگی بازیکنان دردسرساز باشد.
در قیاس با سرورهای اختصاصی، توانایی توسعهدهنده در جلوگیری از تقلب و کنترل بازیکنانی که پینگ بالاتری دارند در این مدل از شبکه محدود خواهد بود.
در بازیهای ۱ به ۱ مبارزهای یا ورزشی، شبکه همتا-به-همتا همچنان بهترین رویکرد خواهد بود زیرا سرور اختصاصی در این شرایط صرفاً تاخیر را افزایش میدهد و لیسن سرورها هم باعث برتری یک بازیکن بر بازیکن دیگر میشوند.
اما وقتی صحبت از بازیهای چندنفره سرعتی با بیش از 2 بازیکن باشد، تنها سرورهای اختصاصی هستند که میتوانند پهنای باند و انرژی پرداشی لازم برای نرخ تیک و نرخ بهروزرسانی بالا را فراهم کنند. همانطور که بالاتر هم گفتیم، وقتی یک توسعهدهنده به جای سرورهای اختصاصی از لیسن سرورها یا شبکه همتا-به-همتا در بازیهای چندنفره بیش از ۲ نفر خود استفاده میکند، این تصمیم صرفاً برای کاهش هزینهها بوده و قرار نیست تجربه آنلاین بهتری ارائه شود.
جبران لگ
با میزان معینی از تاخیر، تمام بازیکنان تحت تاثیر قرار میگیرند و این تاخیر میتواند ناشی از فاصله با سرور/میزبان، تعداد توقفهای بسته داده و نرخ تیک و نرخ بهروزرسانی سرور باشد.
اینجاست که خسارت لگ وارد صحنه میشود. به خاطر تاخیرهای به وجود آمده، شما جایی را میبینید که بازیکن چند میلیثانیه پیش آنجا بوده، نه جایی که همین حالا هست. اگر بازی حداقل بخشی از این تاخیر را جبران نکند، شما قادر به تیراندازی به حریفان نیستنید و اساساً به شبح آنها تیر میزنید.
اگرچه ما به جبران لگ برای بهبود تاخیر شبکه حین مبارزات نیازمندیم، بسیاری از بازیها بیش از حد جبران لگ میکنند. این کار باعث میشود بازیکنانی که اتصالی کمتاخیر و باثبات دارند تجربه بدی بهدست آورند زیرا ممکن است هنگامی که پشت یک جانپناه پنهان شدهاند آسیبی از بازیکنی با پینگ بسیار بالا دریافت کنند. بازیکنان Rainbow Six Siege به طور یقین میدانند که درباره چه چیزی صحبت میکنیم.
بنابراین در حالی که پینگ بالا اصلاً مفرح نیست، جبران تاخیری بیشتر از ۱۰۰ میلیثانیه باعث میشود هم بازیکنی که پینگ بالا دارد و هم بازیکنی که پینگ پایین دارد تجربهای بد به دست آورد.
استودیوی DICE تلاش کرده با جبران مقدار اندکی از تاخیر بازیکن، با این مشکل مقابله کند. به محض اینکه پینگ بازیکن از مقدار معین بالاتر میرود، سرور دیگر آن تاخیر اضافه را جبران نمیکند و بازیکن باید تیرهایش را با اندکی فاصله هدف گیرد تا خود قادر به جبران تاخیر در اتصال به سرور باشد.
نکتهای که هرچقدر روی آن تاکید کنیم کافی نیست اینکه ناشران و بازیسازان باید برای ارائه یک تجربه باکیفیت، روی سرورهای خود وقت بگذارند. دلیل اینکه بسیاری از بازیها انبوهی بازیکن با پینگ بالا دارند این حقیقت است که سرورهای کافی در تمام مناطق جهان در دسترس نیست. نتیجه این میشود که بسیاری از بازیکنانی به سروری با پینگ پایینتر از ۱۵۰ میلیثانیه دسترسی ندارند.
ثبت برخورد
دو نوع ثبت برخورد وجود دارد. نوع ساده و سریع آن، «هیتاسکن» نامیده میشود و در این نوع، گلوله هیچ مدت زمان پیمودن مسافتی ندارد. شما اساساً در حال لیزر شلیک کردن هستید. این نوع از ثبت برخورد معمولاً در شوترهایی استفاده میشود که مپهای کوچکی دارند و سرعت گلوله، فاکتور مهمی در مبارزات نزدیک نیست.
بازیهایی مانند بتلفیلد از از شبیهسازی فیزیک گلوله پیچیدهتری برای ثبت برخورد استفاده میکنند. تمام ترکشها سرعت حرکت و خط سیر خودشان را دارند و تحت تاثیر عوامل مختلف قرار میگیرند. بنابراین یک بازی اینطور ثبت برخورد را محاسبه میکند. اما این محاسبات در کجا انجام میشوند؟ در این زمینه هم چند گزینه وجود دارد.
ثبت برخورد میتواند توسط کلاینت بازی شما انجام شود که سپس به سرور اطلاع میدهد تیرتان با چیزی برخورد داشته است. اگرچه این روش باعث دقت بالای ثبت برخورد میشود، اما بسیار ریسکی است چون توسعهدهندگان روشهای تقلب، به راحتی قادر به تعبیه Aimbot یا هک افزایش دمیج در بازی خواهند بود.
اگر یک بازی از ثبت برخورد مبتنی بر کلاینت استفاده کند، لازم است که سرور هر گزارش برخورد را چک کند تا درستی آنها تایید شود.
در متد کلاسیک ثبت برخورد، این وظیفه به سرور محول میشود. کلاینت به سرور میگوید که تیر شما در چه جهتی شلیک شده است و سرور سپس تشخیص میدهد که آیا برخوردی صورت گرفته یا خیر. متاسفانه این روش مشکل هک و تقلب را رفع نمیکند، اما چالشهای جدیدی پیش روی هکرها میگذارد.
دی-سینک
در یک بازی چندنفره، تمام بازیکنها باید اتفاقاتی یکسان را شاهد باشند. دی-سینک زمانی اتفاق میافتد که به عنوان مثال یک در برای یک بازیکن باز است و برای دیگری بسته. این مشکل زمانی اتفاق میافتد که بازی از یک باگ رنج ببرد، یا مشکلات پرفورمنس داشته باشد یا اینکه ارتباط میان کلاینت و سرور یا ارتباط میان کلاینتها قطع شود. در این حالت کلاینت شما ممکن است از تغییر یک وضعیت باخبر نشود یا فلان بشکه که لحظاتی پیش منفجر شده در جای درست فرود نمیآید.
اشتباهات رایج درباره نت کد
اگر مقوله نت کد هنوز برایتان ابهامات زیادی دارد، تنها نیستنید. در ادامه برخی از اشتباهات رایج درباره نت کد را شرح میدهیم.
کافیست نرخ تیک را افزایش دهید و پینگ بالا دیگر اهمیتی نخواهد داشت
اگرچه افزایش نرخ تیک و بهروزرسانی از ۳۰ به ۶۰ هرتز واقعاً روی کاهش تاخیر تاثیرگذار است، هیچوقت نمیتواند مشکل پینگ بالا را «رفع» کند؛ زیرا ارسال مداومتر دیتا به سرعت انتقال سریعتر آن منجر نمیشود.
برای بازیهای آنلاین به ۱۰۰ مگابیت بر ثانیه نیاز دارید
وقتی یک خدمات دهنده اینترنت میخواهد طرح «اینترنت پر سرعت» به شما بفروشد، این عبارت صرفاً به پهنای باند اشاره دارد و «پر سرعت» یعنی دانلودها و آپلودهای شما در مدت زمان کوتاهتری به پایان میرسد. اما این موضوع بیشتر درباره ظرفیت است و نه سرعت جابهجایی دیتا.
پهنای باند تاثیری بر سرعت دیتا پکت ندارد. بنابراین اگر طرح اینترنت شما از ۱۰ مگابیت به ۱۰۰ مگابیت هم ارتقا پیدا کند، جابهجایی سریعتر نخواهد شد.
آنچه واقعاً میتواند بر سرعت دیتا پکت تاثیرگذار باشد، «فاکتور سرعت» کابلهای مسی یا فیبر نوری است که میان کلاینت شما و سروری که به آن متصل شدهاید قرار دارند.
فاکتور سرعت (VF%) سرعت حرکت یک سیگنال در سراسر کابل، در قیاس با سرعت نور است؛ به عنوان مثال فیبرهای نوری فاکتور سرعتی تقریباً معادل ۶۷ درصد دارند.
همانطور که میتوان در گراف پایین مشاهده کرد، اکثر بازیهای آنلاین پهنای آپاستریم (دیتای انتقالی از سمت کلاینت به سرور) و داوناستریم (دیتای انتقالی از سمت سرویسدهنده اینترنت به مشتری) اندکی نیاز دارند.
اساساً اگر اتصال اینترنت شما ۲ مگابیت آپاستریم داشته باشد، نباید با هیچ مشکلی مواجه شوید؛ مادامی که هنگام تجربه بازیهای ویدیویی شخصی دیگر مشغول دانلود یا آپلود دیتا نباشد یا روتری داشته باشید که دیتای اپلیکیشنهای بلادرنگ را اولویتبندی میکند.
وایفای به اندازه کافی برای گیمینگ خوب است
اکثر مشکلات شبکه در بازیهای آنلاین، ریشه در شبکه محلی بازیکن دارند؛ و وایفای و خط برق در این میان بیشترین سهم را از مشکلات ایجاد شده دارند.
وایفای شدیداً مستعد تداخل است، باند ۲.۴ گیگاهرتز اشباع است، باند ۵ گیگاهرتز بُرد کوتاهی دارد و پهنای باندی با تاثیرگذاری کم میتواند به سرعت به ازدحام شبکه منجر شود.
نقطه ضعف بزرگ دیگر وایفای اینست که اگر اکسس پوینت MU-MIMO نداشته باشید، کلاینت شما نمیتواند به صورت یکجا با اکسس پوینت «صحبت» کند. این موضوع به تاخیر بیشتر و جهش تاخیر (یا همان جیتر) منجر میشود، زیرا پیسی شما منتظر «نوبتاش» برای صحبت با اکسس پوینت است که ضمناً افزایش ریسک پکت لاس را هم افزایش میدهد.
بنابراین درحالی که استفاده از وایفای بیدردسری و آرامش خاص خود را دارد، برای گیمینگ افتضاح است و در نتیجه، باید تمام تلاشتان را به کار بگیرید تا از آن پرهیز کنید.
کال آو دیوتی از سرور همتا-به-همتا استفاده میکند
بازیهای سری Call of Duty هیچوقت از مدل شبکه همتا-به-همتا استفاده نکردهاند. برخی از بازیهای این فرنچایز صرفاً از سرورهای اختصاصی بهره گرفتهاند و برخی دیگر ترکیبی از سرورهای اختصاصی و لیسن سرورها بودهاند.
مواد لازم برای یک نت کد خوب
استفاده از بهترین مدلهای شبکه
همتا-به-همتا بهترین مدل شبکه برای بازیهای ورزشی و مسابقهای است که یک نفر در مقابل یک نفر قرار میگیرد. در این بین بازیهای اکشن سریع که بیشتر از ۲ بازیکن دارند باید از مدل سرور اختصاصی کنند تا بهترین تجربه آنلاین حاصل شود؛ هرچند که این مدل برای توسعهدهندگان هزینهبر است.
بازی باید حس واکنشپذیری داشته باشد
تیک و نرخ بهروزرسانی بالا از تاخیرهای اضافه میکاهد و «اَبَرگلوله» ها را خنثی میکند.
امنیت
دیزاین نت کد باید امنیت بالایی داشته باشد تا ساخت ابزارهای تقلب و هک، دشوار شود.
علاوه بر این، بازیکنان نمیخواهند که بازی آیپی آدرس آنها را به هرکسی نشان دهد؛ بنابراین نباید از شبکه همتا-به-همتا برای VOIP در عنوانی استفاده کرد که سرورهای اختصاصی دارد).
تاخیر پایین کلیدی است
مچمیکینگ در بازیهای آنلاین باید به گونهای باشد که از قرار دادن بازیکنانی با پینگهای متفاوت در کنار یکدیگر اجتناب کند.
هنگامی که از مدل شبکه سرور اختصاصی استفاده میشود، توسعهدهندگان باید در طراحی نت کد مطمئن شوند که تمام بازیکنان به سرورهایی با تاخیر کم دسترسی دارند. اگر سازندگان از این موضوع اطمینانی حاصل نکنند، عرضه جهانی بازی با مشکلاتی جدی صورت میگیرد؛ زیرا بازیکنان دوست ندارند با پینگ ۱۵۰ میلیثانیه یا بالاتر بازی کنند و بازیکنانی که پینگ ۲۰ میلیثانیهای دارند نیز نمیخواهند که وقتی پشت کاور هستند از بازیکنانی با پینگ بالاتر تیر بخورند.
محدودسازی جبران لگ
حتی اگر مچمیکینگ بهگونهای باشد که تمام بازیکنان پینگی یکسان داشته باشند، تاخیر یک بازیکن با پیشروی در هر مسابقه ممکن است افزایش یابد. بنابراین باید محدودیتی معقولانه روی میزان جبران لگ اعمال شود تا با بروز مشکلات اتصال برای یک بازیکن، تمام بازیکنان حاضر در بازی از آن رنج نبرند.
وقتی مشکلی بروز میکند، بازیکن حق دارد بداند
بازیکنان وقتی تجربه آنلاین ضعیفی کسب میکنند، شدیداً ناراحت میشوند و پیش از هر چیز بازی و طراحی نت کد آن را سرزنش میکنند. سازندگان بازیهای آنلاین باید وقتی مشکلی در اتصال وجود دارد، آن را برای بازیکن شرح دهند تا علت کسب چنین تجربه افتضاحی قابل درک باشد. علاوه بر این، وقتی سرور بازی مشکل دارد بازیکن باید از آن باخبر شود تا از سروری دیگر استفاده کند.
دیدگاهها و نظرات خود را بنویسید
برای گفتگو با کاربران ثبت نام کنید یا وارد حساب کاربری خود شوید.
عالی
ممنونم که این مطلب رو گذاشتید ! عالی بود !
ما که پینگمون تو آلتیمیت تیم صدوپنجا تاس
بعضی بازیا خوبه
بعضی بازیا کنده
بعضی وقتا بازیکنا ما حال ندارن
بعضی وقتا بازیکنا اونا حال ندارن
کلا به این بعضی وقتا عادت کردیم