ثبت بازخورد

لطفا میزان رضایت خود را از ویجیاتو انتخاب کنید.

1 2 3 4 5 6 7 8 9 10
اصلا راضی نیستم
واقعا راضی‌ام
چطور میتوانیم تجربه بهتری برای شما بسازیم؟

نظر شما با موفقیت ثبت شد.

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

نت کد
اخبار و مقالات

نت‎کُد چیست؟

نِت‎کُد یک عبارت عامی است که از سوی هم گیمرها و هم توسعه‎دهندگان برای صحبت درباره موضوعی گسترده و پیچیده استفاده می‎شود: شبکه‎سازی در بازی‎های آنلاین. می‎توانید به آن به چشم فونداسیون تمام بازی‎های چندنفره ...

شایان ضیایی
نوشته شده توسط شایان ضیایی | ۱۸ بهمن ۱۳۹۸ | ۲۳:۰۰

نِت‎کُد یک عبارت عامی است که از سوی هم گیمرها و هم توسعه‎دهندگان برای صحبت درباره موضوعی گسترده و پیچیده استفاده می‎شود: شبکه‎سازی در بازی‎های آنلاین. می‎توانید به آن به چشم فونداسیون تمام بازی‎های چندنفره نگاه کنید، و وقتی آن فونداسیون ثبات نداشته باشد، دیگر هیچ‎چیز مهم نیست. آنلاین بازی کردن سرگرم‎کننده نخواهد بود. هنگامی که نت کد «خوب» است احتمالاً اصلاً متوجه‎اش نمی‎شوید. اما وقتی نت کد «بد» است، منظور مردم از این گفته چیست؟ درباره چه مشکلاتی صحبت می‎کنند؟

نت کد چتری است که بسیاری از ابعاد گیمینگ مبتنی بر شبکه را زیر سایه خود می‎آورد. این راهنما به شما کمک می‎کند که با این ابعاد آشنا شوید و درک کنید که چه عواملی به ساخت یک نت کد خوب یا بد منجر می‎شود. برای شروع بیایید به عباراتی کلیدی بپردازیم که احتمالاً در مباحث عمیق‎تر درباره نت کد مطرح می‎شوند.

بیشتر بخوانید:

عباراتی در حوزه نت کد که باید بدانید

پینگ

تا به حال فیلم 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 در عنوانی استفاده کرد که سرورهای اختصاصی دارد).

تاخیر پایین کلیدی است

مچ‎میکینگ در بازی‎های آنلاین باید به گونه‎ای باشد که از قرار دادن بازیکنانی با پینگ‎های متفاوت در کنار یکدیگر اجتناب کند.

هنگامی که از مدل شبکه سرور اختصاصی استفاده می‎شود، توسعه‎دهندگان باید در طراحی نت کد مطمئن شوند که تمام بازیکنان به سرورهایی با تاخیر کم دسترسی دارند. اگر سازندگان از این موضوع اطمینانی حاصل نکنند، عرضه جهانی بازی با مشکلاتی جدی صورت می‎گیرد؛ زیرا بازیکنان دوست ندارند با پینگ ۱۵۰ میلی‎ثانیه یا بالاتر بازی کنند و بازیکنانی که پینگ ۲۰ میلی‎ثانیه‎ای دارند نیز نمی‎خواهند که وقتی پشت کاور هستند از بازیکنانی با پینگ بالاتر تیر بخورند.

محدودسازی جبران لگ

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

وقتی مشکلی بروز می‎کند، بازیکن حق دارد بداند

بازیکنان وقتی تجربه آنلاین ضعیفی کسب می‎کنند، شدیداً ناراحت می‎شوند و پیش از هر چیز بازی و طراحی نت کد آن را سرزنش می‎کنند. سازندگان بازی‎های آنلاین باید وقتی مشکلی در اتصال وجود دارد، آن را برای بازیکن شرح دهند تا علت کسب چنین تجربه افتضاحی قابل درک باشد. علاوه بر این، وقتی سرور بازی مشکل دارد بازیکن باید از آن باخبر شود تا از سروری دیگر استفاده کند.

دیدگاه‌ها و نظرات خود را بنویسید
مجموع نظرات ثبت شده (3 مورد)
  • Ali
    Ali | ۱۹ بهمن ۱۳۹۸

    عالی

  • arshia
    arshia | ۴ آبان ۱۳۹۸

    ممنونم که این مطلب رو گذاشتید ! عالی بود !

  • reza
    reza | ۳ آبان ۱۳۹۸

    ما که پینگمون تو آلتیمیت تیم صدوپنجا تاس
    بعضی بازیا خوبه
    بعضی بازیا کنده
    بعضی وقتا بازیکنا ما حال ندارن
    بعضی وقتا بازیکنا اونا حال ندارن
    کلا به این بعضی وقتا عادت کردیم

مطالب پیشنهادی