عن المشروع
Irreden Engine هو محرك ألعاب قائم على الفوكسل، مصمم لإنشاء ألعاب بأسلوب بصري مميز. تم بناؤه باستخدام C++23 ويدعم خلفيات متعددة: OpenGL افتراضيًا على Windows وMetal على macOS. يستخدم المحرك بنية معيارية حيث يتم تجميع المكونات كمكتبات ثابتة، مما يسمح بدمج وتطوير مرن.
تشمل الوحدات الأساسية:
- **IRRender**: يتعامل مع العرض الفوكسلي بدون شبكة عبر shaders الحوسبة، ويحول الفوكسلات 3D إلى لوحات 2D متساوية القياس. يتميز بالتمرير البكسلي المتقارب للحركات السلسة للكاميرا ويدعم لوحات فوكسل متعددة.
- **IRECS**: إطار عمل فعال للمخزن، قائم على النموذج الأولي، لنظام الكيان-المكون-النظام (ECS) الذي يسمح بتعريف الأنظمة باستخدام lambdas وإنشاء الكيانات بشكل جماعي.
- **IRAudio**: يدعم استكشاف أجهزة الصوت والاتصال بها، وإدخال MIDI للوحات التحكم، وبث الصوت في الوقت الفعلي (قيد التطوير).
- **IRInput**: يدير إنشاء النافذة عبر GLFW ويعالج إدخال لوحة المفاتيح والماوس وذراع التحكم، ومُزامَن مع حلقة اللعبة.
- **IRScript**: يوفر غلافًا لواجهة برمجة تطبيقات Lua C للضبط الزمني وتنفيذ Lua الكامل في المستقبل.
- **IRVideo**: يتيح التقاط إطار MP4/H264 باستخدام FFmpeg، مع تبديل التسجيل أثناء التشغيل.
- **IRMath**: يشمل حسابات متساوية القياس، وأغلفة GLM، ووظائف التسهيل للرسوم المتحركة.
- **IRTime**: يوفر أحداثًا ثابتة FPS لتحديثات متسقة وأحداثًا غير محدودة FPS للعرض.
يدعم المحرك دمج مشاريع ألعاب خاصة من خلال هيكل دليل `creations/game/`، الذي يكتشف أهداف CMake تلقائيًا. تشمل التبعيات RtAudio، RtMidi، GLFW، GLM، EasyProfiler، SpdLogger، Fmt، Glad، StbImage، MeshOptimizer، Assimp، enkiTS، Lua، وFFmpeg. تشمل أدوات التطوير إعدادات مسبقة لـ CMake للتكوين، والبناء، والاختبار، والتنسيق، والتحليل. يشجع المشروع على تقديم الملاحظات حول تصميم المحرك والمساهمة من خلال القضايا، أو تعديل القوالب الجاهزة، أو نشر مشاريع مفتوحة المصدر.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.