এআই-এর সাহায্যে আপনার ওয়েব-ভিত্তিক ভিডিও গেম চালু করুন।

১. ভূমিকা

সংক্ষিপ্ত বিবরণ

আজকাল এআই দিয়ে কিছু তৈরি করার শুরুটা কোথায়? আমাদের বেশিরভাগের জন্য, এটি একটি সাধারণ কোয়েরি বা প্রোটোটাইপ দিয়ে শুরু হয়। গুগল এআই স্টুডিও একটি শক্তিশালী বিল্ড মোড (যা প্রায়শই 'ভাইব কোডিং' নামে পরিচিত) প্রদান করে, যা আপনাকে জেমিনি মডেল দ্বারা চালিত কোড জেনারেশন ব্যবহার করে ফুল-স্ট্যাক ওয়েব অ্যাপ্লিকেশন ডিজাইন, পরীক্ষা এবং তৈরি করতে সাহায্য করে।

এই কোডল্যাবে, আপনি ফায়ারস্টোর ডেটাবেস, ইভেন্ট সোর্সিং (গেমের অ্যাকশনগুলোকে ইভেন্টের একটি ক্রম হিসাবে সংরক্ষণ করার জন্য, যাতে খেলোয়াড়রা ম্যাচের ইতিহাস দেখতে এবং আগের টার্নে ফিরে যেতে পারে) এবং ব্যবহারকারী লগইনের জন্য ফায়ারবেস অথেনটিকেশন ব্যবহার করে একটি ওয়েব-ভিত্তিক, টার্ন-ভিত্তিক ভিডিও গেম তৈরি করবেন। এআই স্টুডিও এজেন্ট সমস্ত ব্যাকএন্ড পরিষেবা কনফিগার করবে এবং ফ্রন্টএন্ড, ইভেন্ট সোর্সিং লজিক ও ডেটাবেস ইন্টারঅ্যাকশন কোড লিখবে। অ্যাপটি পরিমার্জিত হয়ে গেলে, আপনি এক ক্লিকেই এটি সরাসরি ক্লাউড রানে ডেপ্লয় করবেন।

পোর্টফোলিও ওয়েবসাইটের চূড়ান্ত সংস্করণ

আপনি যা করবেন

  • টার্ন-ভিত্তিক মাল্টিপ্লেয়ার ভিডিও গেম ওয়েব অ্যাপ্লিকেশনের একটি প্রোটোটাইপ তৈরি করতে গুগল এআই স্টুডিওকে নির্দেশ দিন।
  • বন্ধুদের একই ম্যাচে যুক্ত হওয়ার সুযোগ দিতে একটি শেয়ারযোগ্য ও সংক্ষিপ্ত গেম কোড বা জয়েন লিঙ্কের ব্যবস্থা চালু করুন।
  • ম্যাচের ইতিহাস ট্র্যাক করতে এবং গেমপ্লেতে সময়-ভ্রমণের (টার্ন বাতিল করা বা পুনরায় খেলা) সুযোগ দিতে একটি ইভেন্ট সোর্সিং প্যাটার্নসহ ফায়ারস্টোর ডেটাবেস স্টোরেজ প্রয়োগ করুন।
  • একটি ফায়ারস্টোর ডেটাবেস প্রোভিশন করতে এবং গুগল সাইন-ইন অথেন্টিকেশন সেটআপ করতে ফায়ারবেস ইন্টিগ্রেশনটি কনফিগার ও সক্রিয় করুন।
  • ইন্টারেক্টিভ প্রিভিউ স্যান্ডবক্সে অ্যাপ্লিকেশনটি পরীক্ষা করুন।
  • সরাসরি গুগল এআই স্টুডিও UI থেকে ক্লাউড রান-এ অ্যাপ্লিকেশনটি ডেপ্লয় করুন।

