منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[نقاش] كيف نصنع لعبة اون لاين ؟ - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184)
+--- الموضوع : [نقاش] كيف نصنع لعبة اون لاين ؟ (/showthread.php?tid=18665)



كيف نصنع لعبة اون لاين ؟ - Basil Abdallah - 01-01-17

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

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

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

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

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


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

فارغب من الجميع مشاركتي بخصوص هذا الموضوع و الطرق التي لديهم 
Undecided Heart Blush



RE: كيف نصنع لعبة اون لاين ؟ - الشاكي لله - 01-01-17

الطريقة الافضل حاليا هي باستخدام الاتصال المباشر بين الطرفين (Peer to Peer)

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


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


RE: كيف نصنع لعبة اون لاين ؟ - Basil Abdallah - 01-01-17

(01-01-17, 09:29 PM)الشاكي لله كتب : الطريقة الافضل حاليا هي باستخدام الاتصال المباشر بين الطرفين (Peer to Peer)

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


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

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

ولكن هل رح نحتاج لشيء مساعد على تلقي و ارسال البيانات ك برنامج النو اي بي ؟


RE: كيف نصنع لعبة اون لاين ؟ - محمد كريّم - 01-01-17

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


RE: كيف نصنع لعبة اون لاين ؟ - Basil Abdallah - 01-01-17

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