سؤال

أقوم بتطوير لعبة إستراتيجية عبر الإنترنت باستخدام .Net v2.على الرغم من أن اللعبة استراتيجية في المقام الأول، إلا أنها تحتوي على بعض العناصر التكتيكية التي تتطلب أداءً معقولاً للشبكة.أخطط لاستخدام حزم TCP للبيانات الإستراتيجية وحزم UDP للبيانات التكتيكية.

{EDIT} لقد نسيت أن أذكر أنني أميل بعيدًا عن WCF و.NET 3+ لعدة أسباب.أولاً، لأنني أريد أن أبقي عملية التنزيل صغيرة الحجم وأن معظم عملائي لديهم بالفعل .NET 2.0.ثانيًا، لأنني أرغب في الحصول على خيار النقل إلى Mac وLinux ولست متأكدًا من توفر WCF في Mono.{/يحرر}

أنا أبحث عن توصيات مكتبة الشبكة.لقد وجدت بعض الخيارات، مثل مكتبة شبكة Torque الخاصة بـ GarageGames (C++)، وRakNet (C++)، ومكتبة شبكة Lidgren (C#):

http://www.opentnl.org/ http://www.jenkinssoftware.com/ http://code.google.com/p/lidgren-network/

هل لدى أي شخص خبرة حقيقية في هذه المكتبات أو غيرها؟


لقد عثرت للتو على RakNetDotNet:

http://code.google.com/p/raknetdotnet/

هذا قد كن ما أبحث عنه..

هل كانت مفيدة؟

المحلول

لماذا تقتصر على .NET 2.0؟يحتوي .NET 3.0 (أو 3.5) على WCF وهو نظام فرعي للاتصالات قوي وفعال ويتمتع بأمان جيد..NET 3.0 هو مجرد .NET 2.0 مع مكتبات إضافية (WCF، WF، WPF).

نصائح أخرى

مايكروسوفت الخاصة على أساس .NET XNA يسمح لك بإنشاء ألعاب شبكية على Windows وXBox 360.

http://code.google.com/p/lidgren-network-gen3/

Lidgren.network هي مكتبة شبكات لـ .NET Framework التي تستخدم مقبس UDP واحد لتسليم واجهة برمجة تطبيقات بسيطة لتوصيل عميل بخادم وقراءة وإرسال الرسائل.

أود أيضًا أن أشير إلى أن "Games for Windows"، التي يستخدمها XNA على Windows مع Live!واجهات برمجة التطبيقات (APIs) للشبكات أصبحت الآن مجانية...مما يعني أنه إذا كتبت لعبة XNA تستخدم ميزات الشبكة، فإن المستخدمين لديك لا يجب أن يكون لديك عضوية ذهبية :-)

http://www.engadget.com/2008/07/22/games-for-windows-live-now-free/

يمكنك إلقاء نظرة على Entanglar ( http://entanglar.dunnchurchill.com ) إذا كنت تبحث عن شيء أعلى مستوى.يوفر Entanglar دورة حياة الكيان الكاملة والمزامنة.

على الرغم من أن هذا السؤال قديم إلى حد ما، إلا أن هناك نظام ذو مستوى أعلى إلى حد ما تم تطويره خصيصًا للألعاب مسرحية - من بين المنصات المدعومة أيضًا لغة C#.هناك إصدارات تقييمية وهي مجانية للاستخدام الشخصي.

يمكنك تعريف كائنات اللعبة الخاصة بك بطريقة UML على حد سواء ويقوم منشئ الأكواد عبر الإنترنت بإنشاء تجميعات تحتوي على كائنات اللعبة الخاصة بك.يعد إرسال تحديثات الحالة أمرًا بسيطًا مثل استدعاء أساليب الضبط.

ليس هذا هو الشيء الصحيح إذا كنت تريد التعامل مع المقابس بنفسك.يرجى أيضًا ملاحظة أنني مطور APlay لذا فهذه إجابة متحيزة.

سؤال قديم، لكنني سأطرحه على أي شخص آخر يعثر عليه.نحن نستخدم OpenTNL في لعبتنا، Bitfighter، وأنا مندهش دائمًا من مدى نجاحها.وهو مجاني إذا كنت تستطيع العيش مع GPL.

إذا كنت جديدًا في مجال تطوير الألعاب، فإنني أوصي باستخدام XNA، فهو سهل البرمجة باستخدامه.ومع ذلك، فإن ميزة Torque هي أنها تحتوي على أدوات لإنشاء الأصول، والتي يمكن أن تكون أيضًا لا تقدر بثمن.بالنسبة إلى لعبة ذات نهاية أعلى أو FPS، يعد المحرك المصدر رائعًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top