RealmForge GDK เป็นชุดเครื่องมือรุ่นถัดมาสำหรับใช้พัฒนาตัวเกมที่เป็น 3D และ การจำลองรูปแบบต่างๆที่ใช้ ตัว open-source และ cross-platform middleware ได้ถูกเขียนด้วย C# ทั้งหมด และ รวมลักษณะที่เป็นด้านเด่น และ เบา ของ .NET Framework กับ ลักษณะที่เป็นประโยชน์ที่หลากหลาย และ ได้เปลี่ยนแปลง ชุดเครื่องมือพัฒนา run - time (ในตัวจัดการ game ) ที่ได้รวมการเชื่อมโยงโดยตรงภายใน engine , การอนุญาตให้ออกแบบ ,การพัฒนา และ ทำให้ตัวเกมมีความทันสมัยเองด้วย
ตัวกราฟิกที่สวยงามของเกมนี้ถูกสนับสนุนโดน Axiom ที่ใช้ C# port ของ engine ที่ใช้ศักยภาพของ OGRE ที่เป็น engine ด้าน shader-driven rendering และ สนับสนุนสำหรับ rendering engine ตัวอื่น ที่ได้ถูกพัฒนามาอย่างดี ตัวสถาปัตยกรรมที่มี องค์ประกอบที่มีความยืดหยุ่นสูง อนุญาตให้สำหรับส่วนที่เพิ่มเติมขึ้นมาอย่างง่ายๆ และ ยังได้รวมองค์ประกอบทั้งหมดที่จำเป็นในการพัฒนา ตัวเกมที่มีความสวยงาม หรือ ส่วนที่รวมการจำลองต่าง ทางกายภาพ เสียง GUIs Serialization ด้านเครือข่าย ส่วนย่อยของระบบ และการจัดการ ทรัพยากรทุกอันที่กล่าวมานี้สามารถเพิ่มเติมได้อย่างง่าย หรือ แทนที่กันได้อย่างดี
ตัว platform นี้ จัดเตรียม ส่วนที่ขยายออกไป ใน เหตุการณ์ที่เป็นลักษณะเชิงโมเดลหลัก เพื่อการติดต่อที่มีความยืดหยุ่น และ การออกแบบที่เป็นไปตามสัญชาติญาณ และ ส่วน scripting สามารถทำได้อย่างแนบเนียน ด้วย ความเร็วในส่วนการประมวลผล ในบางส่วนของ ภาษา .NET ที่ใช้ใน C# และ VB จะส่งผล JavaScript และ Python ตลอดจนกระทั่ง การออกแบบ ที่เป็นไปอย่างรอบคอบ และ platform ในการสร้างหลากลายเกม ตัวชุดเครื่องมือและตัวเดโมยังคงอยู่ในช่วงเริ่มการพัฒนา และมี คุณลักษณะไม่ครบถ้วนที่ได้ถูกนำไป implement ในตอนนี้ ตามธรรมเนียมของ platform ก่อนหน้านี้ การผลิต หรือ ชุด beta ต้องได้ถูกแนะนำ เพื่อเป็นประโยชน์แก่โปรแกรมเมอร์ ด้วย ประสบการณ์การเขียนโปรแกรม
Runtime IDE
ตัว runtime ที่ได้นั้นเปลี่ยนแปลง จะไปปรับปรุงส่วนที่มีประโยชน์ และ ทำให้เกิดการทำงานที่ง่ายโดย อนุญาตให้ 3D Application ได้มีการหยุดไว้ ณ ช่วงที่เกิดการ execute (ขณะที่ runtime) และดังนั้น ทันทีเข้าไป ที่โหมดการออกแบบ ในส่วนที่แสดงผลตัว workspace ของเครื่องมือการพัฒนา และ docked window แสดงถึงสิ่งที่อนุญาตให้ทุกสิ่งจาก สคริปต์ และ plug-in ผ่าน scene graph และ ทำให้เป็น รูปแบบเฉพาะ ทุกๆสิ่งที่ใกล้เคียงกัน อาจสามารถให้แก้ไข ที่ช่วง run-time ด้วย คุณสมบัติหน้าต่างตรวจจับ การรวมคลาสดั้งเดิม และคุณสมบัติของที่ตัวสืบทอดของคลาส
องค์ประกอบ ของ Framework (Components of the Framework)
ตัว framework จะรวม ทุกๆเทคโนโลยีที่มีความแตกต่าง ที่ ต้องการสำหรับตัว 3D application ที่ทันสมัยที่รวมทั้งใน ส่วนที่เป็น ด้านกายภาพ AI เสียง เครือข่าย Scripting GUI ชุดเครื่องมือ และ ตัว Scene Graph เอาเข้าไว้ด้วยกัน
Rendering and Graphics
Axiom ,ตัว C# port ของ โครงงาน OGRE open source ที่เป็นที่นิยมและได้ใช้ในยุคแรกๆของ 3D rendering engine สำหรับ RealmForge อย่างไรก็ตาม framework นั้นได้ถูกออกแบบให้มีลักษณะอิสระของ การ implement ของ การ render ที่มีลักษณะเฉพาะ และ ตัวเสริมอื่นๆของ render engine ได้วางแผน ไว้เพื่อการพัฒนา การออกแบบความเป็นอิสระของ rendering engine ทำให้แน่ในการคงอยู่อย่างยาวนานของ GDK และ ยอมให้สำหรับนักพัฒนาใช้ engine ที่เหมาะสมที่สุดต่อ โครงงานและงบประมาณของพวกเราเอง Axiom นั้นเป็นจุดที่เชื่อมโยงของ rendering ที่ สนับสนุนเทคโนโลยี 3D rendering ตัวล่าสุด การรวมทุกๆชนิดของตัว shader (เช่น HLSL, GLSL, Cg, Assembler, Vertex, Pixel ) ที่สนับสนุนทั้ง DirectX และ OpenGL และ ให้ก้าวข้ามถึง animation blending
Axiom Rendering Engine
Axiom เป็น Cross-platform 3D rendering ที่มีประสิทธิภาพสูง สำหรับ .NET ที่เป็น C# port ของ OGRE engine (Object-Oriented Graphics Rendering Engine) การออกแบบ Engine ที่มีองค์ประกอบอย่างดี ได้จัดให้ มีการตอบสนองที่มีคุณภาพสูงและ เป็นรูปแบบที่เป็นรุ่นต่อมา ของ 3D applications
โครงงาน Axiom 3D Engine เป็น การพัฒนา engine ที่ใช้รูปแบบ Graphic เชิงวัตถุ ที่พยายามใช้ C# และ Microsoft.Net platform ในการสร้าง รูปแบบการใช้ที่ง่าย มีความยืดหยุ่นสูง ให้สืบทอดได้ และ มีประสิทธิภาพของ engine ที่ดี ที่อนุญาตให้สำหรับ การพัฒนาที่เป็นไปอย่างรวดเร็ว และ เอื้อต่อ application ด้านกราฟิก โดยการใช้ .NET framework ที่เป็นจุดมุ่งหมายเดียวกับ platform นักพัฒนาสามารถมุ่งประเด็นไปที่แก่นของด้านการทำงาน และ ตรรกะ ที่ออกจะเน้นไปที่การจัดการ กับ ความยุ่งยากของ ภาษา ที่คล้ายกับ C++ ตัวแก่นแท้ ของ Axiom เป็น port ของ ORGE graphic engine ที่มีความนิยมอย่างมาก ที่เป็นทางฐานตัวเลือก บน การออกแบบเชิงวัตถุ ,ประสิทธิภาพ , และยืดหยุ่น
4.2.4 คุณลักษณะสำคัญของ RealmForge GDK Engine (Features)
1) Design
Coding
- ปลั๊กอินรองรับการเปลี่ยนแปลง framework, game engineและ toolset
- ทุกอย่างจากการแก้ไข ที่ GUI เป็นข้อมูลและสคริปต์
- Master Modules บรรจุเกือบทุกลักษณะของข้อมูลเกม ได้แก่ world design, script attachment, entity placement และ configurations, shader configuration, game settings, in-game literature, races และ classesและ gameplay settings to name a few
- Framework สนับสนุนเกมทุกชนิด (RPG, FPS, MMORPG, Adventure) และที่ยังไม่ได้รับการ พิจารณาสำหรับ 3D game ( board and puzzle) ด้วย
- Framework รวม RealmForge Media Library อยู่ด้วย ซึ่งเป็นการรวบรวมวิธีการอย่างอิสระในการพัฒนาตัวมันเอง
- สถาปัตยกรรม singleton จำนวนมาก ถูกใช้สร้างลำดับของ Particle system กับส่วนที่เพิ่มเติมที่น้อยที่สุด ซึ่งสามารถทำหน้าที่แทนการนำไปใช้
- ปลั๊กอิน Modules สามารถสร้างโดย Editor มี diff-grams รัดกุมคล้ายกับ Morrowind สามารถใช้รูปแบบร่วมกันหรือจำแนกเป็นเกมทันสมัย
- สภาพบำรุงรักษาได้และฝึกหัด OOP ดีเท่ากับมาตรฐานโครงการที่ถูกกำหนดในโครงการ open-source
- ปลั๊กอิน อนุญาตให้ OpenGL และ DirectX ใช้แลกเปลี่ยนซึ่งกันและกันได้ เหมือนลักษณะส่วนใหญ่ของเกม ที่สามารถเปลี่ยนค่าอย่างง่ายๆ ในคลาส
- การเขียนใน C# ใช้ .NET Framework ซึ่งสามารถใช้ได้ทุกภาษา .NET ที่รวมทั้ง C#, C++ .NET (MC++), VB .NET, J#, Delphi .NET, Jscript .NET, Lua .NET, Perl .NET, Python .NET
2) Usage
Scripting
- ทุกสิ่งถูกควบคุมโดยสคริปต์และใช้อินเตอร์เฟส ที่อนุญาตการปรับแต่งเต็มรูปโดยไม่มีการแก้ไข โค้ด
- ใช้ C# และ Jscript.net เป็นภาษาเขียนที่ไม่เคยมีมาก่อน เปลี่ยนแปลงได้ แก้ไขง่าย
- สคริปต์สามารถพัฒนาใน IDE กับ syntax ที่คล้าย JScript.NET
- สคริปต์สามารถแปลโปรแกรมและรันบน fly mid-game
- ภาษาแอสแซมบลีสามารถโหลดด้วยตนเองและบันทึกสคริปต์ได้
- ทุกสิ่งที่มีอยู่เป็นสคริปต์แท้จริงและมีขอบเขตของเหตุการณ์ที่สคริปต์มีอยู่ด้วย
Built-in Editors
- Game Editor รวมอยู่ในEngineและสามารถแสดงผล in-game คล้ายกับ Doom III
- วิธีการ design-time และ runtime ถูกทำให้ไม่ชัดเจน ตามที่เกมสามารถแก้ไขการใช้ขอบเขตของ เครื่องมือวินโดว์คล้ายกับ IDE
- แก้ไขในเกมอนุญาตให้ทดสอบและการแก้ไขได้ในเวลาเดียวกัน
Physics
- พื้นฐานทางกายภาพ การตรวจพบการชน รูปร่าง ยานพาหนะ
- Tao C# จำเป็นสำหรับ ODE ใช้เพื่อการนำ open-source ไปใช้ทางกายภาพที่ดีเยี่ยม
- ปลั๊กอิน OOP อนุญาตให้Engineทางกายภาพขยายออกได้ ซึ่งเค้าโครงง่าย
- Rag-doll อนุญาตให้ลักษณะตัวละคร ออกแบบจากลำดับของส่วนรูปร่าง ของลักษณะตัวละครที่แตกต่าง
- สนับสนุนการแบ่งลักษณะตัวละครออกเป็นส่วน
3) Scene Management
- General, BSP, Octrees, LOD:
- ทำการปรับแต่งได้มากและเปลี่ยนแปลงได้
- ปลั๊กอิน สามารถ override ส่วนจัดการฉาก กับวิธีการนำไปใช้
- ความแตกต่าง Axiom Scene Managers สนับสนุนการควบคุม culling ระดับต่ำและลักษณะสำคัญ เช่น การเรนเดอร์พื้น
- ฉากออกแบบเป็นลำดับชั้น
- การอ้างถึง node trees ได้มีการจัดเตรียมไว้แล้ว (เช่น เทมเพลตบ้าน และ การแก้ไขส่วนน้อยสามารถทำแต่ละ instance)
- ลักษณะเฉพาะของ ID อนุญาตให้อ้างถึงการเปรียบเทียบที่มีอยู่จริงในสคริปต์
- Regions หรือ second-level nodes อนุญาตให้จัดการสิ่งแวดล้อม เช่น ท้องฟ้า และหมอก ที่อาณาบริเวณแตกต่างกัน
- การออกแบบ Node-based กับการเลือก Region อนุญาตสำหรับออกแบบ loadless game
- Realms (หรือ highest level nodes) ใช้ แสดงถึงบริเวณที่ไม่เกี่ยวเนื่องกับเกม สามารถสร้างเกมซึ่งเซลล์ที่แยกกันและบรรจุไว้เมื่อเข้าไป
- ทุกสิ่งที่มีอยู่ (including Regions, Nodes และ Realm) สามารถ override ให้อนุญาตนำไปใช้
4) Graphics and 3D Rendering
Lighting

