منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيف نصنع لعبة اون لاين ؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته 
ليس من الصعب برمجة لعبة بسيطة بالفيجوال بيسك و جعلها متعددة الاعبين 
ولكن الصعوبة تكمن في جعل هذه اللعبة اون لاين اي على الانترنت 

فمثلا لو انا برمجة لعبة سيارات بسيطة 
و لو جعلت اللعبة متعددة الاعبين و لو قررت اني اخليها اون لاين فماذا سافعل ؟

انا اجت ببالي فكرة و بتزبط و ناجحة على العاب البيلياردو و الاكس او
حيث نقوم بتكوين اكثرمن غرفة و كل غرفة تسمح للاعبين اثنين باللعب و الباقية كمشاهدين و جعلنا ايضا بكل غرفة صندوق دردشة 
و الاعبين يتم اختيارهم عن طريق قرعة باسماء اللاعبين الموجودين بالغرفة 

اولا سنحتاج الى ربط البرنامج بقاعدة بيانات موقع على الانترنت 
كما في امثلة عمل دردشة مرتبطة بـــــسيرفر ftp

و بالنسبة للعبة و الحركات نجعل قيمة اللوكيشن - الموقع الخاص بالاداة - متغير حسب البيانات في السيرفر
وفي حال قام الاعب بعمل اي خطوة او اي حركة يتم ارسال البيانات الى السيرفر بشكل سريع و اللاعبين الباقية يستقبلون 
هذي المعلومات من السيرفر 


صعب شرح طريقتي بالتفصيل ولكن انا جربتها و كانت بالنسبة لي جيدة و اعتقد يوجد افضل منها 

فارغب من الجميع مشاركتي بخصوص هذا الموضوع و الطرق التي لديهم 
Undecided Heart Blush
الطريقة الافضل حاليا هي باستخدام الاتصال المباشر بين الطرفين (Peer to Peer)

حيث لعمل هذا الاتصال نحتاج Server ليوفر لنا شيئين :
1- اكتشاف اللاعبين الاخرين في اللعبة
2- عمل NAT Traversal لتمكين الاتصال المباشر بين اللاعبين


وبعد الاتصال المباشر يمكننا بسهولة تبادل الرسائل بين المستخدمين سواء بالUDP brodcasting او بالـ TCP
(01-01-17, 09:29 PM)الشاكي لله كتب : [ -> ]الطريقة الافضل حاليا هي باستخدام الاتصال المباشر بين الطرفين (Peer to Peer)

حيث لعمل هذا الاتصال نحتاج Server ليوفر لنا شيئين :
1- اكتشاف اللاعبين الاخرين في اللعبة
2- عمل NAT Traversal لتمكين الاتصال المباشر بين اللاعبين


وبعد الاتصال المباشر يمكننا بسهولة تبادل الرسائل بين المستخدمين سواء بالUDP brodcasting او بالـ TCP

اشكرك على مبادرتك الطيبة وفعلا كلامك صحيح و من مميزات طريقتك 
1- السرعة في اللعب
2- حل مشكلة انقطاع الاتصال بالخادم و ايضا حل لمشكلة التعليق

ولكن هل رح نحتاج لشيء مساعد على تلقي و ارسال البيانات ك برنامج النو اي بي ؟
هناك حلول سحابية مخصصة لتخزين بيانات لالعاب واللاعبين والاحصائيات
منها المجانية ومن أفضلها خدمات Google Cloud و Microsoft Azure
فعلا انا اشجع ايضا التعامل مع المواقع السحابية
اشكرك