সুচিপত্র:

(মাল্টিপ্লেয়ার) GameGo- এর সাথে মেককোড আর্কেডের সাথে লড়াই: 6 টি ধাপ
(মাল্টিপ্লেয়ার) GameGo- এর সাথে মেককোড আর্কেডের সাথে লড়াই: 6 টি ধাপ

ভিডিও: (মাল্টিপ্লেয়ার) GameGo- এর সাথে মেককোড আর্কেডের সাথে লড়াই: 6 টি ধাপ

ভিডিও: (মাল্টিপ্লেয়ার) GameGo- এর সাথে মেককোড আর্কেডের সাথে লড়াই: 6 টি ধাপ
ভিডিও: How To Play Multiplayer With Friends In Real Cricket 20 2024, নভেম্বর
Anonim

গেমগো একটি মাইক্রোসফট মেককোড সামঞ্জস্যপূর্ণ রেট্রো গেমিং পোর্টেবল কনসোল যা টিঙ্কারজেন স্টেম শিক্ষা দ্বারা বিকশিত। এটি STM32F401RET6 ARM Cortex M4 চিপের উপর ভিত্তি করে তৈরি করা হয়েছে এবং STEM শিক্ষাবিদদের জন্য তৈরি করা হয়েছে অথবা যারা রেট্রো ভিডিও গেম তৈরি করতে মজা করতে পছন্দ করে।

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

- সাধারণ এআই প্রতিপক্ষের সাথে একক প্লেয়ার সংস্করণ

- আর্কেড সিমুলেশনে খেলতে মাল্টিপ্লেয়ার সংস্করণ

- জ্যাকড্যাকের সাথে মাল্টিপ্লেয়ার সংস্করণ (অসম্পূর্ণ, পরে আপডেট করা হবে)

সরবরাহ

গেমগো

মাইক্রোসফট মেককোড আর্কেড

ধাপ 1: স্টার্ট এবং রাউন্ড_সেটআপ ফাংশনে

স্টার্ট এবং রাউন্ড_সেটআপ ফাংশনে
স্টার্ট এবং রাউন্ড_সেটআপ ফাংশনে

আমি একক প্লেয়ার গেমের কোডিং বিস্তারিতভাবে বর্ণনা করব এবং তারপর পরবর্তী ধাপে আমরা আলোচনা করব কিভাবে এটি তৈরি করা যায়

ক) সিমুলেটর মাল্টিপ্লেয়ার

খ) জ্যাকডাক মাল্টিপ্লেয়ার।

আমরা টাইল ম্যাপকে অন্ধকার অন্ধকূপে সেট করা এবং প্লেয়ার এবং এআই বটের জন্য স্প্রাইট তৈরি করা শুরু করি - যদিও এগুলি উভয়ই প্লেয়ার ধরণের হবে। আমরা তাদের y- অক্ষের ত্বরণকে 600 এ সেট করেছি - তাই তারা লাফ দেওয়ার পরে উড়ে যাবে না। আমরা round_setup ফাংশন কল করার আগে বট এবং প্লেয়ার থেকে প্রজেক্টাইলগুলি আরম্ভ করি। round_setup ফাংশন আমাদের জন্য নতুন রাউন্ড প্রস্তুতির যত্ন নেয় - আমরা এটিকে একটি ফাংশন বানানোর কারণ হল যে গেমটিতে মোট 3 টি রাউন্ড থাকতে পারে এবং আমরা একই কোডের পুনরাবৃত্তি এড়াতে চাই। সেই ফাংশনে প্রথমে আমরা যাচাই করি যে কোন খেলোয়াড়ের 2 টি জয় আছে - যদি এই শর্তটি সত্য হিসাবে মূল্যায়ন করে, তাহলে এটি খেলা শেষ। যদি উভয় খেলোয়াড় দুইটির কম বিজয় লাভ করে, আমরা রাউন্ড_নাম ভেরিয়েবল এক দ্বারা বৃদ্ধি করি এবং খেলোয়াড়দের তাদের শুরুর জায়গায় রাখি, তাদের জীবনকে 100 তে পূরণ করি এবং একটি নতুন রাউন্ডের সূচনা ঘোষণা করি।

ধাপ 2: গেম ফ্লো

খেলা প্রবাহ
খেলা প্রবাহ

এই গেমটিতে পৃথিবী নিজেই স্থির এবং গেমের প্রবাহ খেলোয়াড়দের কর্মের সাথে সংযুক্ত। চারটি ব্লকে আমরা বেশিরভাগ খেলার নিয়ম সংজ্ঞায়িত করি, এই ব্লকগুলি হল: উপর বোতাম চাপানো, নিচে বোতাম চাপানো, একটি বোতাম চাপানো এবং বি বোতাম চাপানো। আসুন এই ব্লকগুলির প্রতিটি দেখুন।

