প্রকল্প সম্পর্কে

VOID Engine হল .NET-এর জন্য নির্মিত একটি হালকা, মডুলার 2D গেম ফ্রেমওয়ার্ক। এটি একটি বিশাল অল-ইন-ওয়ান ইঞ্জিন হওয়ার চেষ্টা না করে প্রয়োজনীয় গেম ডেভেলপমেন্ট সিস্টেম প্রদান করে, বরং ফ্রেমওয়ার্ক-স্তরের আর্কিটেকচারের উপর ফোকাস করে যা ডেভেলপারদের শক্ত ডিফল্ট দেয়, ধরে না নিয়ে যে এই ডিফল্টগুলো প্রতিটি গেমের জন্য উপযুক্ত। ## সিস্টেম এবং বৈশিষ্ট্য - **রেন্ডারিং**: ব্যাচড স্প্রাইট এবং প্রিমিটিভ রেন্ডারিং, টেক্সচার অ্যাটলাসিং, শেডার, রেন্ডার টার্গেট এবং 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, অভিযোজিত কম্প্রেশন এবং প্রতি-ফাইল ইন্টিগ্রিটি চেক ব্যবহার করে অ্যাসেটগুলোকে প্রমাণিত, এনক্রিপ্টেড আর্কাইভে প্যাকেজ করার জন্য। ## সমর্থিত প্ল্যাটফর্ম - উইন্ডোজ - ম্যাকওএস - লিনাক্স .NET 10 প্রয়োজন।