আপনি যা শিখবেন

  • স্বাভাবিক ভাষা ব্যবহার করে কীভাবে গুগল এআই স্টুডিও-এর বিল্ড মোডের সাহায্যে দ্রুত একটি ফুল-স্ট্যাক গেম সার্ভিসের প্রোটোটাইপ তৈরি করা যায়।
  • গেমের ইতিহাস সংরক্ষণের জন্য ক্লাউড ফায়ারস্টোর ব্যবহার করে কীভাবে ইভেন্ট সোর্সিং আর্কিটেকচারাল প্যাটার্ন বাস্তবায়ন করা যায়।
  • কীভাবে গুগল এআই স্টুডিও স্বয়ংক্রিয়ভাবে ফায়ারবেস ফায়ারস্টোর এবং অথেনটিকেশন ইন্টিগ্রেশন কনফিগার করে।
  • ক্লাউড রান-এ আপনার এআই স্টুডিও অ্যাপ্লিকেশনটিকে সার্ভারলেস কন্টেইনার হিসেবে কীভাবে ডেপ্লয় করবেন।
  • ফায়ারবেস কনসোলের ভেতরে কীভাবে ডাটাবেস রেকর্ড এবং নিরাপত্তার অবস্থা পরিদর্শন করবেন।

২. প্রকল্প স্থাপন

এআই স্টুডিও চালু করার আগে, আপনার অ্যাকাউন্টের অবস্থা এবং পূর্বশর্তগুলো যাচাই করে নিন।

গুগল অ্যাকাউন্ট এবং টিয়ার তথ্য

  1. আপনার যদি আগে থেকে কোনো গুগল অ্যাকাউন্ট না থাকে, তাহলে একটি গুগল অ্যাকাউন্ট তৈরি করুন ।
    • পরামর্শ : সম্ভব হলে এই ল্যাবের জন্য একটি ব্যক্তিগত গুগল অ্যাকাউন্ট ব্যবহার করুন। গ্রুপ, কর্পোরেট বা স্কুল অ্যাকাউন্টগুলো ওয়ার্কস্পেসের এমন নীতি প্রয়োগ করতে পারে যা পরীক্ষামূলক ফিচার বা ক্লাউড ইন্টিগ্রেশন নিষ্ক্রিয় করে দেয়।
  2. ডেপ্লয়মেন্টের বিলিং বিবরণ পর্যালোচনা করুন:
    • গুগল ক্লাউড স্টার্টার টিয়ার : একটি পূর্ণাঙ্গ গুগল ক্লাউড বিলিং অ্যাকাউন্ট তৈরি না করেই, কোনো খরচ ছাড়াই একটি নির্দিষ্ট অঞ্চলে সর্বোচ্চ দুটি ফুল-স্ট্যাক অ্যাপ্লিকেশন প্রকাশ করার সুযোগ দেয়।
    • স্ট্যান্ডার্ড ডেপ্লয়মেন্ট : একটি বিদ্যমান পেইড গুগল ক্লাউড প্রজেক্টের সাথে সংযুক্ত হয় এবং স্টোরেজ সীমা, সিপিইউ রিসোর্স ও এপিআই সম্প্রসারণ করে।

৩. এআই স্টুডিও বিল্ড মোডে একটি টার্ন-বেসড ভিডিও গেম তৈরি করুন

চলুন অ্যাপ্লিকেশন শেলটি তৈরি করি এবং এআই কোড অ্যাসিস্ট্যান্টকে নিরাপত্তা, গেমপ্লে লজিক, ও ইভেন্ট-সোর্সড পার্সিস্টেন্স লেয়ারগুলো তৈরি করতে নির্দেশ দিই।

  1. Google AI Studio অ্যাপস প্যানেলে যান এবং নতুন অ্যাপ (New App) এ ক্লিক করুন।
  2. চ্যাট প্রম্পট বক্সে, আপনার টার্ন-বেসড ভিডিও গেম অ্যাপ্লিকেশনটির বিবরণ লিখুন:
    Build a web-based, turn-based Tic-Tac-Toe game using
    Firebase as a backend. Users must be able to securely sign in
    using Google Sign-In, start a new game match, make moves, and play
    against an AI player or another user. Any algorithm used for the
    game opponent AI should use simple algorithms like min/max and the
    app should not make any calls to an LLM like the Gemini API. To
    support multiplayer matches, the application must generate a short
    game code or share link that players can easily copy and send to a
    friend to join the match. Use Firestore and an event sourcing
    pattern to save a history of every move (turn) as a separate event
    document in a subcollection under the game document. The
    application must reconstruct the current game state by replaying
    these events, and must allow users to view previous turns and opt
    to restore/roll back the game to a prior turn's state.
    
    এই লিঙ্কটি আপনার জন্য প্রম্পট বক্সটি স্বয়ংক্রিয়ভাবে পূরণ করে দেবে।
  3. অ্যাপ্লিকেশন তৈরির প্রক্রিয়া শুরু করতে বিল্ড-এ ক্লিক করুন।

যখন এআই স্টুডিও এজেন্ট ডেটাবেস স্টোরেজ এবং সুরক্ষিত ব্যবহারকারী লগইনের প্রয়োজনীয়তা শনাক্ত করে, তখন এটি স্বয়ংক্রিয় ফায়ারবেস কনফিগারেশন প্রক্রিয়াটি চালু করে।

  1. প্রায় এক মিনিট পর, ওয়ার্কস্পেসে ফায়ারবেস সক্রিয় করার জন্য একটি ইন্টিগ্রেশন কার্ড ভেসে ওঠে।
  2. পরিষেবার শর্তাবলী নিশ্চিত ও গ্রহণ করতে Enable Firebase বোতামটি ক্লিক করুন।
  3. এজেন্টটি ব্যাকগ্রাউন্ড সেটআপ সম্পাদন করবে। নেপথ্যে:
    • একটি ফায়ারস্টোর ডেটাবেস ইনস্ট্যান্স সরবরাহ করা হয়েছে।
    • ফায়ারবেস অথেন্টিকেশন সক্রিয় করা আছে এবং গুগল সাইন-ইনও চালু রয়েছে।
    • একটি পরিষেবা অ্যাকাউন্ট কনফিগারেশন স্থাপন করা হয় (যেমন, API ক্রেডেনশিয়াল সম্বলিত src/lib/firebase.ts তৈরি করা)।
    • ডিফল্ট নিরাপত্তা সীমানা (ব্যবহারকারী বিচ্ছিন্নকরণ নিয়ম) সম্বলিত একটি firestore.rules যোগ করা হয়েছে।

৪. পরীক্ষা করুন এবং পুনরাবৃত্তি করুন