- Per-vertex, Per-pixel, Lightmapping
- จำนวนความสว่างไม่จำกัด
- แอพพลิเคชั่นอย่างง่ายของการทำให้เกิดแสงสว่าง เช่น กระพริบ และประกายไฟ
- สคริปต์แสงใช้ได้จริงกับสคริปต์วิถีการเคลื่อนที่
- มีคุณสมบัติมากมาย ประกอบด้วย อากาศล้อมรอบและแพร่กระจายสี ความเข้ม รัศมี
- สนับสนุนสำหรับชนิดแสงสว่างที่แตกต่าง ประกอบด้วย แสงสว่างจ้า จุด กรวย ล้อมรอบ
Shadows
- แผนภาพเงา, การฉายราบแบน, ระดับเงา
- สนับสนุนเทคนิคที่ประกอบด้วย ปรับลายฉลุ การเพิ่มลายฉลุ ปรับให้เบาบาง ปรับความละเอียด และรูปลอก
- เงาลายซ้อนที่มีประสิทธิภาพ
- เนื้อผิวเงา ตกกระทบระยะไกล สำหรับประสิทธิภาพ FPS
Texturing
- พื้นฐาน, หลายเนื้อผิว, ภาพกระทบ, Mipmapping, เกี่ยวกับปริมาตร, การฉายภาพ
- สนับสนุน Picture-in-picture ที่เลียนแบบกัน เช่น ภาพถ่าย หรือ ส่องกระจก
- ภาพสามารถเรนเดอร์เนื้อผิวและใช้ได้จริง เพื่อจำลองการทำงานในเกมแบบกล้องถ่ายรูปหรือวิดีโอ
- เนื้อผิวถูกเก็บเป็น Materials ดังนั้นสามารถหาได้จากแหล่งต่างๆ(ประกอบด้วยปุ่มที่เก็บเอกสารและไลบราลี่ )
- วัสดุทั้งหมดเป็นเงาเรียบๆ ให้มีสามารถเคลื่อนไหวได้
- ในเกมที่ดี ตัดฉากการเรนเดอร์ และสคริปต์เส้นทางการเคลื่อนที่
- สนับสนุนไฟล์ภาพ PNG, JPEG, TGA, BMP และ DDS
Shaders

- สนับสนุนโปรแกรมจุดและแยกส่วนเงา
- โปรแกรมระดับต่ำเขียนใน assembler
- โปรแกรมระดับสูงเขียนใน Cg หรือ DirectX9 HLSL
- shader เป็นโครงสร้างภายใต้ Modifiers ซึ่งสามารถใช้จริงที่ต้องการให้ทำเกิดภาพ
- จำนวนของคุณสมบัติที่แตกต่างถูกจัดเตรียมไว้สำหรับแต่ละ Modifiers ที่จะอนุญาตให้เปลี่ยน เป้าหมายโดยปราศจากการเขียนโปรแกรมซับซ้อน
- การออกแบบ OOP อนุญาตให้ผู้ออกแบบเกมรวมตัวมันเองโดยไม่ต้องมีความรู้เกี่ยวกับ shader อย่างละเอียด
- Library ของ Modifiers สรุปลำดับของความแตกต่าง shader เตรียมไว้เป็นตัวเร่งพัฒนาเกม
- ทุกสิ่งที่มีอยู่จริงใช้ shaders เรียบๆ หรือ วัตถุ Material ที่รองรับเนื้อผิวทั้งหมดที่เคลื่อนที่ได้
- Material สนับสนุนเทคนิคต่างๆ ที่เพื่ออธิบายระดับต่างๆของ shader ในการ์ดวิดีโอ
- การจัดเตรียมโดยอัตโนมัติสนับสนุน ค่าคงที่ พารามิเตอร์ ใน shader
Rendering


- กำหนดฟังก์ชัน, Render-to-Texture, Fonts, GUI
- ระดับของรายละเอียดประสิทธิภาพการเรนเดอร์ FPS
- ลักษณะโปร่งแสงในเนื้อผิวใช้งานได้อัตโนมัติ (png, gif)
- สนับสนุนขอบเขตที่สมบูรณ์ของตัวดำเนินการกำหนดฟังก์ชัน ที่อธิบายฮาร์ดแวร์ ซึ่งไม่สนับสนุนใช้ shader
- สนับสนุนเทคนิคจำนวนมาก
Animation
- Keyframe Animation, Skeletal Animation, Facial Animation, Animation Blending
- Skeletal animation กับการผสมผสานของ animations มากมาย และตัวแปร
- พื้นฐานทางกายภาพใช้กระดูกและส่วนของร่างกายที่รับรองการเคลื่อนที่ลักษณะเหมือนจริง
- สร้างในเครื่องมือสำหรับทำให้ลักษณะตัวละครเคลื่อนไหว
Meshes
- Mesh Loading, Skinning, Progressive
- Hardware-accelerated skinning
- Flexible mesh data formats accepted
- Loads OGRE Mesh, Skeleton, and Material formats
- ทำงานบน 3DS และ LWO
- ผู้ส่งออก 3DS Studio Max, Blender, Lightwave, Maya, Milkshape, Wings3D
- จัดทำ Biquadric Bezier สำหรับพื้นผิวโค้ง
Special Effects


- Environment Mapping, Lens Flares, Billboarding, Particle System, ท้องฟ้า, น้ำ, ไฟ, ระเบิด, รูปลอก, หมอก, สภาพอากาศ, กระจก
- การสลับฉากน้ำ ซึ่งตอบสนองกับสภาพอากาศ เช่น ฝน ลูกเห็บ และอื่น
- Particle Systems เหมือน IEffect ที่มีอยู่จริง ซึ่งสามารถเขียนสคริปต์การเคลื่อนที่และแยกออกไป หรือประยุกต์ใช้อย่างอื่น
- สนับสนุนท้องฟ้าชนิดต่าง ประกอบด้วย ก้อนยอดโดม ก้อนแบนราบ ก้อนสี่เหลี่ยม
- ใช้ shader ให้เคลื่อนที่ได้ เช่น ความเร็วลม และ ทิศทางท้องฟ้าและน้ำ
- น้ำต่างๆที่มีอยู่จริง มีคุณสมบัติต่างๆให้ใช้ เป็นความเหนียวเหนียว หรือหนา สำหรับการสร้างหนอง น้ำ
- หมอกปกคลุมที่ดูแบบกล้องถ่ายรูป หรือสามารถใช้เป็นภาพเลือนๆพื้นที่ใต้น้ำ
- ไฟ ระเบิด ถูกแทนรูปร่าง IEffect ที่มีอยู่ซื่งสามารถแทนที่กับผู้แก้ไขเกม
- การจัดสิ่งแวดล้อม เช่น ท้องฟ้า หมอก แสงล้อมรอบ และสภาพอากาศ สามารถแยกดินแดนต่างๆของโลก
Terrain

- การเรนเดอร์และการจัดภูมิประเทศเซลล์
- Loading of meshes and height-maps
- สนับสนุนแสงสว่างและเงาบนภูมิประเทศ
- ตัวเลือกที่ใกล้เคียงของแสงสว่างสำหรับประสิทธิภาพ FPS
- การตรวจวัดภูมิประเทศ
5) Networking
- Client-Server, Peer-to-Peer, Master Server
- เครือข่ายเปลี่ยนแปลงได้และ เซิร์ฟเวอร์สนับสนุนชนิดของเกมต่างๆ
- Centralized server หรือ peer-to-peer networking
- ออกแบบเพื่อใช้ประชาชนในเกมแบบผู้เล่นหลายคน เช่น MMORPGs
- รูปแบบเปลี่ยนแปลงได้จัดเตรียมการใช้งาน เซิร์ฟเวอร์ต่าง ที่รับรอง เครือข่ายและ
- ใช้ .NET Remoting ให้เกมรันกับเซิร์ฟเวอร์ โดยไม่เปลี่ยนตัวรองโค้ด เกมใช้บนเครือข่ายได้โดยไม่ต้องพยายามเป็นพิเศษ
6) Audio & Video
- เสียง 3D, การไหลของเสียง
- OpenAL สำหรับเสียงข้ามแพลตฟอร์ม
- เสียง 3D กับการหมุนกล้อง, ความกังวานของเสียง
- นิยมใช้แบบ OOP กับเขียนสคริปต์เสียงที่ใช้ได้จริง
7) Artificial Intelligence
- เส้นทางค้นหา, การตัดสินใจ ,Finite state machines, Scripted, Neural Networks
- เครื่องข่ายใยประสาท/การตัดสินใจ แบบ Tree hybrid เป็นตัวแบบที่ใช้จัดการ การตัดสินใจขั้นต้นของ AI
- อัลกอริทึม genetic อนุญาต สำหรับ การพัฒนาการ หรือ อักขระ หรือ แข่งขันของมนุษย์เพื่อการสร้าง ที่มีการท้าทายฝ่ายตรงข้ามที่จะเรียนรู้วิธีกลยุทธของผู้เล่น
- ทุกๆแง่ปัญหาของ engine สามารถเขียนเป็น script ได้และ ตัว AI ก็ไม่ยกเว้นเช่นกัน
- สถาปัตยกรรม event-based สำหรับ อักขระ ที่จัดเตรียมให้มีการเขียนประสานอย่างมีประสิทธิภาพ สำหรับ AI
- อัลกอริทึมเส้นทางค้นหา จะเตรียมให้เหมาะกับเกมต่างๆ
- แก้ไขจาก "http://realmforgewiki.castlegobs.nl/index.php/Features"
- อัลกอริทึมการหาเส้นทางที่แตกต่างกัน จะได้จัดเตรียม ให้เหมาะสมตามลักษณะเกม
5. ผลการศึกษาและวิจารณ์
5.1 การเปรียบเทียบด้าน Rendering Engine ระหว่าง Ogre ของ C++ และ Axiom ของ C#
ผลลัพธ์ ของ การเปรียบเทียบ FPS (frame ต่อ วินาที) สำหรับ Axiom และ OGRE 3D rendering และตัวรุ่นตัวอย่างลองใช้ (Demo) ตัว Demo ได้เปรียบเทียบ และ จัดทำตามรายการข้างล่าง ที่แต่ละส่วนของ engine ที่พิจารณาไว้ Axiom เป็น C# port ของ OGRE และ ตัว Axiom จะคล้ายคลึงกัน ด้วยการแยกส่วนหลักๆออก เป็น ตัว Axiom ที่ได้เขียนให้จัดการ ด้านภาษา สำหรับ .NET และ OGRE ที่เขียนด้วย ภาษา C++ แล้วทำการประมวลผล วิเคราะห์ในแต่ละครั้ง การควบคุมตัวแปร ไม่คำนึงถึงไม่ว่าแม้ตัว Demo ที่ถูกนำไปใช้ การใช้ .NET และ เป็นไปตามภาพด้านล่าง การใช้ ภาษา .NET เช่น C# ทำให้เกิดความแตกต่างของความเร็วเพียงเล็กน้อย ฉะนั้นผลลัพธ์ ที่ใช้ Axiom และ .NET ที่แท้จริงจะมีค่าเฉลี่ยที่เร็วกว่า อย่างไรก็ตามทั้งหมดก็เป็นการสังเขปเพียงเท่านั้น . นี่เป็น ข้อสังเขปที่ผิดพลาด และ ในกรณีที่มากที่สุดของ C# อาจจะไม่ถ่ายทอดได้เร็วกว่า C++ แต่นี่ได้ปรับปรุงในส่วนของความเร็วและประสิทธิภาพ ที่อาศัย จากการออกแบบ และนำไปใช้ มากกว่า การที่ไม่คำนึงถึง JIT ของภาษา .NET ที่ได้ถูกใช้ ส่วนเพิ่มเติมนี้ จะได้ปรับปรุง C# และ .NET framework ให้เป็นไปตามจริงเท่าที่เป็นไปได้ ไม่ใช่ "ช้าอย่างมาก" สำหรับ การพัฒนา เกม 3D ที่มีประสิทธิภาพสูง เหมือน ดังที่ได้พิจารณาไว้
ความสามารถของคอมพิวเตอร์ที่ทดสอบ
- Direct 9.0c October
- .NET Framework: 1.1.4322.573
- 1600MGz Pentium M
- 512 RAM
- ATI Mobility Radeon 9000 32MB
- 1400x1050 @ 32bpp Fullscreen
- Operating System: Microsoft Windows NT 5.1.2600.0 (Windows XP)
- Axiom Version: Build from CVS 10-16-04
- OGRE Version: 0.14.0 Prebuilt Release

