ربط اليونتي مع قاعدة بيانات – مقدمه

بعض الألعاب تحتاج إلى تواصل بين اللاعبين  وتنقسم إلى قسمين.

لعب جماعي متزامنMultiplayer Synchronously

نقل البيانات من المصدر إلى الهدف تتزامن مع الوقت

مثال:-

اللاعب رقم (1) واللاعب رقم (2) كلاهما متواجدين في سيرفر اللعبة من جهازين مختلفين.

اللاعب رقم (1) أطلق السلاح على اللاعب رقم (2) ..  اللاعب رقم (2) يتعرض للإطلاق.

لعب جماعي غير متزامنMultiplayer Asynchronously

نقل البيانات من المصدر إلى الهدف حسب الحدث.

مثال:-

اللاعب رقم (1) أرسل سلاح للاعب رقم (2) .. اللاعب رقم (1) متواجد في سيرفر اللعبة.

اللاعب رقم (2) غير متواجد بالسيرفر ( نائم في فراشه ).. في حال دخول اللاعب رقم (2) يحصل على السلاح المرسل له من اللاعب رقم (1).

ماذ يحدث في كل الحالتين ؟

متزامن :

نظام اللعبة ينقل البيانات من جهاز رقم (1) إلى الجهاز رقم (2) والعكس صحيح. قد يكون هناك وسيط (سيرفر) لربط الجهازين للتأكد من صحة البيانات وتنظيمها لكن لا يحتاج لتخزين البيانات على السيرفر ويشترط وجود اللاعبين في نفس الوقت.

غير متزامن :

نطام اللعبة ينقل البيانات لتخزينها في السيرفر وفي حال طلب أي معلومة يتم إرسال البيانات ولا يشترط وجود اللاعبين في نفس الوقت.

المتطلبات :

دعنا نفترض ان لعبتك تُعرض كل يوم نص معين والنص يتم تخزينة في قاعدة بيانات فنحتاج  إلى إستخدام لعب جماعي غير متزامن

ملاحظة : لعب جماعي متزامن يحتاج إلى برمجة Sockets  ولا يحتاج لقاعدة بيانات.

ملاحظة : يفضل إستخدام المصطلحات الإنجليزية.

المتطلب

الهدف

الأداة

قاعدة بيانات Database

تخزين البيانات

Microsoft SQL Server

Object-relational mapper ORM

تحويل قاعدة البيانات لـObjects

Entity Framework

الواجهة البرمجية لتطبيقات الويب Web API

ربط جهاز العميل (اللعبة) مع قاعدة البيانات

ASP.NET Web AP

View Model

تحويل البيانات بين السيرفر واللعبة

Class

Unity 3D

محرك ألعاب

 

محول JSON Converter

الهدف: تحويل البيانات من  JSON  إلى Object

JSON .NET For Unity

إستضافة Hosting

نشر السيرفر على الويب

إشتراك Azure

الأدوات المتطلبه للمشروع

Unity 3d

JSON .NET For Unity

Visual Studio

إشتراك Azure

شكراً لـ
أسامة الأنصاري
محمد المعثم

قريباً تكملة المقالة

This entry was posted in أدوات, برمجة, يونتي. Bookmark the permalink.

أضف تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

*

يمكنك استخدام أكواد HTML والخصائص التالية: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current day month ye@r *