فروشگاه اولترا بازی سازی، انیمیشن، جلوه های ویژه و موسیقی

ارسال محتوای دیجیتال شما
صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از 1 به 10 از 15

موضوع: برنامه نویسی شبکه در یونیتی

  1. Top | #1

    عنوان کاربر
    تاریخ عضویت
    فر ۱۳۹۴
    شماره عضویت
    5776
    نوشته ها
    35
    تشکر
    3
    تشکر شده 64 بار در 22 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان

    Amoozesh برنامه نویسی شبکه در یونیتی

    خوشبختانه من شب ها زیاد کاری ندارم پس می تونم از این کارها بکنم
    و مسلما هر بار دست میزارم رو بخشی که اموزش های فارسی کمتری داره .
    همانند تاپیک قبلی من در مورد پرداخت درون برنامه ای این تاپیک و اموزش رو به وسیله یک مثال عملی نشون خواهیم داد. و خوشبختانه این بار هم ارتباط مستقیمی با پروژه در حال انجام خودم داره برای همین کدها اماده ان :d . مجددا می گم مثال قابل اجرا نمی تونم بزارم چون کار برای من نیست
    برای این بخش ما از پلاگین فوتون که خیلی معروفه برای یونیتی کارها استفاده خواهیم کرد .
    به شخصه به نظرم خیلی مزه میده کار با شبکه . اگر چه در کنار تخصص اصلی من در مورد برنامه نویسی شبکه اما کلا تو یونیتی یه مزه خاصی میده .
    خب این به عنوان مقدمه این تاپیک .
    سعی می کنم زیاد طول نکشه این تاپیک چون مثال محوره پس طی سه یا چهارتا پست باید تموم بشه و مسلما چون ارتباط مستقیمی با کاری که دارم انجام میدم داره پیشرفت این هم منوط به انجام اون کاره .
    انشالله از اخر شب شروغ می کنم

  2. 3 کاربر به خاطر ارسال مفید hfakhari از ایشان تشکر کرده اند:

    Hamed-razor (۰۱-۲۶-۱۳۹۴),Kaveh.Shahedi (۰۱-۲۶-۱۳۹۴),parham_nrn (۰۱-۲۶-۱۳۹۴)

  3. Top | #2

    عنوان کاربر
    تاریخ عضویت
    آب‍ ۱۳۹۲
    شماره عضویت
    3821
    نوشته ها
    297
    تشکر
    79
    تشکر شده 142 بار در 106 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان
    من با فوتون کار کردم گزینه خوبیه فقط اگه بخوای خودت سرور بشی باید sdk جدا دانلود کنی و اونو start کنی.
    و قطع و وصلم با اینترنت ایران زیاد داره اگه به سرور خود فوتون وصل بشی.

  4. Top | #3

    عنوان کاربر
    تاریخ عضویت
    فر ۱۳۹۴
    شماره عضویت
    5726
    نوشته ها
    22
    تشکر
    13
    تشکر شده 17 بار در 9 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان
    منم با فوتون کار کردم اما شبکه خود یونیتی رو ترجیح می دم راحت ترم هست.مشکل فوتون اینه که یکی از پلیر ها masterClient میشه که بدرد بعضی بازی ها نمی خوره.مشکل دیگشم اینه که هرکی آبجکت خودشو میسازه و در حالی که همه ی آبجکت هارو باید سرور بسازه.

  5. Top | #4

    عنوان کاربر
    تاریخ عضویت
    فر ۱۳۹۴
    شماره عضویت
    5776
    نوشته ها
    35
    تشکر
    3
    تشکر شده 64 بار در 22 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان
    خب شروع می کنیم
    مطمئنا همه قبول دارین که چقدر لذت بخشه بازی های چند نفره . اصلا می تونیم بگیم دنیای بازی های رایانه ای دنیای بازی های تحت شبکه است . اینکه بتونیم با هم بازی کنیم . حالا هر بازی . هر تورنومنتی و غیره و غیره ... واقعا یکی از لذت بخش ترین لحظات در زندگی یه گیمره . حالا کاری که ما می خوایم تو این تاپیک بکنیم انجام یک مثال تحت عنوان تاپیکه که خب هم یه اشنایی با اعمال شبکه تو یونیتی بشه و نمی دونم
    پلاگینی که می خوایم از اون استفاده کنیم فوتونه محصول شرکت Exitgames
    این پلاگین به نظرم بهترین پلاگین برای کاربران یونیته که می خوان بدون دردسر اتصال و اعمال شبکه رو تو یونیتی انجام بدن . کارکردن باهاش خیلی ساده است البته یک سری قلغ (درست نوشتم ؟ ) داره که اون هم مربوط میشه به مباحث بهینه سازی که خب در حیطه این تاپیک نیست . البته من خودم به شخصه انتقاداتی هم به عملکرد این پلاگین دارم مثلا در بخش ساخت پلایر تحت شبکه خیلی بد عمل می کنه میشد به جای اینکه یک ابجکت رو تحت شبکه ساخت که عین حجم ابجکت رو بندازه رو ترافیک شبکه اون رو سریالیز کرد که خیلی سریعتر انجام بشه و ترافیک رو بهینه کنه یا مثلا تو بعضی بخش های سیاستی که پلاگین داره عمل می کنه زیاد جالب نیست. البته این مباحث رو دیگران هم مستقیما به شرکت سازنده اعلام می کنن که خب اونها هم خیلی خوب دارن برطرفش می کنن .
    قبل از ادامه بگم که کلی پلاگین برای شبکه در مورد یونیتی هست . حتی جدیدا هم شنیدم خود شرکت یونیتی کلا سیاست های کد نویسی شبکه رو تغییر داده و یه ساختار جدید می خواد معرفی می کنه . اسمش رو یادم رفته الان ولی اونطور که تو داکیومنت هاش می خوندنم به نظرم چیز فوق العاده ایه . یا مثلا فکر کنم اسم اسمارت فاکس رو هم شنیده باشین . حقیقتا بخوام حساب کنیم اسمارت فاکس رغیب نداره . اسکریپت های بخش مدیریتش فوق العاده است یعنی هر چی دلتون بخواد داره .فقط تنها مشکلش اینه که کمی تجربه می خواد کار باهاش . مخصوصا برای کاربر های یونیتی خیلی سخته بخوان باهاش کار کنن .
    بخوایم به طور کلی تشریحش کنیم میشه گفت ما با یک کتابخونه خام روبه رو هستیم که باید همه چیزش رو از اول بسازین که خب برای خیلی از کاربرهای یونیتی این خوشایند نیست . ولی اگه بتونین باهاش کار کنین از تمامی چیزهایی که تا حالا اومده بهتره .

    خب کار رو شروع می کنیم :
    اول از همه بگم که انتخاب اول تمامی پلاگین های شبکه یونیتی UDP . یه توضیحی بخوایم بدیم اینه که تو این پلاگین ما کلا چیزی به اسم گیرنده مشخص نداریم . مثل یه جور شبکه Broadcast بهتر بخوام بگم
    شبکه تلوزیون که خب سرعتش فوق العاده زیاده بنابراین می تونه انتخاب بسیار خوبی برای سازنده گان باشه .

    پلاگین فوتون رو می تونید از این ادرس دریافت کنید :
    http://exitgames.com/

    زمانی که وارد این سایت شدید با یک صفحه مدل بازار روزی روبه رو می شین . توجه داشته باشین که فوتون چند محصول داره مثل
    Photon unity - Photon RealTime - PhotonChat و غیره ....
    که خب هر کدوم از اینا کاربرد خودشون رو دارن . ما در اینجا از PhotonUnity استفاده می کنیم .
    ویژگی های این پلاگین :
    تقریبا ریل تایم بودن - چند پلتفرمه . یعنی شما می تونید به وسیله این پلاگین از گوشی اندروید با کامپیوتر بازی کنید ( تحت شرایط خاص )
    تو بنچمارک هایی که گرفته شده هم این پلاگین خوب عمل کرده .

    نکات مهم :
    lobby - room
    بخواهیم این دو توضیح بدیم می تونیم با این مثال شروغ کنیم
    فرض کنید ما می خوایم بریم هتل . وارد هتل میشیم در سالن هتل منتظر میشیم تا اتاقمون اماده بشه و بعد از اون به اتاقمون میریم . دقیقا همین مفهموم هم در خود بازی رعایت میشه .
    وارد سالن بازی میشیم و اتاقمون رو انتخاب می کنیم و بعدش به سمت اتاق برای بازی کردن میریم . حالا ممکنه این اتاق ها چند نفره هم باشه

    Master Client
    یا رئیس بازی معمولا در این پلاگین به عنوان کسی که بازی رو شروع می کنه شناخته میشه . البته قابلیت عوض کردن رئیس بازی هم هست



    دیگه اگه چیزی یادم اومد به همین پست اضافه می کنم .
    خب بخش مفاهیم اولیه رو تموم کردیم .
    فعلا پایان ...
    ادامه دارد ....

  6. کاربر زیر به خاطر ارسال مفید hfakhari از ایشان تشکر کرده است:

    parham_nrn (۰۱-۲۶-۱۳۹۴)

  7. Top | #5

    عنوان کاربر
    تاریخ عضویت
    آب‍ ۱۳۹۱
    شماره عضویت
    1778
    نوشته ها
    1,159
    تشکر
    400
    تشکر شده 1,202 بار در 539 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان
    نقل قول نوشته اصلی توسط parham_nrn نمایش پست ها
    مشکل دیگشم اینه که هرکی آبجکت خودشو میسازه و در حالی که همه ی آبجکت هارو باید سرور بسازه.
    بسم الله الرحمن الرحیم
    سلام،
    ساخت آبجکت ها توسط سرور ، فقط بار بسیار سنگینی رو به سرور وارد میکنه و باعث بروز لگ و دیلی میشه.
    هرچه بشه تا حد امکان ، اتفاقات از طرف کلاینت انجام بشه بهتره و بازی روان تری خواهد بود.
    مهمترین کار سرور ، انتقال داده و ایجاد ارتباط بین کاربراست + بررسی حالات چیت و هک برای جلوگیری از این اتفاق.
    امضای ایشان

  8. 2 کاربر به خاطر ارسال مفید Unity.Miladfathi از ایشان تشکر کرده اند:

    Amin_it (۰۱-۳۱-۱۳۹۴),parham_nrn (۰۱-۲۶-۱۳۹۴)

  9. Top | #6

    عنوان کاربر
    تاریخ عضویت
    فر ۱۳۹۴
    شماره عضویت
    5726
    نوشته ها
    22
    تشکر
    13
    تشکر شده 17 بار در 9 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان
    خیر.اگه سورس بازی های مولتی پلیر رو دیده باشید همه ی آبجکت ها در سرور قرار دارن واسه همین به یه vps برای سرور نیازه.اینی که شما میگید نمونش میشه Minecraft یا WoW که میبینید تو بخش مولتی خیلی ضعیف عمل کرده.شما مودم رو از وسط 2 نصف کنی باز هم خیلی راحت راه میری و خونه میسازی بعد 10 ثانیه میبینی همش پوچ بود.یا اینکه اگه شما نت ضعیفی داشته باشی و بازی تو سبک شوتر باشه کسی نمی تونه شمارو بزنه چون نمیبینن کجایی اصلا.یا اینکه فرض کنید سرور بخاد یه پلیر رو freeze کنه.اگه کلاینت خودش حرکات رو محاسبه کنه و به کلاینت های دیگه بفرسته مشکلات خیلی زیادی پیش میاد که برای یه بازی کوچیک چیزی نیست اما خب ..

  10. Top | #7

    عنوان کاربر
    تاریخ عضویت
    آب‍ ۱۳۹۱
    شماره عضویت
    1778
    نوشته ها
    1,159
    تشکر
    400
    تشکر شده 1,202 بار در 539 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان
    نقل قول نوشته اصلی توسط parham_nrn نمایش پست ها
    خیر.اگه سورس بازی های مولتی پلیر رو دیده باشید همه ی آبجکت ها در سرور قرار دارن واسه همین به یه vps برای سرور نیازه.اینی که شما میگید نمونش میشه Minecraft یا WoW که میبینید تو بخش مولتی خیلی ضعیف عمل کرده.شما مودم رو از وسط 2 نصف کنی باز هم خیلی راحت راه میری و خونه میسازی بعد 10 ثانیه میبینی همش پوچ بود.یا اینکه اگه شما نت ضعیفی داشته باشی و بازی تو سبک شوتر باشه کسی نمی تونه شمارو بزنه چون نمیبینن کجایی اصلا.یا اینکه فرض کنید سرور بخاد یه پلیر رو freeze کنه.اگه کلاینت خودش حرکات رو محاسبه کنه و به کلاینت های دیگه بفرسته مشکلات خیلی زیادی پیش میاد که برای یه بازی کوچیک چیزی نیست اما خب ..
    سورس بازی های مولتی پلیر آنلاین رو دیدم ، درموردشون تحقیق کردم و برنامه نویسی شبکه گیم هم کار کردم.
    متاسفانه برداشت شما اشتباه بوده . دلیلی که بازی های مولتی پلیر ریل تایم به شرور اختصاصی یا سرور مجازی احتیاج دارن ، فراهم آوردن بستر مناسب برای اجرای برنامه ی مستر سرور هست. برنامه های مستر سرور از اونجایی که عموما توسط زبان های برنامه نویسی مثل سی پلاس پلاس نوشته میشن . قابلیت ران شدن روی وب هاست ها رو ندارن. البته در بعضی از متد های شبکه میشه به طور کلی مستر سرور رو حذف کرد و ارتباطات رو بر پایه ی خود کلاینت های فعال در لحظه پیاده سازی کرد.
    بازی هایی همچون Call of duty , battle field , Fifa , league of legends ,..... چیزی رو توی سرور نمیسازن بلکه روند کلی کار توی سیستم شبکه ی Client-Server که یونیتی نیز چنین سیستمی داره (یونیتی از سیستم PvP یا CtoC پشتیبانی نمیکنه) اینه:

    • پک داده ها (شامل ورودی های کاربر) توسط کلاینتها به سرور ارسال میشه ---------->
    • سرور پس دریافت داده ها شبیه سازی رو شروع میکنه ----------------->
    • نتایج شبیه سازی رو به کلاینت ها بر میگردونه--------------------->
    • کلاینت ها بر اساس نتایج اعمال رو انجام میدن -------/


    گرچه من کل فرایند رو به شکل خیلی ساده ای و در چهار مرحله ی کلی گفتم.

    در مورد جمله ی آخر دربازه ی اینکه کلاینت حرکات رو محاسبه کنه و به بقیه کلاینت ها بفرسته . باید بگم که با توجه به گفته هام باید متوجه شده باشید که در سیستم Client-Server کلاینت ها به طور مستقیم هرگز ارتباطی ندارند و چیزی به هم نمیفرستند.
    اما عموما در پیشتر پیاده سازی های این سیستم ، کلاینت ها نیز علاوه بر سرور خودشون هم محاسبات لازم رو انجام میدن ولی در صورتی که این محاسبات با محاسبات دریافتی از سرور مغایرت داشت ، نتایج سرور رو به عنوان نتیجه ی قابل قبول در نظر میگیره.

    پس تمامی اشیا ی متحرک و ثابت ( محیط ، کاراکتر ها ، پارتیکل ها و.... ) از طرف خود کلاینت ساخته میشن و نه سرور ، وسرور تنها بر اساس داده های ورودی از کلاینت ها ، محاسبات را انجام میده و دستور اعمالشون میده ( فرضا دستور میده فلان کاراکتر در فلان جا و.... ساخته بشه ، کلاینت این دستورات رو میگیره و خودش با توجه به داشته هاش میسازه )

    البته مبحث تقریبا نو ظهوری وجود داره که به استریم کردن بازی های ویدیوی معروفه ، توی چنین سرویس هایی تمامی اتفاقات توی سرور انجام میشه و کلاینت هیچ نیازی به داشتن حتی خود بازی نداره حتی نیاز نیست سیستم مورد نیاز برای اجرای بازی رو داشته باشه . به طور ساده میشه گفت که کاربر تنها درحال مشاهده ی فیلمی از بازیست ( تمام بازی در جای دیگری اجرا میشه و کار بر فقط خروجی رو میبینه )
    ایده ی استریم بازی های ویدیو ، ایده ی بسیار جالب و آینده داری هست اما در حال حاضر به دلیل نیاز به زیرساخت های قابل توجه برای ارایه دهندگان این سرویس ها و اینترنت با سرعت بسیار بالا برای کاربران ، این ایده زیاد مورد استقبال قرار نگرفته.


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

  11. Top | #8

    عنوان کاربر
    تاریخ عضویت
    فر ۱۳۹۴
    شماره عضویت
    5726
    نوشته ها
    22
    تشکر
    13
    تشکر شده 17 بار در 9 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان
    بله موافقم.اما در یونیتی اگه آبجکت ها از طرف کلاینت ساخته شه کلاینت خودش اطلاعات رو از قبیل position و ... به سرور می فرسته فقط که این قابل قبول نیست.البته همه ی آبجکت ها نیاز نیست از طرف سرور ساخته شه مثلا projectile ها مختصاتشون کاملا قابل پیشبینی هست و سرور تنها محلی که projectile ساخته شده و جهتش رو به کلاینت ها میگه بعد خود کلاینت ها محاسبات رو انجام میدن.اما اونجور که من سورس بازی هارو دیدم اینه که کلاینت input هاشو به سرور میفرسته و حرکات پلیر در سرور انجام میشه. البته از سیستم prediction هم استفاده می کنن که خود کلاینت هم محاسباتی انحام میده و دیلی رو به شدت کاهش میده.

  12. Top | #9

    عنوان کاربر
    تاریخ عضویت
    به‍ ۱۳۹۳
    شماره عضویت
    5476
    نوشته ها
    2,357
    تشکر
    129
    تشکر شده 1,741 بار در 985 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان
    من با پلاگین android blutoth multiplayer بازیه دموی اون رو چک کردم رویه تبلت ارزون و یه گرون یعنی بین این دوتا .نمایش شخصیت کارکتر طرف مقابل رو دستگاه دیگری کنده
    میخواستم ببینم مشکل از سرعت پایین بلوتوثه یا دستگاه من
    مثلا کارکتر یه گوی سادس که حرکت میکنه اون گوی حرکتش رو دستگاه دیگری کند هس آیا روی یه بازی ریسینگ روش بلوتوث جواب میده

  13. Top | #10

    عنوان کاربر
    تاریخ عضویت
    فر ۱۳۹۴
    شماره عضویت
    5776
    نوشته ها
    35
    تشکر
    3
    تشکر شده 64 بار در 22 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان
    بدبخت فلک زده استارتر تاپیک
    پیشمون شدم بیاین همین سوالات رو جواب میدیم بازده بهتری داره

    من با فوتون کار کردم گزینه خوبیه فقط اگه بخوای خودت سرور بشی باید sdk جدا دانلود کنی و اونو start کنی.
    و قطع و وصلم با اینترنت ایران زیاد داره اگه به سرور خود فوتون وصل بشی.

    اگه فوتون سرور رو دانلود کنی خیلی مدیریت بهتره داره واسه وصل شدن فقط مشکلش اینه که بعد از یه مدت خود به خود اعتبارش تموم میشه و دیگه سخت میشه بالا اوردتش .
    در ضمن سرور فوتون هم عالی کار می کنه . فقط کافی که best region رو اعمال کنین روش تا بهترین سرور رو انتخاب کنه

    منم با فوتون کار کردم اما شبکه خود یونیتی رو ترجیح می دم راحت ترم هست.مشکل فوتون اینه که یکی از پلیر ها masterClient میشه که بدرد بعضی بازی ها نمی خوره.مشکل دیگشم اینه که هرکی آبجکت خودشو میسازه و در حالی که همه ی آبجکت هارو باید سرور بسازه.
    اتفاقا همینی که مستر کلاینت میشه مزیتشه در ضمن میشه مستر کلاینت رو هم تعویض کرد . و کلا هم به نظر من برای هر بازی این ویژگی لازمه . بلاخره استارتر کار باید یه امکانات بیشتری داشته باشه . به نظرم بگین کدوم بازی ها که بهتر در مورد حرف بزنیم .
    در مورد اون یکی هم روندش رو بررسی می کنیم
    نکته مهم اینه که همونطور که تو پست اولم گفتم روش ارسال به صورت udp یعنی شما message می فرستی و message می گیری
    مثلا :
    پلایر اول در خواستش رو می فرسته :
    نوع ابجکت - محلش و غیره و غیره ...
    تو سرور ساخت میشه
    بعدش دوباره همین روند تکرار میشه
    خب اخه چه خبره ؟؟؟ تکلیف پهنای باند چیه ؟

    خیر.اگه سورس بازی های مولتی پلیر رو دیده باشید همه ی آبجکت ها در سرور قرار دارن واسه همین به یه vps برای سرور نیازه.اینی که شما میگید نمونش میشه Minecraft یا WoW که میبینید تو بخش مولتی خیلی ضعیف عمل کرده.شما مودم رو از وسط 2 نصف کنی باز هم خیلی راحت راه میری و خونه میسازی بعد 10 ثانیه میبینی همش پوچ بود.یا اینکه اگه شما نت ضعیفی داشته باشی و بازی تو سبک شوتر باشه کسی نمی تونه شمارو بزنه چون نمیبینن کجایی اصلا.یا اینکه فرض کنید سرور بخاد یه پلیر رو freeze کنه.اگه کلاینت خودش حرکات رو محاسبه کنه و به کلاینت های دیگه بفرسته مشکلات خیلی زیادی پیش میاد که برای یه بازی کوچیک چیزی نیست اما خب ..

    اون چیزی که شما داری در موردش حرف میزنی تکنولوژی پردازش ابری که همه کارها رو تو سرور انجام میدن و بعدش فقط تصویری از اون رو به کاربر نشون میدن که اتفاقا تو یونیتی 5 هم این امکان قرار داده شده . در مورد این قضیه بهتره یه توضیحی بدم :
    چون تمامی این پلاگین ها از تکنولوژی سوکت بیس یا نهایتا وب سوکت استفاده می کنن تقریبا کارشون مثل همه
    سه طرف وجود دارن
    کلاینت
    سرور
    کلاینت هدف
    کلاینت اول پیغام می فرسته . دقت کنید فقط پیغام که به صورت بیت به بیت به سمت سرور میره غیر از این هیچ کاری نمی کنه
    سرور دریافت می کنه . کلاینت هدف رو مشخص می کنه و به سمت اون می فرسته و اون دریافت می کنه
    مثل فرایند اداره پست . شما نامه رو ارسال می کنی به طرف مقابل . نامه میره اداره پست و اون می بره برای گیرنده اینجا هم دقیقا همینه . اینکه یه بازی ضعیف عمل می کنه یعنی تعداد این پیغام ها خیلی زیاده که ارسال میشه . بهترین راهش اینه که شما بیای از تکنیک هایی که برای فشرده سازی هست استفاده کنی. مثلا زمانی که می خوای بیت ها رو ارسال کنی اونها رو سریالیز کنی و بعدش بفرستی . اینطوری حتی بیت هم به قسمت های کوچکتر می تونه تقسیم بشه !!! (یه تعریف ساده کردما ازش :d) در ضمن اینکه یه سرور بیاد پلایر رو فریز کنه مربوط به کار مدیریتی سروره . یعنی سازنده مشخص می کنه که پیغام ها و دستور العمل ها یی که به سرور میاد تحت چه شرایطی باشن


    بله موافقم.اما در یونیتی اگه آبجکت ها از طرف کلاینت ساخته شه کلاینت خودش اطلاعات رو از قبیل position و ... به سرور می فرسته فقط که این قابل قبول نیست.البته همه ی آبجکت ها نیاز نیست از طرف سرور ساخته شه مثلا projectile ها مختصاتشون کاملا قابل پیشبینی هست و سرور تنها محلی که projectile ساخته شده و جهتش رو به کلاینت ها میگه بعد خود کلاینت ها محاسبات رو انجام میدن.اما اونجور که من سورس بازی هارو دیدم اینه که کلاینت input هاشو به سرور میفرسته و حرکات پلیر در سرور انجام میشه. البته از سیستم prediction هم استفاده می کنن که خود کلاینت هم محاسباتی انحام میده و دیلی رو به شدت کاهش میده.
    نکته مهم اینجاست که بازم می گم واقعا هیچ چیزی تو سرور ساخته نمیشه و هیچ سازنده ای هم عذرخواهی می کنم دیوانه نیست این کار رو انجام بده . همه به دنبال راه های سریعتر هستن . بهتر می گم همه به دنبال کم کردن میزان تبادل اطلاعات هستن . اینکه بزاری بازی خودش انجام بده کار خودش رو به نظر من خیلی بهتره . مثلا شرایطی بخوای ایجاد کنی که بازی با منطقش عمل کنه . مثلا اعمال فقط کلیدی برای فعال شدن داشته باشن نه کل اعمالشون رو تو رد و بدل سرور حروم ترافیک کار کنیم
    در ضمن باز هم می گم هیچ حرکتی و سرور انجام نمیشه . سرور اساسا فقط مسئول برقراری ارتباطه همین !

صفحه 1 از 2 12 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

بازدید کنندگانی که با جست و جو این صفحه را مشاهده کرده اند:

آموزش برنامه نویسی سمت سرور در یونیتی

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •