เนื่องจากเกมมีพื้นฐานอยู่บนระบบย่อยต่าง ๆ เช่นกราฟิก (DirectX, OpenGL, ... ), เสียง (OpenAL, Ogg Vorbis, ... ) หรือฟิสิกส์ (การชน, ... ), ห้องสมุดใดที่คุณรู้ว่ามีประโยชน์ สำหรับการพัฒนาเกมใน C # และมีประโยชน์อะไรบ้าง
เนื่องจากเกมมีพื้นฐานอยู่บนระบบย่อยต่าง ๆ เช่นกราฟิก (DirectX, OpenGL, ... ), เสียง (OpenAL, Ogg Vorbis, ... ) หรือฟิสิกส์ (การชน, ... ), ห้องสมุดใดที่คุณรู้ว่ามีประโยชน์ สำหรับการพัฒนาเกมใน C # และมีประโยชน์อะไรบ้าง
คำตอบ:
กราฟิก / เสียง
เครื่องยนต์
ฟิสิกส์
เห็นได้ชัดว่ามี XNA จาก microsoft เอง: http://creators.xna.com/en-US/ เกมที่สร้างด้วย XNA ทำงานบน Windows และ (ผ่านชมรมผู้สร้าง) ใน Xbox360 ฉันคิดว่านี่เป็นวิธีที่สมบูรณ์แบบในการทำให้เท้าเปียกในการพัฒนาเกมที่รวดเร็ว ฉันยังไม่ได้แช่เท้าใน XNA อย่างเหมาะสมดังนั้นฉันยังไม่สามารถตัดสินได้ แต่ดูจากข้างทางมันดูดีที่สุดตั้งแต่หั่นขนมปัง แน่นอนว่าคุณไม่สามารถทำทุกอย่างได้ แต่คุณสามารถสร้างต้นแบบที่รวดเร็วและเกมทำงานที่มีคุณภาพแบบอินดี้และอื่น ๆ
ห้องสมุดอื่น ๆ คือ SlimDX - http://slimdx.org/ซึ่งบางคนอาจบอกว่าอยู่ใกล้กับโลหะ / ความเป็นจริงถ้าคุณไม่ต้องการทำงานกับ XNA ดังนั้นยอดเยี่ยมสำหรับการสร้างต้นแบบที่รวดเร็ว - โดยเฉพาะถ้าการพัฒนาเกมหลักของคุณคือ C หรือ C ++ นอกจากนี้ยอดเยี่ยมสำหรับการทำเครื่องมือ
นอกจากนี้ยังมีพอร์ตของ C Library SDL เพื่อ .NET, SDL.NET ฉันเองจะใช้ XNA ใน C # เพราะมันเป็นเพียงห้องสมุดที่รวบรวมได้ดีปรับแต่งได้มากและยังเป็นมิตรกับผู้เริ่มต้น
คำเตือน: คำแนะนำต่อไปนี้อาจหรือไม่อาจลำเอียงเนื่องจากการมีส่วนร่วมของฉันในการพัฒนาเครื่องมือนี้
Dualityเป็นเอ็นจิ้นเกม 2D ที่ขยายได้ที่มาพร้อมกับระบบแก้ไขแบบ WYSIWYG ภาพรวมอย่างรวดเร็ว:
ในกรณีที่คุณต้องการที่จะให้มันไปคุณสามารถโดยตรงดาวน์โหลดปล่อยไบนารีล่าสุดหรือรวบรวมมันด้วยตัวคุณเองโดยใช้รหัสที่มาจาก GitHub หากต้องการรับข้อมูลเพิ่มเติมการเยี่ยมชมเว็บไซต์ข้อมูลและฟอรัมชุมชนอาจเป็นไปได้ เพียงไปตามลิงก์จากเว็บไซต์ข้อมูลที่ฉันได้รวมไว้ด้านบน
BulletXเป็นพอร์ต 100% C # ของ Bullet Physics ซึ่งใช้งานได้กับ XNA
ในด้านเครื่องมือไลบรารีที่มีประโยชน์ที่น่าทึ่งคือ " Managed Extensibility Framework " ซึ่งตอนนี้เป็นส่วนหนึ่งของ. Net 4.0 จะช่วยให้คุณสร้างปลั๊กอินหรือการค้นพบอินสแตนซ์ของคลาสได้อย่างง่ายดายซึ่งเป็นประโยชน์สำหรับเครื่องมือของคุณ
หนึ่งที่ใหญ่ที่สุด (และพิสูจน์แล้วมากที่สุด) จนถึงวันนี้คือกรอบ XNA คุณสามารถใช้ประโยชน์จาก XNA เพื่อสร้างชุดเครื่องมือของคุณ ประโยชน์คือคุณมีเฟรมเวิร์กที่รวมไลบรารี่ที่คุณต้องการ (ฟิสิกส์, เสียง, กราฟฟิค) ในแพ็คเกจเดียวและข้อดีอย่างมากคือถ้าคุณทำบางสิ่งบางอย่างได้ดีคุณสามารถลองและอัดเข้าไปใน XBLA
XNAเป็นห้องสมุดที่ค่อนข้างใหญ่สำหรับ PC / Xbox360 การจัดการกราฟิกเสียงอินพุต ฯลฯ
เต่ากรอบ (ใช้ในหนังสือเล่มนี้ที่ผมเคยพบว่ามีประโยชน์สวย: การเขียนโปรแกรม C # เกมสำหรับการสร้างเกมที่จริงจัง ) ซึ่ง wraps OpenGL และอื่น ๆ อีกมากมายคุณสมบัติการเขียนโปรแกรมเกมที่มีประโยชน์ (เข้าถึงได้ผ่านทาง C #) มีค่าดู อย่างไรก็ตามมันถูกแทนที่ด้วยOpen Toolkit Library (OpenTK) ซึ่งถูกกล่าวถึงในคำตอบอื่น ฉันคิดว่ามันแปลกที่หนังสือเล่มนี้ใช้ Tao Framework แทนที่จะเป็น OpenTK เพราะ Tao ใช้งานมาประมาณ 2 ปี (และหนังสือเล่มนี้เป็นหนังสือใหม่เอี่ยม) ยังเป็นกรอบที่มีประโยชน์ที่ควรค่าแก่การตรวจสอบ
AngelXNA (http://www.jeffongames.com/2009/05/angelxna-v10/) เป็นไลบรารี่ / เอ็นจิ้นต้นแบบที่ดีที่สร้างขึ้นบน XNA หากคุณกำลังมองหาสิ่งที่สูงกว่า
ฉันพบSFML.Netเป็นตัวเลือกที่ยอดเยี่ยมและเป็นสิ่งที่ฉันใช้เป็นการส่วนตัว แต่ระวังอย่าใช้ไบนารีที่มีให้ในเว็บไซต์ แต่รับรุ่นล่าสุดจาก SVN แทน รุ่นของไซต์ล้าสมัยอย่างมาก
ดูเครื่องยนต์ Ploobs - ตอนนี้รองรับ XNA 4 ซึ่งเป็นโอเพ่นซอร์สและมีคุณสมบัติเจ๋ง ๆ มากมาย: