ไลบรารี C # ใดบ้างที่สามารถใช้เพื่อสนับสนุนการพัฒนาเกม [ปิด]


58

เนื่องจากเกมมีพื้นฐานอยู่บนระบบย่อยต่าง ๆ เช่นกราฟิก (DirectX, OpenGL, ... ), เสียง (OpenAL, Ogg Vorbis, ... ) หรือฟิสิกส์ (การชน, ... ), ห้องสมุดใดที่คุณรู้ว่ามีประโยชน์ สำหรับการพัฒนาเกมใน C # และมีประโยชน์อะไรบ้าง

คำตอบ:


63

กราฟิก / เสียง

  • XNA wrapper ระดับสูงบน DirectX9 ช่วยให้คุณสามารถเริ่มต้นใช้งานได้อย่างรวดเร็ว รองรับ PC, Xbox360 และ windows phone 7 รองรับ Xact audio เช่นเดียวกับ SoundEffect API ของตัวเอง
  • SlimDX wrapper ระดับล่างบน DX9 / 10/11 ถ้ามันอยู่ใน DX SDK มันจะพันไว้ที่นี่
  • OpenTK Wrapper บน OpenGL / AL
  • SDL.netพอร์ตแห่งความนิยม SDL lib

เครื่องยนต์

  • สถาปัตยกรรมเอ็นจิ้นเกมบนเครื่องยนต์WaveEngine , C # api, 2D และฟิสิกส์ 3 มิติ, เอฟเฟกต์ภาพที่สวยงาม, การสนับสนุนข้ามแพลตฟอร์ม Android, Linux, Mac, iOS และ Windows, ระบบเลย์เอาต์ขั้นสูงและอีกมากมาย
  • NeoAxis เอ็นจิ้น 3 มิติที่รองรับเอ็นจิ้นฟิสิกส์ PhysX ของ NVIDIA, การผูก C #, รองรับ WPF และ Windows Forms, เครื่องมือที่มีให้เลือกมากมายเช่นแผนที่, วัตถุ, แบบจำลอง, วัสดุ, วัสดุ, บรรณาธิการภูมิประเทศในบราวเซอร์เกมโดยใช้ Chromium, Pathfinding with Navigation Mesh
  • TorqueX A เอนจิ้น 2D / 3D สำหรับ XNA ตัวแก้ไขที่ดีเกมอู่ซ่อมรถได้นำไปลงทุนในเครื่องยนต์เมื่อไม่นานมานี้
  • เอ็นจิ้นของเกมtruevision 3d C ++ พร้อม c # bindings
  • ความจริงการเขียน Ogre ใน c # รองรับ API การเรนเดอร์จำนวนมาก
  • Unityเป็นเอ็นจิ้นกราฟิก / เกม C ++ ที่รองรับการเขียนสคริปต์การเล่นเกมใน C #
  • AngelXNAพอร์ตของเฟรมเวิร์กโปรโตไฟต์มุมแบบเปิดของ EALA

ฟิสิกส์

  • Farseerเครื่องยนต์ฟิสิกส์ 2D ยอดนิยมรองรับ. net (เดสก์ท็อป) ขนาดกะทัดรัด (xbox) และ micro (silverlight)
  • กระวนกระวายใจเป็นเครื่องมือฟิสิกส์ 3 มิติที่ค่อนข้างใหม่ดีกว่าความสมบูรณ์
  • Box2Dxพอร์ตโดยตรงของ box2D
  • Box2D.XNAพอร์ตอื่นของ Box2D สำหรับ XNA; ล่าสุดกว่า Box2Dx
  • JigLib
  • BulletX Bullet c # พอร์ตของ Bullet ดูเหมือนว่าจะถูกทิ้งร้าง

1
ภาพรวมยอดเยี่ยมนั่นเป็นคำตอบที่ฉันต้องการ!
Michael Klement

2
เนื่องจาก XNA เป็นชุมชนขนาดใหญ่ฉันต้องการเพิ่ม Henge3D ลงในวิชาฟิสิกส์ Sunburn to Graphics และ sgMotion และ XNAnimation to Graphics (หรือ Animation)
Chris Ridenour

TorqueX ไม่รองรับเกมโรงรถอีกต่อไป
Markus

3
ในปีที่ผ่านมาตั้งแต่คำตอบนี้ถูกโพสต์ครั้งแรก Microsoft ได้หยุดการสนับสนุน XNA ไลบรารีนั้นอาจไม่ใช่ความคิดที่ดีที่จะใช้อีกต่อไปให้ใช้ MonoGame แทน
jhocking

10

เห็นได้ชัดว่ามี XNA จาก microsoft เอง: http://creators.xna.com/en-US/ เกมที่สร้างด้วย XNA ทำงานบน Windows และ (ผ่านชมรมผู้สร้าง) ใน Xbox360 ฉันคิดว่านี่เป็นวิธีที่สมบูรณ์แบบในการทำให้เท้าเปียกในการพัฒนาเกมที่รวดเร็ว ฉันยังไม่ได้แช่เท้าใน XNA อย่างเหมาะสมดังนั้นฉันยังไม่สามารถตัดสินได้ แต่ดูจากข้างทางมันดูดีที่สุดตั้งแต่หั่นขนมปัง แน่นอนว่าคุณไม่สามารถทำทุกอย่างได้ แต่คุณสามารถสร้างต้นแบบที่รวดเร็วและเกมทำงานที่มีคุณภาพแบบอินดี้และอื่น ๆ

ห้องสมุดอื่น ๆ คือ SlimDX - http://slimdx.org/ซึ่งบางคนอาจบอกว่าอยู่ใกล้กับโลหะ / ความเป็นจริงถ้าคุณไม่ต้องการทำงานกับ XNA ดังนั้นยอดเยี่ยมสำหรับการสร้างต้นแบบที่รวดเร็ว - โดยเฉพาะถ้าการพัฒนาเกมหลักของคุณคือ C หรือ C ++ นอกจากนี้ยอดเยี่ยมสำหรับการทำเครื่องมือ


3
SlimDX ยังมีประโยชน์ในการเข้ากันได้กับการรองรับ Direct3D interop ของ WPF ซึ่งขึ้นอยู่กับประเภทของเกมที่คุณกำลังพัฒนาซึ่งอาจมีประโยชน์มาก ไม่มีการสนับสนุนอย่างเป็นทางการสำหรับการทำงานร่วมกันของ WPF / XNA และในขณะที่ฉันเชื่อว่าบางคนมีการจัดการเพื่อให้ทั้งสองทำงานร่วมกันกระบวนการนี้ก็คือการแฮ็ก -y และเปราะบาง
Mike Strobel

ฉันควรเพิ่มว่ามีเป็นความพยายามที่จะได้รับ XNA ทำงานข้ามแพลตฟอร์มกับโมโน (ดู MonoXNA) ซึ่งอาจเป็นปัจจัยในการตัดสินใจในการที่จะใช้กรอบ
Mike Strobel

@ Mikw Strobel: +1 แต่โปรดจำไว้ว่าจุดขายที่ยิ่งใหญ่สำหรับ XNA คือความสามารถในการปรับใช้ / ขายให้กับ 360 และสิ่ง WPF / XNA ทั้งหมดที่ฉันเคยเห็นจะไม่ทำงานใน 360
Steven Evers

4

นอกจากนี้ยังมีพอร์ตของ C Library SDL เพื่อ .NET, SDL.NET ฉันเองจะใช้ XNA ใน C # เพราะมันเป็นเพียงห้องสมุดที่รวบรวมได้ดีปรับแต่งได้มากและยังเป็นมิตรกับผู้เริ่มต้น


XNA นั้นเป็นมิตรกับผู้เริ่มต้น แต่ก็ยังอยู่ในสถานะฟลักซ์ (โดยเฉพาะ) ในขณะนี้ 4.0 จะมีการเปลี่ยนแปลงมากมายและน่ารำคาญที่ต้องติดตามเมื่อคุณทำให้เท้าเปียก
Steven Evers

4

คำเตือน: คำแนะนำต่อไปนี้อาจหรือไม่อาจลำเอียงเนื่องจากการมีส่วนร่วมของฉันในการพัฒนาเครื่องมือนี้

