คุณจะต้องแยกรหัสของคุณออกเป็นโครงการแยกต่างหาก (ในโซลูชันเดียวกัน) โดยปกติคุณจะมีการตั้งค่าต่อไปนี้:
-Engine Core (DLL)
-Game + Game Logic (EXE)
-Content Pipeline (DLL)
-Editor (EXE)
สำหรับโครงการที่มีขนาดใหญ่ขึ้นคุณอาจต้องการแยกแกนประมวลผลออกเป็นหลาย ๆ โครงการเช่น Core, ฟิสิกส์, กราฟิก, เสียง, อินพุตและระบบเครือข่าย โครงการทั้งหมดเหล่านี้ไม่สามารถอ้างอิงซึ่งกันและกัน แต่พวกเขาทั้งหมดอ้างอิงแกนที่คุณสามารถเก็บบางประเภทพื้นฐานที่พบบ่อย
ถ้าพวกเขาจะอ้างอิงซึ่งกันและกันการแยกจะไร้ประโยชน์
อย่างไรก็ตามสิ่งนี้จะช่วยให้คุณนำชิ้นส่วนของเครื่องยนต์มาใช้ในโครงการอื่น ๆ ตัวอย่างเช่นสำหรับบรรณาธิการคุณจะต้องอ้างอิงโครงการกราฟิกที่อ้างอิงถึงคอร์เอง
การแยกนี้ยังหมายความว่าคุณสามารถใช้เทคโนโลยี Windows เท่านั้นเช่น WPF ในโปรแกรมแก้ไขของคุณในขณะที่เกมของคุณยังคงสามารถกำหนดเป้าหมาย Windows และ XBLIG ได้
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ XNA ภายในสภาพแวดล้อม WPF ดูลิงค์นี้: http://blogs.msdn.com/b/nicgrave/archive/2010/07/25/rendering-with-xna-framework-4-0-inside- ของ -a-WPF-Application.aspx