5.2 จุดเด่น - จุดด้อย ของ Game Engine ที่พัฒนาด้วยภาษา C#
เมื่อเปรียบเทียบกับ C++ เป็นหลัก เนื่องจากเป็นภาษาที่นิยมใช้งาน และมีประสิทธิภาพสูงสำหรับการสร้างเกมในปัจจุบัน
จุดเด่น
- มี Garbage Collection ในการจัดการดูแลในส่วนของทรัพยากร และหน่วยความจำ ซึ่งทำหน้าที่ในการเก็บกวาด Object ที่ไม่จำเป็นต้องใช้แล้วที่อยู่ในหน่วยความจำให้ออกไป ทำให้หน่วยความจำว่างขึ้นเพื่อนำไปใช้ประโยชน์อื่น ๆ อีกด้วย (แต่ใช้พื้นที่หน่วยความจำมากพอสมควร)
- มีลักษณะ True object orientation
- Less Convoluted syntax มี syntax ที่มีความซับซ้อนน้อยกว่า หมายความว่า เราสามารถพัฒนาเกมได้เร็วกว่านั่นเอง
- เป็นภาษาที่ปลอดภัยต่อชนิดข้อมูล (type-safe) หมายถึง ทันทีที่ข้อมูลบางอย่างถูกกำหนดค่าให้กับชนิดข้อมูลหนึ่ง ๆ แล้วไม่สามารถแปลงตัวเองไปเป็นชนิดข้อมูลที่ไม่สัมพันธ์กันกับชนิดอื่นในภาย หลังได้
จุดด้อย
- เกมหรือโปรแกรมที่พัฒนาด้วย C# ต้องใช้สภาพแวดล้อมของ .NET (.Net Platform) ในการประมวลผล
- ใช้พื้นที่หน่วยความจำมาก เนื่องมาจาก Garbage Collection
จากการศึกษา Game Engine ที่ช่วยในการพัฒนาเกมที่เขียนด้วยภาษา C# พบว่า เริ่มมี Engineที่หลากหลาย ทำให้ผู้พัฒนาเกมมีทางเลือกในการสร้างเกมที่ดีได้ และ Game Engine ที่รองรับภาษา C# เริ่มเข้ามามีบทบาทแทน Engine ที่รองรับภาษารุ่นเก่า ทำให้ตัว Engine มีจุดเด่นที่เพิ่มขึ้น โดยช่วยจัดการในการสร้างเกมให้เป็นไปอย่างสะดวกและรวดเร็วกว่า Game Engine ที่รองรับภาษารุ่นเก่า โดยภาษา C# นั้นมีส่วนที่ดีต่างๆที่ช่วยให้จัดการส่วนต่างๆ ในการสร้าง เกม ให้มีความสะดวกมากขึ้น และมีประสิทธิภาพที่ดีกว่า ในบางด้าน ซึ่งอาจเป็นส่วนที่ถูกนำมาแทนที่ การใช้ ระดับ ภาษา C++ ซึ่งเป็นภาษาระดับต่ำกว่า และ ซับซ้อนกว่าใน อนาคตก็เป็นได้
ที่มา: http://devmaster.net/devdb/engines/realmforge
คลิ้กที่รูปเพื่อดาวน์โหลดโปรแกรม