منصوبے کے بارے میں

VOID Engine ایک ہلکا پھلکا، ماڈیولر 2D گیم فریم ورک ہے جو .NET کے لیے بنایا گیا ہے۔ یہ گیم ڈیولپمنٹ کے بنیادی سسٹم فراہم کرتا ہے بغیر یہ کوشش کیے کہ ایک بہت بڑا آل اِن ون انجن بن جائے، اور اس کی توجہ فریم ورک سطح کی آرکیٹیکچر پر ہے جو ڈیولپرز کو مضبوط ڈیفالٹس دیتی ہے بغیر یہ فرض کیے کہ یہ ڈیفالٹس ہر گیم کے لیے موزوں ہیں۔ ## سسٹمز اور خصوصیات - **رینڈرنگ**: بیچڈ اسپرائٹ اور پرائمیٹو رینڈرنگ، ٹیکسچر اٹلسنگ، شیڈرز، رینڈر ٹارگٹس، اور Silk.NET.OpenGL کے ذریعے پوسٹ پروسیسنگ۔ - **رینڈرر API**: عوامی رینڈرر غیر جانبدار کنٹریکٹس جو Vulkan، Direct3D، یا Metal جیسے حسب ضرورت بیک اینڈز کی اجازت دیتے ہیں۔ - **پلیٹ فارم**: SDL3 ونڈونگ، ڈسپلے، فل اسکرین موڈز، کی بورڈ، ماؤس، اور گیم پیڈز کے لیے اِن پٹ ہینڈلنگ۔ - **اثاثہ جات**: ماؤنٹ پر مبنی ورچوئل فائل سسٹم، حسب ضرورت اثاثہ اقسام، پیک لوڈنگ، اور LRU اخراج۔ - **آڈیو**: Silk.NET.OpenAL کے ذریعے OpenAL پلے بیک، ساؤنڈ پولنگ، ترجیح پر مبنی وائس اسٹیلنگ، اور کیٹیگری والیومز۔ - **محفوظ کرنا**: مینی فیسٹ تصدیق کے ساتھ AES-GCM انکرپٹڈ سیوز۔ - **پاتھ فائنڈنگ**: A*، Dijkstra، BFS، اور فلو فیلڈز۔ - **کوروٹینز**: ٹوینز، ترتیب، تاخیر، انتظار، اور ایزنگ ہیلپرز۔ - **لاگنگ**: کنسول اور فائل سنکس کے ساتھ ایسنک لاگنگ۔ - **ریاضی**: ویکٹرز، میٹرکس، مستطیلات، رنگ، اور رینڈم ہیلپرز۔ - **ٹولنگ**: پروجیکٹ ٹیمپلیٹس اور انکرپٹڈ اثاثہ پیکنگ یوٹیلیٹیز۔ - **LDtk**: مربوط لیول اور اثاثہ سپورٹ۔ ## قابلِ توسیع ہونا VOID سیدھے توسیعی نکات پیش کرتا ہے جہاں ڈیولپرز حسب ضرورت نفاذ فراہم کر سکتے ہیں یا بلٹ اِن ماڈیولز کو مکمل طور پر بدل سکتے ہیں، بشمول حسب ضرورت اثاثہ اقسام (`IAsset`)، متبادل اثاثہ ذرائع (`IMount`)، ٹیکسچر پیکنگ الگورتھم (`IAtlasPacker`)، لاگ منازل (`ILogSink`)، اور گرافکس بیک اینڈز (`IRendererBackend`، `IGraphicsDevice`)۔ ## اثاثہ پیکر فریم ورک میں ایک API اور ایک کمانڈ لائن انٹرفیس ٹول (`Void.Packer.CLI`) شامل ہے جو اثاثہ جات کو AES-GCM، اڈاپٹو کمپریشن، اور فی فائل انٹیگریٹی چیکس کے ذریعے تصدیق شدہ، انکرپٹڈ آرکائیوز میں پیک کرنے کے لیے استعمال ہوتا ہے۔ ## معاون پلیٹ فارمز - Windows - macOS - Linux .NET 10 درکار ہے۔