উপরে বোতাম টিপে - ডবল লাফ যুক্তি। যদি আমরা 3 বারেরও কম জাম্প বোতামটি চাপি, তাহলে আমরা প্লেয়ার vy বেগ - 140 (উপরের দিকে চলতে) সেট করি। আমাদের প্লেয়ারের vy এক্সিলারেশন 600 এ সেট করা আছে, তাই একবার আমরা লাফ দিলে আমাদের বেগ দ্রুত হ্রাস পাবে। একবার এটি 0 এ পৌঁছে যায় (উল্লম্ব অক্ষের উপর নড়ছে না) আমরা আবার jump_count কে 0 এ সেট করি।

নিচে বোতাম টিপে - পরিসীমা আক্রমণ ieldাল যুক্তি। যদি ডাউন বাটন চাপানো হয় প্লেয়ার তার ইমেজ পরিবর্তন করে "শিল্ডেড" করে এবং ভেরিয়েবল শিল্ডেড 1 এ সেট করে।

বোতাম এ একটি চাপা - একটি প্রজেক্টাইল ফায়ার করুন। যে এক বেশ স্ব-ব্যাখ্যামূলক।

বোতাম বি চাপানো - মেলি আক্রমণ, বাস্তবায়নে ieldালের মতো।

আমরা খেলোয়াড়দের স্প্রাইট এবং তাদের ieldাল/আক্রমণকারী ভেরিয়েবলের ছবি প্রতি ms০০ এমএস ইন গেম আপডেটে প্রতি.. ms ব্লকে সেট করি। আমরা প্রতিটি কর্মের জন্য স্বাধীন টাইমার সেট করতে পারতাম, কিন্তু সরলতার জন্য আমরা শুধু প্রধান গেম আপডেট লুপ ব্যবহার করব।

এখানে জেতার শর্তগুলি বেশ সহজ - যখন খেলোয়াড়ের জীবন 0 এ পৌঁছায়, অন্য খেলোয়াড় রাউন্ড জিতেছে, আমরা তখন খেলোয়াড় দ্বারা বিজয়ের সংখ্যা একটি ভেরিয়েবলে সংরক্ষণ করি।

অবশেষে, দুটি ব্লক রয়েছে যা আক্রমণের ক্ষতি এবং মেলি আক্রমণের ক্ষতি নিয়ন্ত্রণ করে। তাদের প্রতিটিতে আমরা স্প্রাইট সংঘর্ষের জন্য চেক করি এবং যদি আক্রমণকারী খেলোয়াড়ের জন্য শিল্ডেড/অ্যাটাকিং ভেরিয়েবল 0/1 এ সেট করা থাকে।

ধাপ 3: গেম 1: এআই প্রতিপক্ষ

গেম 1: এআই প্রতিপক্ষ
গেম 1: এআই প্রতিপক্ষ

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

আপনি যদি কোডিং করার সময় আটকে থাকেন, তাহলে আপনি এই প্রকল্পের জন্য আমাদের GitHub সংগ্রহস্থলে সম্পূর্ণ কোডটি ডাউনলোড করে মেককোড আর্কেডে খুলতে পারেন।

ধাপ 4: গেম 2: সিমুলেটর মাল্টিপ্লেয়ার

গেম 2: সিমুলেটর মাল্টিপ্লেয়ার
গেম 2: সিমুলেটর মাল্টিপ্লেয়ার
গেম 2: সিমুলেটর মাল্টিপ্লেয়ার
গেম 2: সিমুলেটর মাল্টিপ্লেয়ার

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

ধাপ 5: গেম 3: জ্যাকডাক মাল্টিপ্লেয়ার

গেম 3: জ্যাকডাক মাল্টিপ্লেয়ার
গেম 3: জ্যাকডাক মাল্টিপ্লেয়ার

আমি এই ফোরাম থ্রেডে মেককোড আর্কেড ব্লক সহ জ্যাকডাক মাল্টিপ্লেয়ারের একটি সম্প্রদায় বাস্তবায়ন খুঁজে পেয়েছি

forum.makecode.com/t/new-extension-real-mu…

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

আপনি আমাদের GitHub সংগ্রহস্থল থেকে-p.webp

ধাপ 6: Cthulhu যুদ্ধ শুরু করা যাক

Cthulhu যুদ্ধ শুরু করা যাক!
Cthulhu যুদ্ধ শুরু করা যাক!

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

আপনি যদি গেমটির উন্নত সংস্করণ তৈরি করেন, তাহলে নীচের মন্তব্যে এটি ভাগ করুন! গেমগো এবং নির্মাতা এবং স্টেম শিক্ষাবিদদের জন্য অন্যান্য হার্ডওয়্যার সম্পর্কে আরও তথ্যের জন্য, আমাদের ওয়েবসাইট https://tinkergen.com/ দেখুন এবং আমাদের নিউজলেটার সাবস্ক্রাইব করুন।

প্রস্তাবিত: