ไลบรารีเลเยอร์เครือข่าย [ปิด]


12

ฉันกำลังมองหาเลเยอร์เครือข่ายใด ๆ ที่พร้อมที่จะเพิ่มให้กับเกมของฉันไม่ว่าจะฟรีหรือราคาที่ยุติธรรมสำหรับเกมอินดี้

โดยเลเยอร์เครือข่ายฉันหมายถึงห้องสมุดบางประเภทที่ฉันสามารถเชื่อมต่อกับที่ฉันจะสามารถส่งข้อความไปและรับข้อความจากและมันจะจัดการข้อมูลระดับต่ำทั้งหมดด้วยตัวเอง

ฉันกำลังมองหาโดยเฉพาะอย่างยิ่ง:

  • ห้องสมุดคุณภาพสูงที่เข้าใจและจัดการกับสิ่งที่ซับซ้อนเช่นความแออัดของเครือข่าย
  • ห้องสมุดที่ปรับขนาดได้ซึ่งจะทำให้ฉันมีผู้เล่นจำนวนมากเล่นด้วยกัน
  • ควรเป็นโซลูชันเพียร์ทูเพียร์ไม่ใช่เซิร์ฟเวอร์ที่ใช้
  • ควรเป็นไลบรารีที่มีผลผูกพันกับภาษาระดับสูง (เช่น Java หรือ C #)

ตัวอย่างของสิ่งที่ฉันกำลังมองหาคือGrappleแต่ฉันรู้ว่ามีห้องสมุดอื่น ๆ


แม้ว่าจะเป็นหัวข้อที่มีประโยชน์มาก แต่คำถามนี้อาจไม่เหมาะกับรูปแบบ stackexchange เนื่องจากเป็นการขอให้เปรียบเทียบคุณลักษณะของไลบรารีต่างๆและเป็นการสนทนาแบบปลายเปิด
Cameron Fredman

คำตอบ:


8

ฉันรู้สึกว่าจำเป็นต้องเพิ่มENetลงในรายการนี้ จริงอยู่ที่มันไม่ได้มาพร้อมกับการผูกกับภาษาอื่น ๆ แต่เนื่องจากมันเขียนใน C, การสร้างการผูกสำหรับมันเป็นเรื่องเล็กน้อย

ฉันพบว่า ENet มีความแข็งแกร่งเขียนได้ดีและปรับขนาดได้และจัดการเกมเพียร์ทูเพียร์ได้เป็นอย่างดี


5

พวกเราใช้ RakNet มาระยะหนึ่งแล้วก็สนุกกับมันและได้รับการรีวิวเชิงบวกจากสตูดิโออื่น ๆ ที่ใช้มัน http://www.jenkinssoftware.com/

สิ่งที่ดีเกี่ยวกับ RakNet คือมันเป็นแพลตฟอร์มข้ามส่วนใหญ่ดังนั้นหากคุณต้องการเข้าสู่พื้นที่คอนโซลมันเป็นไปได้ที่ดี


ฉันชอบวิธีฟรีสำหรับเกมอินดี้
Oak

ฉันเคยใช้ RakNet แล้วและก็ค่อนข้างดี มันไม่สมบูรณ์แบบ แต่ตัวอย่างก็ดีคุณมีสิทธิ์เข้าถึงแหล่งข้อมูลได้อย่างเต็มที่และใบอนุญาตอินดี้นั้นให้อภัย
Logan Kincaid

4

ฉันเลือกZoidcom (C ++) เพราะมันออกแบบมาอย่างดีและมีเอกสารประกอบที่ยอดเยี่ยม + ตัวอย่าง:

ไลบรารีเครือข่าย Zoidcom เป็นไลบรารีเครือข่ายระดับสูงที่ใช้ UDP ซึ่งให้คุณสมบัติสำหรับการจำลองแบบอัตโนมัติของ gameobjects และการซิงโครไนซ์สถานะของพวกเขาผ่านการเชื่อมต่อเครือข่ายในลักษณะแบนด์วิดท์ที่มีประสิทธิภาพสูง นี่คือความสำเร็จโดย multiplexing และ demultiplexing ข้อมูลวัตถุจากและสู่ bitstreams ซึ่งทำให้ง่ายต่อการหลีกเลี่ยงการส่งข้อมูลซ้ำซ้อน Bools ใช้เพียงบิตเดียวจำนวนเต็มและจำนวนลอยจะถูกดึงลงมาให้มากที่สุดเท่าที่จำเป็น

การทำงานที่น่าเบื่ออย่างมากที่เกิดขึ้นเมื่อพยายามพัฒนาโปรโตคอลเครือข่ายที่มีประสิทธิภาพถูกจัดการโดย Zoidcom เช่นการตัดสินใจว่าจะส่งข้อมูลไปยังไคลเอนต์ใดเมื่อใดจึงจะได้รับประสิทธิภาพและเชื่อถือได้ผ่านสายจะทำอย่างไรเมื่อข้อมูลได้รับ หายไปและอีกมากมาย

เกมโอเพนซอร์สบางเกมที่ทำโดยใช้ Zoidcom:

ใบอนุญาต:

Zoidcom สามารถใช้ได้อย่างอิสระสำหรับการใช้งานที่ไม่ใช่เชิงพาณิชย์และจะยังคงอยู่ มีใบอนุญาตการค้าและแชร์แวร์ตามคำขอการประกาศใบอนุญาตอย่างเป็นทางการจะมีให้ในรุ่น 1.0


2

หาก C # ไม่ใช่ปัญหาคุณสามารถตรวจสอบLidgrenได้ ปัจจุบันอยู่ในรุ่นที่ 3 มันมีคุณสมบัติ (เหนือสิ่งอื่นใด):

  • ใบอนุญาต MIT
  • เพียร์ทูเพียร์ (NetClient / NetServer ยึดตาม NetPeer)
  • การจำลองความล่าช้า
  • การเข้ารหัสแพ็คเก็ต
  • มีประสิทธิภาพมาก (บัฟเฟอร์นำกลับมาใช้ใหม่เพื่อขยะที่มีค่าศูนย์)
  • นักพัฒนาใช้งานและตอบสนอง!

1

เนื่องจากคุณพูดถึง Java ฉันขอแนะนำให้ดูเป็น JGN (http://forum.captiveimagination.com/index.php/board,4.0.html) ฉันไม่เคยใช้มันเป็นการส่วนตัว แต่ฉันได้ยินสิ่งดีๆเกี่ยวกับ มันบนฟอรั่ม JME เอกสารดูเหมือนว่าจะหายาก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.