সার্ভিসটি লাইভ চালু করার আগে, ইন্টারেক্টিভ প্রিভিউতে ভ্যালিডেশন চেক চালিয়ে নিন।

  1. Google AI Studio-এর ভিতরে প্রিভিউ প্যানটি খুলুন।
  2. স্যান্ডবক্স গুগল সাইন-ইন প্রমাণীকরণ চালু করতে লগইন বোতামে ক্লিক করুন।
    • ত্রুটি সংশোধন সংক্রান্ত দ্রষ্টব্য : জেনারেশন বা টেস্টিংয়ের সময়, নিরাপত্তা নিয়মের অসামঞ্জস্যের কারণে আপনি মাঝে মাঝে রানটাইম সমস্যা, কম্পাইলেশন ত্রুটি, বা ফায়ারস্টোর পারমিশন ব্যর্থতার সম্মুখীন হতে পারেন। এমনটা ঘটলে, এআই স্টুডিও চ্যাটে একটি 'ফিক্স' বাটন প্রদর্শন করে, যার মাধ্যমে আপনি এজেন্টকে স্বয়ংক্রিয়ভাবে সমস্যাটি নির্ণয় ও সমাধান করতে বলতে পারেন।
    গুগল এআই স্টুডিও বাটনের অবস্থান ঠিক করুন
  3. একবার লগ ইন করার পর, একটি নতুন গেম ম্যাচ শুরু করুন, তৈরি হওয়া শর্ট গেম কোড বা শেয়ার লিঙ্কটি কপি করুন এবং যাচাই করে নিন যে এটি দিয়ে ম্যাচে যোগদান করা যাচ্ছে কিনা।
  4. কয়েকটি চাল দিন এবং যাচাই করুন যে ম্যাচের ইতিহাস সঠিকভাবে প্রদর্শিত হচ্ছে।
  5. ম্যাচের পূর্ববর্তী চালগুলিতে ফিরে যাওয়ার চেষ্টা করুন। নিশ্চিত করুন যে বোর্ড বা অবস্থাটি গেমপ্লে ইতিহাসের সেই পূর্ববর্তী মুহূর্তটি প্রতিফলিত করার জন্য আপডেট হয়েছে, এবং যাচাই করুন যে আপনি সেই অবস্থায় পুনরুদ্ধার বা ফিরে যেতে পারছেন।
  6. আপনি যদি স্টাইলিং বা আচরণ পরিবর্তন করতে চান, তাহলে চ্যাট উইন্ডোর মাধ্যমে এজেন্টকে নির্দেশ দিন। উদাহরণস্বরূপ:
    • "Could you style the game board interface using Tailwind CSS and add a retro pixel-art theme?"
    • "Add a 'Turn History' sidebar matching the current state replay that shows when each move was made and by whom."
  7. এজেন্ট কর্তৃক কোডবেস আপডেট হওয়া পর্যন্ত অপেক্ষা করুন এবং আপডেটগুলো দেখতে প্রিভিউ ব্রাউজারটি দেখুন।

৫. ক্লাউড রান-এ ডেপ্লয় করুন

আপনার প্রোটোটাইপটি সম্পূর্ণরূপে কার্যকর হয়ে গেলে, এটিকে ক্লাউড রান-এ একটি পাবলিক সার্ভিস হিসেবে ডেপ্লয় করুন।

  1. গুগল এআই স্টুডিও-এর উপরের ডান কোণায় থাকা পাবলিশ বোতামটি ক্লিক করে ডেপ্লয়মেন্ট উইজার্ডটি চালু করুন। গুগল এআই স্টুডিও পাবলিশ বাটনের অবস্থান
  2. আপনার গুগল ক্লাউড প্রজেক্ট কনফিগার করতে 'Get Started'- এ ক্লিক করুন।
    • নিশ্চিত করুন যে লক্ষ্য গুগল ক্লাউড প্রজেক্ট ড্রপ-ডাউনটি আপনার ওয়ার্কস্পেসের সাথে যুক্ত প্রজেক্টের সাথে মেলে।
    • এআই স্টুডিও ক্লাউড রান ইনস্ট্যান্সের জন্য স্বয়ংক্রিয়ভাবে একটি অনন্য পরিষেবা শনাক্তকারী তৈরি করবে।
    • ঐচ্ছিকভাবে, আপনি আপনার ডেপ্লয়মেন্ট কনফিগারেশনের অংশ হিসেবে একটি কাস্টম .ai.studio ইউআরএল প্রিফিক্স (যেমন, your-portfolio-name.ai.studio ) নির্দিষ্ট করতে পারেন।
  3. আপনি যদি প্রথমবারের মতো ডেপ্লয় করেন এবং স্ট্যান্ডার্ড গুগল ক্লাউড প্যারামিটার ব্যবহার করেন, তাহলে আপনাকে একটি অর্গানাইজেশন টাইপ নির্দিষ্ট করতে এবং বিলিংয়ের বিবরণ সরবরাহ করতে বলা হতে পারে।
  4. অ্যাপ প্রকাশ করুন-এ ক্লিক করুন।
  5. কন্টেইনার বিল্ড, কন্টেইনার রেজিস্ট্রেশন এবং সার্ভিস ডেপ্লয়মেন্ট ধাপগুলো ব্যাকগ্রাউন্ডে সম্পন্ন হয়। এই প্রক্রিয়াটি সাধারণত ২-৪ মিনিটের মধ্যে সম্পূর্ণ হয়।
  6. ডেপ্লয়মেন্ট শেষ হলে, তৈরি হওয়া অ্যাপ ইউআরএলটি কপি করুন এবং একটি ব্রাউজার ট্যাবে লাইভ অ্যাপ্লিকেশন লিঙ্কটি ভিজিট করুন।
  7. আপনার ব্রাউজারে লাইভ ওয়েব অ্যাপ্লিকেশনটি পরীক্ষা করুন!

৬. ফায়ারবেস কনসোলে পরিদর্শন করুন

ডেটা স্কিমা এবং ব্যবহারকারীদের কীভাবে ট্র্যাক করা হয়, তা দেখতে এর অভ্যন্তরীণ কার্যপ্রণালী খতিয়ে দেখুন।

  1. ফায়ারবেস কনসোলে যান।
  2. আপনার প্রজেক্টটি নির্বাচন করুন (যেটিতে AI Studio লেবেল অথবা আপনার ম্যানুয়ালি সংযুক্ত প্রজেক্ট আইডি রয়েছে)।
  3. বাম দিকের নেভিগেশন প্যানে, Build > Firestore Database নির্বাচন করুন:
    • আপনার অ্যাপ্লিকেশন দ্বারা তৈরি ডাটাবেস কালেকশন এবং ডকুমেন্টগুলো দেখুন।
    • যাচাই করুন যে প্রতিটি ডকুমেন্টের একটি মালিক আইডি আছে যা সক্রিয় ব্যবহারকারীর প্রমাণীকরণ তথ্যের সাথে মেলে।
  4. যাচাইকৃত ডকুমেন্ট মালিকদের জন্য পঠন ও লিখন অনুমতি সীমিত করে এমন স্বয়ংক্রিয়ভাবে তৈরি নিরাপত্তা নির্দেশাবলী পর্যালোচনা করতে ফায়ারস্টোর প্যানেলের সিকিউরিটি ট্যাবটি নির্বাচন করুন।
  5. আপনার লগইন পরীক্ষার সময় তৈরি হওয়া সক্রিয় ব্যবহারকারীর পরিচয়পত্রের তালিকা দেখতে নিরাপত্তা > প্রমাণীকরণ- এ যান।

৭. পরিষ্কার করা

যেকোনো অপ্রত্যাশিত বিলিং চার্জ এড়াতে অথবা আপনার ওয়ার্কস্পেসের রিসোর্সগুলো গুছিয়ে নিতে:

  1. Google AI Studio-তে অ্যাপস পৃষ্ঠায় যান।
  2. গ্রিড বা তালিকা থেকে আপনার অ্যাপ্লিকেশনটি খুঁজুন।
  3. অ্যাপের অবস্থা মুছে ফেলতে এবং ক্লাউড রান থেকে পরিষেবাটি অপ্রকাশিত করতে ট্র্যাশ আইকনে ক্লিক করুন।
  4. আপনি যদি একটি স্ট্যান্ডার্ড প্রজেক্ট ব্যবহার করে ডেপ্লয় করে থাকেন এবং সমস্ত রিসোর্স সম্পূর্ণরূপে বন্ধ করতে চান, তাহলে Google Cloud Console-এর প্রজেক্ট সেটিংসে গিয়ে মূল প্রজেক্টটি ডিলিট করে দিন।

৮. উপসংহার

অভিনন্দন! আপনি সরাসরি গুগল এআই স্টুডিও থেকে একটি টার্ন-বেসড ভিডিও গেম ডিজাইন, ডেভেলপ এবং ডেপ্লয় করেছেন।

'Completed Builder Journey' ব্যাজটি সংগ্রহ করতে এই লিঙ্কে যান!

আপনার যাত্রা অব্যাহত রাখতে, পরবর্তী ল্যাবের জন্য goo.gle/builders- এ যান।

আরও জানুন