একজন চা বহনকারী হিমালয়ের গিরিপথ দিয়ে নব্বই কিলো ইট চা বহন করে নিয়ে যায়, আর এখানকার বাতাস আসে দমকা হাওয়ায় যা আপনি আসতে দেখতে পারেন — প্রতিটি দমকা পৌঁছানোর এক-দুই সেকেন্ড আগেই প্রার্থনা পতাকাগুলো সোজা হয়ে ওড়ে। লাঠি পুঁতে ব্রেস করতে হোল্ড করুন; হাঁটতে ছেড়ে দিন। ব্রেসিং নিরাপদ, কিন্তু বিনামূল্যে নয়, কারণ আপনি যাই বেছে নিন না কেন প্রদীপটি পুড়তে থাকে, আর আপনার পিঠে বাঁধা স্তূপটি আপনার হাঁটার চেয়ে অর্ধেক তাল পিছিয়ে দোলে, তাই মাঝ-পদক্ষেপে দমকা এলে আপনি কিনারা থেকে পড়ে যাবেন। বহনকারীর হাঁটা, ব্রেস করা এবং পড়ে যাওয়া প্রকৃত মোশন ক্যাপচার, যা জয়েন্ট অ্যাঙ্গেলের মাত্র ২,২৭৫ বাইট হিসেবে বহন করা হয় — এমন একটি টিয়ারে একটি সম্পূর্ণ মানুষের চলাফেরা, যেখানে প্রতিটি অ্যানিমেশনের জন্য স্প্রাইট শিট বহন করা সম্ভব নয় — আর মূল প্যাকেজটি 4 MB WeChat সীমার বিপরীতে 2.35 MB-তে পৌঁছায়।
দুই হাজার বছর ধরে তুরফান হাত দিয়ে খনন করা মরুভূমির নিচের সুড়ঙ্গ থেকে জল পান করে আসছে — 坎儿井, যা পাহাড়ি গলিত জল সূর্যের কাছে এক ফোঁটাও না হারিয়ে দশ দশ কিলোমিটার বহন করে। একটি খনন করুন। জল শুধু নিচের দিকে বয়, তাই কোথাও উঁচু হয়ে যাওয়া সুড়ঙ্গ সেখানেই থেমে যায়; খুব চওড়া বিস্তার খনন করলে আপনার তৈরি করা জিনিসের ওপরের অংশ ধসে পড়ে। মানচিত্রটি একটি প্রকৃত cc.TiledMap এবং প্রতিটি মেকানিক তাতে লেখে — খনন, জল ও ধস সবই টাইল এডিট, গ্রিডের ওপর স্প্রাইট নয় — আর পুরো মূল প্যাকেজটি 4 MB WeChat সীমার 55.8%, অর্থাৎ 2.23 MB-তে পৌঁছায়।
একটি নববর্ষের জানালা-ফুল ভাঁজ করা অবস্থায় কাটা হয়, তাই আপনি যা তৈরি করছেন তা খুলে দেখার আগে কখনো বুঝতে পারবেন না। প্রতিটি রেখা ভাঁজের মাধ্যমে দুই, চার বা আট বার কপি হয় — যা আপনার দক্ষতা এবং আপনার ভুল দুটোকেই ঠিক একই হারে বাড়িয়ে দেয়। কোনো সেতু কেটে ফেললে সেই টুকরো শিট থেকে খসে পড়ে; মাঝখান কেটে ফেললে পুরোটাই ভেঙে পড়ে। কাগজটি কোনো স্প্রাইট নয়: এটি একটি বিটম্যাপ যা আপনি কাটার সময় তৈরি হয় ও GPU-তে পুনরায় আপলোড হয়, এই কারণেই পুরো মূল প্যাকেজটি 2.14 MB-তে পৌঁছায় — 4 MB WeChat সীমার 53.6%, ল্যাবের সবচেয়ে হালকা পিস।
একটি বাঁশের ভেলা একটি নৌকা নয় — এটি ছয়টি খুঁটি বাঁধা, আর নদী একে একে সেগুলো নিয়ে যায়। একটি চুনাপাথরের পাথরে জোরে ধাক্কা লাগলে একটি বাঁধন খুলে যায়: আপনি একটি খুঁটি হারান, ভেলা আরও সরু ও অস্থির হয়ে যায়, আর ফিরে আসার একমাত্র উপায় হল ভাসমান বাঁশ ধরে দৌড়ে গিয়ে একটি নতুন খুঁটি বেঁধে নেওয়া। এটি তৈরি হয়েছে প্রকৃত Box2D রিজিড বডি এবং হিঞ্জ জয়েন্টকে রশি হিসেবে ব্যবহার করে, তাই বাঁক, মোচড় ও ভাঙন অ্যানিমেশন নয় বরং সিমুলেশন — আর পুরো মূল প্যাকেজটি 4 MB WeChat সীমার বিপরীতে 2.77 MB-তে পৌঁছায়, সীমার 69.2%।
একটি কাগজের আকাশ-প্রদীপ নিজের শিখার নিঃশ্বাসে ভর করে উৎসবের রাত পার হয়ে ওঠে — আর সেই শিখাই আপনার একমাত্র আলো ও একমাত্র জ্বালানি। ওঠার জন্য জ্বালান এবং আসন্ন তারগুলো দেখুন; বাঁচাতে ভেসে থাকুন এবং প্রায় অন্ধভাবে উড়ুন। একটি কাস্টম Cocos শেডার প্রদীপের লাইভ অবস্থান থেকে Blender-এ বেক করা নরমাল ম্যাপ আলোকিত করে, মোক্যাপ ভিড় ছাদ থেকে দেখে, আর মেঘের ওপরের টিয়ারটি একটি WeChat সাবপ্যাকেজ হিসেবে শিপ হয়, তাই মূল প্যাকেজটি 4 MB সীমার বিপরীতে 3.38 MB-তে পৌঁছায়।
এই ক্যাটাগরিতে কোনো প্রজেক্ট নেই। অন্য একটি ক্যাটাগরি নির্বাচন করুন।
AI এজেন্ট মিনি-গেম প্ল্যাটফর্মের জন্য নির্মাণ করে
AI এজেন্ট Cocos প্রজেক্ট তৈরি করে এবং নির্বাচিত মিনি-গেম প্ল্যাটফর্মের সীমাবদ্ধতার বিপরীতে বিল্ড পাইপলাইন পরীক্ষা করে। WeChat ও Douyin মিনি-গেম একটি চ্যাট মেসেজ, ফিড কার্ড বা QR কোড থেকে তাৎক্ষণিকভাবে খোলে — কোনো অ্যাপ স্টোর নেই, কোনো ডাউনলোড স্ক্রিন নেই, কোনো ইনস্টল নেই। Game Lab-এর অন্য কোনো ইঞ্জিন টিয়ারের কাছে এই ধরনের রিচ নেটিভভাবে নেই, আর Cocos Creator এই ক্ষেত্রে প্রভাবশালী ইঞ্জিন, যার একটি ওপেন-সোর্স (Apache-2.0) রানটাইম রয়েছে।
পুরো প্রক্রিয়ায় কোথাও কোনো এডিটর GUI নেই: ল্যাব cocos-cli সোর্স থেকে বিল্ড করে এবং প্রজেক্ট স্ক্যাফোল্ড, ইঞ্জিন কম্পাইল ও রিলিজ প্যাকেজিং সম্পূর্ণভাবে স্ক্রিপ্ট দিয়ে চালায় — ঠিক যেভাবে AI Game Builder করবে। প্রতিটি অপ্রত্যাশিত সমস্যাসহ পুরো রানবুক রেকর্ড করা আছে, যাতে যেকোনো এজেন্ট একটি ক্লিন মেশিন থেকে বিল্ড পুনরায় তৈরি করতে পারে।
টুলচেইন অডিটবুট: ০ ত্রুটি
✓
সোর্স থেকে বিল্ডcocos-cli + বান্ডলড ইঞ্জিন, ভেন্ডরড Node
✓
হেডলেস রিলিজ বিল্ডxvfb GL · অফলাইন · কোনো ক্লাউড কল নেই, কোনো CDN নেই
উইচ্যাট এমন যেকোনো মিনি-গেম প্রত্যাখ্যান করে যার মূল প্যাকেজ ৪ MB-এর বেশি, তাই আকার নিয়ন্ত্রণই পুরো খেলা। ডিফল্ট ইঞ্জিনে ৩৩টি মডিউল থাকে, যার আকার ৫.৯৪ MiB — একটি অ্যাসেট তৈরি হওয়ার আগেই সীমার ১.৪৯× বেশি। ল্যাব সেটিকে ছেঁটে ১৫টি মডিউলে নামিয়ে আনে, যা একটি 2D প্রজেক্টের জন্য প্রকৃতপক্ষে দরকার: ২.৮০ MiB, যা ১.২ MiB অতিরিক্ত জায়গা রেখে দেয় প্রকৃত গেম কন্টেন্টের জন্য।
মূল প্যাকেজ বনাম ৪ MB সীমা-৩০%
✗
ডিফল্ট ইঞ্জিন (৩৩টি মডিউল)৬,২৩০,২৮২ বাইট — সীমার ১.৪৯× বেশি
ফিজিক্স, স্পাইন, 3D ব্লব বাদ দেওয়া হয়েছেপ্রতিটি মডিউল তার বাইট অর্জন করে অথবা বাদ পড়ে
আমরা অনুপস্থিত বিল্ড টার্গেট তৈরি করেছি
ওপেন-সোর্স CLI-তে কোনো উইচ্যাট বা ডুইন বিল্ড প্ল্যাটফর্ম নেই — ইঞ্জিনে মিনি-গেম অ্যাডাপ্টার আছে, কিন্তু বিল্ডার-সাইড প্লাগইন নেই। তাই ল্যাব নিজেই এই প্লাগইনগুলো তৈরি করেছে: ডকুমেন্টেড প্ল্যাটফর্ম চুক্তি অনুযায়ী: ম্যানিফেস্ট জেনারেশন, সাবপ্যাকেজ ম্যাপিং, অ্যাডাপ্টার ইনজেকশন, যা তার সীমা পর্যন্ত হেডলেসভাবে যাচাই করা হয়েছে।
game.json / project.config.json এমিটwechatgame + bytedance উভয়ই বিল্ড ও ক্লিন বুট হয়
একটি অংশ কীভাবে তৈরি হয়
01
কনসেপ্ট প্যাক
কী আর্ট, স্প্রাইট শিট এবং একটি এলিমেন্ট ইনভেন্টরি যা প্রোডাকশনে অবশ্যই মেনে চলতে হবে।
02
ব্লকআউট
লুপ প্রথমে গ্রে বক্সে খেলা হয় — কোনো আর্ট তৈরির আগেই গেমপ্লে ফিল স্থির করা হয়।
03
নির্মিত অ্যাসেট
স্প্রাইট এবং মডেল কনসেপ্ট অনুযায়ী আঁকা বা Blender-এ তৈরি, কখনো জেনারেট করা নিম্নমানের কাজ নয়।
04
হেডলেস Cocos বিল্ড
ছাঁটা ইঞ্জিন, অফলাইন বিল্ড, ৪ MB সীমার বিপরীতে প্রতিটি বাইট গণনা করা হয়েছে।
05
পরিষ্কার না হওয়া পর্যন্ত যাচাই
ডেস্কটপ ও মোবাইলে বুট-অডিট করা হয়েছে, নিজস্ব কনসেপ্টের বিপরীতে বিচার করা হয়েছে।
প্রশ্ন, উত্তরসহ
মিনি-গেম আসলে কী?
এমন একটি গেম যা উইচ্যাট বা ডুইন-এর ভেতরেই চলে — একটি চ্যাট, ফিড কার্ড বা QR কোড থেকে খোলা হয়, কোনো অ্যাপ-স্টোর ইনস্টলের প্রয়োজন ছাড়াই। প্ল্যাটফর্মটি কঠোরভাবে ৪ MB মূল-প্যাকেজ সীমা আরোপ করে, যে কারণে ইঞ্জিন ছাঁটাই এবং অ্যাসেট বাজেট এই ল্যাবের মূল শৃঙ্খলা।
অন্য ল্যাব ইঞ্জিনগুলোর বদলে কেন Cocos?
কারণ মিনি-গেম প্ল্যাটফর্মগুলো Cocos Creator-এর নিজস্ব ক্ষেত্র: এটি সেখানে প্রধান ইঞ্জিন, এর রানটাইম ওপেন সোর্স, এবং উইচ্যাট ও ডুইনের জন্য এর অ্যাডাপ্টার ইঞ্জিনের সাথেই আসে। অন্যান্য ল্যাবগুলো ওয়েব, ডেস্কটপ ও নেটিভ স্তর কভার করে; এই ল্যাব যোগ করে সেই ইনস্ট্যান্ট-গেম স্তর যা তারা পৌঁছাতে পারে না।
টুলচেইন কি আসলেই প্রমাণিত হয়েছে?
হ্যাঁ — ল্যাব লেজারে প্রমাণসহ: সোর্স থেকে বিল্ড করা cocos-cli, সম্পূর্ণ হেডলেস লিনাক্স রিলিজ বিল্ড, ডেস্কটপ ও মোবাইল ভিউপোর্টে শূন্য কনসোল, পেজ বা নেটওয়ার্ক ত্রুটিসহ Playwright বুট অডিট, এবং ৪,১৯৪,৩০৪-বাইট সীমার বিপরীতে ২,৯৩৫,১৬১ বাইটে পরিমাপ করা একটি ছাঁটা ইঞ্জিন কোর। ল্যাব নিজেই উইচ্যাট ও ডুইন বিল্ড টার্গেট তৈরি করেছে, এবং প্রথম প্রকাশিত পিস এগুলোর মাধ্যমেই বিল্ড হয় — ৪ MB সীমার বিপরীতে ৩.৩২ MiB মূল প্যাকেজ।
প্রকাশের জন্য কি এই গেমগুলোর চীনা লাইসেন্স লাগবে?
উইচ্যাট ও ডুইনে প্রকাশ তাদের ডেভেলপার প্রোগ্রাম ও আঞ্চলিক শর্তাবলীর মাধ্যমে পরিচালিত হয়। ল্যাব প্যাকেজগুলো তৈরি ও যাচাই করে; স্টোর-সাইড রেজিস্ট্রেশন ও রিভিউ রিলিজের সময় প্রতিটি টাইটেল অনুযায়ী পরিচালিত হয়, প্ল্যাটফর্মের অন্যান্য স্টোর পাইপলাইন যেভাবে কাজ করে সেভাবেই।
মিনি-গেম তৈরি করা কি প্ল্যাটফর্মে প্রকাশ করার মতোই?
না। একটি কার্যকর বিল্ড এবং একটি প্ল্যাটফর্ম রিলিজ আলাদা ধাপ। টার্গেটের জন্য অ্যাকাউন্ট, প্যাকেজিং, রিভিউ এবং অন্যান্য গন্তব্য-নির্দিষ্ট শর্তের প্রয়োজন হতে পারে।
আমার কি ডেস্কটপ ও মোবাইল উভয়েই মিনি-গেম চেক করা উচিত?
প্রজেক্ট যেসব ডিভাইস ও ইনপুট পদ্ধতি সমর্থন করে সেগুলো পরীক্ষা করুন। টাচ টার্গেট, ওরিয়েন্টেশন, স্ক্রিন ফিট এবং ছোট ডিসপ্লেতে মূল অ্যাকশন সহজবোধ্য কিনা তা লক্ষ্য করুন।
একটি কার্যকর মিনি-গেম ব্রিফ কেমন হওয়া উচিত?
মূল মেকানিক, সেশনের দৈর্ঘ্য, উদ্দিষ্ট ডিভাইস ও বিতরণ টার্গেট উল্লেখ করুন। সেকেন্ডারি সিস্টেম বা বড় পরিমাণ কন্টেন্ট যোগ করার আগে জয় বা হারের শর্ত এবং নিয়ন্ত্রণ ব্যাখ্যা করুন।
আপনার নিজের গেম তৈরি করুন
এটি বর্ণনা করুন। বিল্ডার কনসেপ্ট আঁকে, অ্যাসেট তৈরি করে, কোড লেখে এবং ফলাফল যাচাই করে।