Dualityเป็นเอ็นจิ้นเกม 2D ที่ขยายได้ที่มาพร้อมกับระบบแก้ไขแบบ WYSIWYG ภาพรวมอย่างรวดเร็ว:

  • มันเป็นปลั๊กอินที่ใช้ คุณไม่ได้เขียนแอปพลิเคชันใหม่ แต่เป็นปลั๊กอินที่มีรหัสทั้งหมดของคุณ
  • คุณสมบัติปลั๊กอินรันไทม์โหลดซ้ำจากโปรแกรมแก้ไข ช่วยให้การวนซ้ำอย่างรวดเร็ว
  • โอเพ่นซอร์สเขียนทั้งหมดใน C # ตาม OpenTK / OpenGL / OpenAL
  • ค่อนข้างใหม่ (2-3 ปี)และยังคงอยู่ในการพัฒนา - แต่สามารถใช้งานได้แล้ว
  • จัดการการแสดงผลเสียงการป้อนข้อมูลของผู้ใช้ฟิสิกส์การทำให้เป็นอนุกรมทรัพยากรและการจัดการวัตถุ
  • คลาสตัวช่วยมากมายและคอมโพเนนต์เริ่มต้นเพื่อให้คุณเริ่มต้นได้

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

สกรีนช็อตของสภาพแวดล้อมการแก้ไข


โดยปกติแล้วจะเป็นการดีที่สุดที่จะเปิดเผยว่าคุณมีส่วนร่วมในการพัฒนาซอฟต์แวร์ใด ๆ ที่คุณแนะนำ
Josh

@JoshPetrie คุณอาจพูดถูก ฉันไม่แน่ใจว่ามันมีความสำคัญในบริบทนี้หรือไม่ - ฉันได้เพิ่มข้อจำกัดความรับผิดชอบแล้ว :)
Adam


3

ในด้านเครื่องมือไลบรารีที่มีประโยชน์ที่น่าทึ่งคือ " Managed Extensibility Framework " ซึ่งตอนนี้เป็นส่วนหนึ่งของ. Net 4.0 จะช่วยให้คุณสร้างปลั๊กอินหรือการค้นพบอินสแตนซ์ของคลาสได้อย่างง่ายดายซึ่งเป็นประโยชน์สำหรับเครื่องมือของคุณ


2

หนึ่งที่ใหญ่ที่สุด (และพิสูจน์แล้วมากที่สุด) จนถึงวันนี้คือกรอบ XNA คุณสามารถใช้ประโยชน์จาก XNA เพื่อสร้างชุดเครื่องมือของคุณ ประโยชน์คือคุณมีเฟรมเวิร์กที่รวมไลบรารี่ที่คุณต้องการ (ฟิสิกส์, เสียง, กราฟฟิค) ในแพ็คเกจเดียวและข้อดีอย่างมากคือถ้าคุณทำบางสิ่งบางอย่างได้ดีคุณสามารถลองและอัดเข้าไปใน XBLA



2

เต่ากรอบ (ใช้ในหนังสือเล่มนี้ที่ผมเคยพบว่ามีประโยชน์สวย: การเขียนโปรแกรม C # เกมสำหรับการสร้างเกมที่จริงจัง ) ซึ่ง wraps OpenGL และอื่น ๆ อีกมากมายคุณสมบัติการเขียนโปรแกรมเกมที่มีประโยชน์ (เข้าถึงได้ผ่านทาง C #) มีค่าดู อย่างไรก็ตามมันถูกแทนที่ด้วยOpen Toolkit Library (OpenTK) ซึ่งถูกกล่าวถึงในคำตอบอื่น ฉันคิดว่ามันแปลกที่หนังสือเล่มนี้ใช้ Tao Framework แทนที่จะเป็น OpenTK เพราะ Tao ใช้งานมาประมาณ 2 ปี (และหนังสือเล่มนี้เป็นหนังสือใหม่เอี่ยม) ยังเป็นกรอบที่มีประโยชน์ที่ควรค่าแก่การตรวจสอบ



0

AngelXNA (http://www.jeffongames.com/2009/05/angelxna-v10/) เป็นไลบรารี่ / เอ็นจิ้นต้นแบบที่ดีที่สร้างขึ้นบน XNA หากคุณกำลังมองหาสิ่งที่สูงกว่า


0

ฉันพบSFML.Netเป็นตัวเลือกที่ยอดเยี่ยมและเป็นสิ่งที่ฉันใช้เป็นการส่วนตัว แต่ระวังอย่าใช้ไบนารีที่มีให้ในเว็บไซต์ แต่รับรุ่นล่าสุดจาก SVN แทน รุ่นของไซต์ล้าสมัยอย่างมาก


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