بازی آنلاین شطرنج مولتی پلیر و آنلاین Go + Laravel + vue.js + Postgresql
درباره پروژه
زیر ساخت فنی بازی شطرنج آنلاین رو بر پایه مدرن ترین معماری های حال حاضر دنیا دقیقاً مشابه ساختار پلتفرم جهانی Lichess توسط چارا پیاده سازی شده تا از همین روز اول خیالمون از بابت سرعت، امنیت و پایداری در پروداکشن کاملاً راحت باشه.
برای اینکه کار در بالاترین سطح ممکن باشه، سیستم رو به صورت میکروسرویس معماری کردیم:
۱. بخش مدیریت کاربران و امنیت (Laravel): تمام لاجیک های مربوط به دیتابیس، ثبت نام و سیستم احراز هویت پیامکی (OTP) رو با لاراول پیاده کردیم تا ورود کاربران کاملاً امن و مطابق با استانداردهای روز باشه.
۲. هسته ریلتایم و استریم بازی (Go WebSockets): بازی های آنلاین لحظهای، حتی یک میلی ثانیه تاخیر هم نباید داشته باشن به همین دلیل یک سرور اختصاصی و مجزا با زبان Go (Golang) توسعه دادیم که وظیفه ش فقط و فقط استریم کردن حرکات مهره ها و چت بازی روی پروتکل وبسوکت امن (WSS) هست.
زبان Go به سرعت فوق العاده بالا و مصرف ناچیز منابع سرور معروفه و این یعنی اگر فردا روزی هزاران بازیکن همزمان هم داشته باشیم، سرور کوچک ترین افت سرعتی پیدا نمیکنه.
۳. رابط کاربری کلاینت (Vue 3 & Tailwind CSS): فرانتاند رو کاملاً داینامیک، ریسپانسیو زدیم تا کاربر چه با گوشی و چه با لپ تاپ، یک تجربه کاربری (UX) نرم، ۶۰ فریم و بدون لگ رو لمس کنه.
برای اینکه خودتون کیفیت، سرعت استریم و همگام سازی لحظه ای مهرهها رو دقیقا لمس کنید، یک راهنمای ساده براتون آماده کردم تا بتونید بازی رو با دو دیوایس مختلف به صورت زنده تست کنید.
راهنمای قدم به قدم تست عملکرد ریل تایم بازی با دو دیوایس
برای اینکه جادوی سرعت سرور Go و همگام سازی مهره ها رو ببینید، لطفاً مراحل زیر را دقیقاً انجام بدید:
نکته بسیار مهم قبل از شروع: مرورگرها حافظه مشترک دارن بنابراین اگر میخواید روی یک لپ تاپ تست کنید، حتما تب اول را در یک مرورگر (مثلاً کروم) و تب دوم را در یک مرورگر دیگر مثلا فایرفاکس یا در حالت Incognito باز کنید. بهترین حالت هم اینه که یک طرف لپ تاپ باشه و یک طرف گوشی موبایلتون.
قدم اول: ورود بازیکن اول ( دیوایس اول - مثلاً لپ تاپ )
آدرس پروژه یعنی
https://chess.codezip.irرا باز کنید و یا از طریق دکمه در انتهای این مطلب وب اپلیکیشن گیم رو باز کنیددر صفحه لاگین مدرن سایت، یک شماره موبایل (مثلاً
09121111111) وارد کنید و دکمه دریافت کد رو بزنید.کد ۵ رقمی پیامک شده را وارد کنید تا با افکت زیبا وارد لابی شطرنج بشید.
روی دکمه ایجاد میز بازی جدید کلیک کنید، تنظیمات زمان را به دلخواه تغییر بدید و تایید کنید. شما وارد مچ میشید و سیستم مینویسه در انتظار اتصال حریف...»
قدم دوم: ورود بازیکن دوم (دیوایس دوم - مثلاً گوشی یا تب ناشناس)
مجدداً آدرس
https://chess.codezip.irرا روی دیوایس دوم باز کنید.اینبار با یک شماره موبایل متفاوت (مثلاً
09122222222) لاگین کنید تا به عنوان یک کاربر مجزا شناخته بشید.به محض ورود به لابی در جدول وسط صفحه میبینید که میز بازی بازیکن اول به صورت زنده ظاهر شده.
روی دکمه ورود به میز کلیک کنید.
قدم سوم: شروع مچ زنده به محض کلیک بازیکن دوم سیستم وب سوکت Go در کسری از ثانیه هَندشیک رو انجام میده در هر دو دیوایس پیام بازی شروع شد ظاهر میشه ساعت های معکوس فعال میشن و اسامی هر دو بازیکن در بالا و پایین صفحه قرار میگیره.
حالا روی یکی از دیوایسها مهره ای را حرکت بدید خواهید دید که در همان لحظه و بدون کوچک ترین تاخیر مهره در دیوایس دیگر جابجا شده و صدای حرکت مهره پلی میشه. همچنین میتونید سیستم چت داخل بازی یا دکمههای تسلیم شدن و پیشنهاد تساوی رو تست کنید تا پایداری کامل سیستم رو ببینید.
منطق بازی شطرنج در این بازی به طور کامل و دقیق پیاده شده و شما به راحتی میتونید این موضوع رو تست بفرمایید ما آماده پیاده کردن ایده های مختلف و پیچیده شما هستیم اگر زمان زیادی هست که به فکر پیاده کردن ایده خودتون هستید امروز میتونید یه مشاوره رایگان از ما به شکل تلفنی دریافت کنید.
تکنولوژی های استفاده شده
اقدامات
تاکنون به روز رسانی برای این پروژه ثبت نشده است.
آنالیز بازگشت سرمایه برای این MVP
مقادیر را تنظیم کرده و سپس برای مشاهده نتیجه روی دکمه بروزرسانی کلیک کنید
راهنما
پرسش و پاسخ توسعه نرم افزار
ما همکاری را با ارائه یک محصول با قابلیت های قدرتمند و هسته کارآمد آغاز میکنیم. این زیر ساخت مستحکم پل ورود سریع و مقرون به صرفه شما به بازار میباشد. پروژه شما به شکل کاملاً اختصاصی کد نویسی میشود اما با هزینه ای معقول و زمان بندی بهینه محصول نهایی بسیار سریع تر آماده ورود به بازار خواهد شد در فاز شروع توسعه بر اساس نیازها و استراتژی های اختصاصی شما تمامی قابلیت ها و ویژگی های جدید مورد نیاز با بالاترین استانداردها به صورت مستمر و منعطف و با زمان بندی بسیار مناسب به پروژه افزوده خواهد شد.
پیش از هرگونه سرمایه گذاری یک نمونه اولیه واقعی در اختیار شما قرار میدهیم تا بتوانید کیفیت خروجی را بهطور کامل ارزیابی کنید و از هماهنگی تیم ما با نیازهای شما اطمینان حاصل کنید. تمامی مراحل همکاری بهصورت شفاف مرحله به مرحله و کاملاً قابل کنترل پیش میرود تا ریسک سرمایه گذاری شما به حداقل برسد و شما با اعتماد کامل پروژه را پیش ببرید.
MVP نسخهای اولیه از محصول است که شامل اصلی ترین قابلیت ها میباشد. هدف آن ورود سریع تر به بازار، سنجش باز خورد واقعی کاربران و کاهش ریسک های مالی و زمانی است. با استفاده از MVP شما میتوانید ایده خود را در کوتاه ترین زمان ممکن آزمایش کرده و بر اساس دادههای واقعی مسیر توسعه محصول را هوشمندانه تر ادامه دهید.
توسعه MVP این امکان را فراهم میکند که سریعتر وارد بازار شوید، بازخورد واقعی کاربران را دریافت کنید و دقیقاً مشخص گردد کدام بخشها ارزش توسعه بیشتر دارند. این رویکرد موجب صرفهجویی در زمان و هزینه شده و مسیر درست برای توسعه آینده را تضمین میکند.
۱. کاهش هزینه ها و زمان اولیه توسعه ۲. امکان اعتبار سنجی ایده در بازار واقعی ۳. تسهیل در جذب سریعتر کاربران یا سرمایه گذاران ۴. دریافت بازخورد عملی برای بهبود محصول ۵. توسعه مرحلهای و مطمئن تا رسیدن به نسخه کامل پروژه