مشروع Hedra هو لعبة RPG طموحة ذات عالم مفتوح ومنخفضة المضلعات، يختار فيها اللاعبون فئة، ويستكشفون عوالم لا نهاية لها مولّدة إجرائياً، ويفتحون مهارات، ويُكملون مهام مولّدة إجرائياً. بدأ المشروع عندما كان مبتكره في نحو الخامسة عشرة من عمره، كوسيلة لتعلّم طريقة عمل OpenGL. وسرعان ما طغى توسّع النطاق على المشروع، وبعد بضع سنوات تحوّل إلى لعبة ثلاثية الأبعاد كاملة ومحرك ألعاب. ويبلغ حجم قاعدة الشيفرة نحو 100 ألف سطر برمجي، مع دعم من الدرجة الأولى لنظامي Linux وWindows.
تقدّم اللعبة مجموعة واسعة من الميزات، منها عوالم مولّدة إجرائياً، ومهام وزعماء، وأكثر من 100 عنصر بنظام ندرة، وشجرة مهارات تضم عشرات المهارات. يستطيع اللاعبون الاختيار من بين أربع فئات، لكل منها تخصصان، ويمكنهم الصيد والحرف والتجارة وتجنيد رفاق وحيوانات أليفة، والتنقل بين أبعاد مختلفة. والمحرك بدوره واسع بالقدر نفسه، إذ يضم معالِج رسوميات OpenGL حديثاً، ودعماً للشبكات المكسوّة بالجلد والرسوم المتحركة، وانعكاسات في فضاء الشاشة وإضاءة محيطية محجوبة، وتكاملاً مع Steam، ودعماً للتعديلات وبرمجة السكربتات بلغة Python، ونظام مقاطع (chunks) للعوالم اللانهائية.
ومن أبرز الجوانب التقنية معالِج عالم يرسم العالم كله في نحو ثلاثة استدعاءات رسم باستخدام عناصر الرسم المتعدد في OpenGL، وتضاريس مولّدة بخوارزمية Marching Cubes، وهي خوارزمية لاستخراج الأسطح متساوية القيمة. ويأتي اسم المشروع من رباعيات الأوجه (tetrahedra)، وهي الشكل المستخدم في خوارزمية Marching Tetrahedra التي نفّذها المبتكر في الأصل. ولا يملك العالم ملف حفظ: إذ يُخزَّن فقط بيانات اللاعب وبذرة العالم (seed)، وكل شيء آخر يُولَّد أثناء التشغيل.
ويشير المبتكر إلى أن نماذج اللعبة مخزّنة كملفات نصية صِرفة بصيغتي .PLY و.DAE دون أي قوام (textures)، ما يعني أن المشروع في جوهره نصّ يُقرأ ويتحوّل إلى صور تفاعلية. وقد شُورك المشروع على موقع Hacker News.
المصدر: Hacker News · لخّصه HeadlinesBriefing