প্রকল্প সম্পর্কে
SwarmingLilMen হল উদ্ভূত বহু-এজেন্ট সিস্টেমের জন্য একটি পরীক্ষামূলক ইঞ্জিন, যা বর্তমানে C#/.NET 8.0-এ প্রথম নীতিমালা থেকে নির্মিত 2D বয়েডস/স্বার্ম সিমুলেশনের উপর ভিত্তি করে। এটি স্ক্রিপ্টিংয়ের তুলনায় উদ্ভবকে গুরুত্ব দেয়: কিছু সহজ, সংযোজ্য স্টিয়ারিং রুল সমৃদ্ধ ম্যাক্রো প্যাটার্ন তৈরি করে। প্রকল্পটি প্রাথমিক উন্নয়ন পর্যায়ে (GPL-3.0-only) এবং অ্যাগ্রিগেট-চালিত সিস্টেম পদ্ধতি থেকে স্বাধীনভাবে পরীক্ষা করা যায় এমন, রেনল্ডস-স্টাইলের স্টিয়ারিং রুলে আর্কিটেকচারাল রূপান্তরের মধ্য দিয়ে যাচ্ছে。
দুটি বাস্তবায়ন পাশাপাশি বিদ্যমান: একটি লিগেসি ডিফল্ট পাইপলাইন (অ্যাগ্রিগেট-চালিত SoA স্টিয়ারিং সিস্টেম, ইউনিফর্ম-গ্রিড বয়েডস এবং ইন্টারেক্টিভ Raylib রেন্ডারার সহ) এবং একটি ক্যানোনিক্যাল পথ (স্ক্যাফোল্ডিং এবং তিনটি স্টিয়ারিং রুল, --canonical দিয়ে সক্রিয়)। ক্যানোনিক্যাল পারসেপশন/স্পেশিয়াল-ইন্ডেক্স চুক্তি এবং ফোর্স-বাজেট প্রয়োগ সম্পন্ন হয়েছে, তবে ইনস্ট্রুমেন্টেশন UX, নির্ধারিত আচরণগত দৃশ্য, মাল্টি-গ্রুপ সেমান্টিক্স এবং ক্যানোনিক্যাল বেঞ্চমার্ক এখনও খোলা রয়েছে。
প্রমাণিত সক্ষমতাগুলোর মধ্যে রয়েছে ক্যাশ দক্ষতার জন্য Structure-of-Arrays (SoA) ডেটা লেআউট; সঠিক 500-টিক অর্ডারড-কাইনেমেটিক-হ্যাশ কভারেজসহ ফিক্সড-টাইমস্টেপ সিডেড লিগেসি এবং ক্যানোনিক্যাল পথ; এজেন্ট-জিনোম ডেটা স্ট্রাকচার এবং মিউটেশন API; প্রিসেট (balanced, strong-separation, tight-flocking, fast-loose, slow-cohesive) সহ কনফিগারযোগ্য সিমুলেশন প্যারামিটার; লিগেসি ইউনিফর্ম-গ্রিড বয়েডস পাইপলাইন এবং ইন্টারেক্টিভ Raylib রেন্ডারার; স্টিয়ারিং ইনস্ট্রুমেন্টেশনসহ অপ্ট-ইন ক্যানোনিক্যাল সিঙ্গল-গ্রুপ রেন্ডারার; এবং একটি xUnit টেস্ট স্যুট যার নন-পারফরম্যান্স সাবসেট CI গেট গঠন করে। পারফরম্যান্স মাপার জন্য একটি BenchmarkDotNet স্যুটও রয়েছে。
সিস্টেমস পাইপলাইনটি একটি ইউনিফর্ম গ্রিড পুনর্নির্মাণ করে, তারপর প্রতিটি টিকে Sense, Behavior, Wander, এবং Integrate সিস্টেম চালায়। পারফরম্যান্স নীতিগুলোর মধ্যে রয়েছে অ্যালোকেশন-সচেতন হট পাথ, অভ্যন্তরীণ লুপে LINQ/ডেলিগেট/বক্সিং না করা, হোয়িস্টেড ইনভেরিয়েন্টসসহ টাইট for-loop, এবং ভার্চুয়াল ডিসপ্যাচের পরিবর্তে ডাইরেক্ট/স্ট্যাটিক কল। 60 FPS ইন্টার্যাক্টিভে 50k-100k এজেন্ট এবং 1M+ হেডলেসে পারফরম্যান্স টার্গেট স্পষ্টভাবে অপ্রাপ্ত লক্ষ্য হিসেবে উল্লেখ করা হয়েছে; 50k মাপ 16.67 ms/টিক বাজেটকে এক অর্ডার মাপের বেশি মিস করেছে, এবং ক্যানোনিক্যাল থ্রুপুট, রেন্ডারার FPS, এবং প্রতি টিক অ্যালোকেশন মাপা হয়নি。
প্রকল্পটি স্বতন্ত্র JavaScript ব্রাউজার ডেমোও সরবরাহ করে: Boids Basic (রেনল্ডস অ্যালগরিদম রিয়েল-টাইম প্যারামিটার সামঞ্জস্যসহ), Self-Propelled Particles/Vicsek Model (সক্রিয় পদার্থের ফেজ ট্রানজিশন অর্ডার প্যারামিটার ট্র্যাকিংসহ), Ant Colony Optimization (স্টিগমার্জি-ভিত্তিক পাথফাইন্ডিং ফেরোমোন ট্রেইলসহ), এবং Particle Swarm Optimization (ফিটনেস ল্যান্ডস্কেপ ভিজুয়ালাইজেশনসহ ধারাবাহিক গ্লোবাল অপটিমাইজেশন)। এই ডেমোগুলো কোনো ইনস্টলেশন প্রয়োজন করে না এবং দ্রুত ইটারেশন, ডেমো, শিক্ষণ এবং প্রোটোটাইপিংয়ের জন্য ব্যবহৃত হয়。
রোডম্যাপ পর্যায়গুলোতে রয়েছে মাল্টি-গ্রুপ ইন্টারঅ্যাকশন/কমব্যাট/মেটাবলিজম (ফেজ 3), প্রজনন/বিবর্তন/ট্রেইট ড্রিফট (ফেজ 4), SIMD অপ্টিমাইজেশন/প্যারালেলাইজেশন/NativeAOT (ফেজ 5), এবং অতিরিক্ত দৃশ্য প্রিসেট/রিপ্লে/অ্যাডভান্সড মেট্রিক্স (ফেজ 6)। টেক স্ট্যাকটি অন্তর্ভুক্ত করে C# 12 on .NET 8.0, Raylib-cs 7.0.2 রেন্ডারিংয়ের জন্য, xUnit 2.9.3 টেস্টিংয়ের জন্য, এবং BenchmarkDotNet 0.15.6 বেঞ্চমার্কিংয়ের জন্য।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.