برنامه نویسی

Dashbot: 1v1 Space Robot Sprint Battle

این یک ارسال برای Alibaba Cloud Challenge: ایجاد یک بازی وب است.


آنچه من ساختم

من ساختم داشبوت، یک بازی نبرد Sprint Robot Space 1v1 که در آن بازیکنان نمی توانند راه بروند ، فقط با استفاده از “کد زباله” برای حرکت و حمله ، به جلو حرکت می کنند. فقط برای سرگرمی هااا ^ ^

قانون اساسی: شارژ ، خط ، ضربه زدن ، یا زدم. مراقب کوچک کردن فضای و دیوارهای تندرست باشید – آنها می توانند شما را نجات دهند یا شما را دور کنند.


نسخه آزمایشی

بازی در اینجا: نسخه ی نمایشی آنلاین

کد منبع: https://github.com/jianonghe/dashbot

عکس


اجرای خدمات ابری Alibaba

  • سرویس محاسبه الاستیک (ECS)

    برای میزبانی از سرور WebSocket که در زمان واقعی مسابقه ، همگام سازی پخش کننده و Battle Logic استفاده می کند ، استفاده می شود. ECS به من کنترل کامل بر شبکه سازی داد ، که برای گیم پلی کم تأخیر ضروری بود.

  • سرویس ذخیره شی (OSS)

    تمام دارایی های استاتیک مانند تصاویر ، صداها و کد جلوی آن در اینجا میزبانی می شوند. بارگذاری سریع بود و به طور قابل اطمینان به کاربران جهانی خدمت می کرد.

  • شبکه تحویل محتوا (CDN)

    تحویل دارایی شتاب از OSS ، به ویژه برای بازیکنان خارج از چین مفید است. بار بارگیری بسیار سریعتر.

  • رجیستری کانتینر ابر Alibaba (ACR)

    برای ذخیره تصاویر Docker برای خدمات باطن من استفاده می شود. این به من کمک کرد تا ساخت کارآمدتر را مدیریت کنم.


نکات برجسته توسعه بازی

  • قطع شده توسط قطعه های کد زباله ، فقط برای تفریح.
  • چند نفره در زمان واقعی: مسابقات 1V1 با قدرت WebSocket.
  • ساخته شده در 1 هفته: Dev سریع با پشتیبانی قوی از Alibaba Cloud.
  • برخورد فیزیک: قدرت شارژ بر آسیب و حذفی تأثیر می گذارد.
  • با الهام از Battlebots: متمرکز بر درگیری های هرج و مرج با کنترل های ساده و شارژ.
  • رنگ های تم: بر اساس Evangelion Unit-01-Purple و Green برای یک پرشکوه علمی تخیلی.

مشکلاتی که به آن رسیدم:

  • مسئله برخورد شبح: گاهی اوقات دو بازیکن به دلیل تأخیر در سرور با هم همپوشانی می کنند ، و برخورد با آنها احساس “نرم” یا پاسخگو نمی کنند. با افزایش نرخ همگام سازی و بهبود پیش بینی سمت مشتری ثابت شده است.

  • رانش نرخ تازه سازی بالا: در ویندوز با مانیتورهای تازه سازی ، فیزیک شروع به شکستن کرد. با مجبور کردن همگام سازی قاب حل شد.

  • تأخیر و دز: مشکلات بازی شبکه کلاسیک – نرخ تیک تیک تنظیم شده ، درون یابی و هنوز اشکالات عجیب و غریب داشت.

  • اشکالات: پس از هجوم به یکدیگر ، گاهی اوقات اتفاقات غیر منتظره رخ داده است. صادقانه بگویم ، من فقط یک قاب را برای لکه دار کردن آن رد کردم ( ̄▽ ̄)


A یا طلسم زمستان:

من استفاده کردم گودال/جنین/گرگ/v0.dev در طول توسعه این کار با تولید سریع کد قابل استفاده بسیار کمک کرد ، اگرچه بسیاری از قسمت ها هنوز هم به تنظیم دقیق دستی نیاز داشتند.


PS

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

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


با تشکر برای بررسی داشبوت!

نوشته های مشابه

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا