সুচিপত্র:

গেমকোর সাথে অসীম স্তরের প্ল্যাটফর্মার মেককোড আর্কেডের সাথে যান: 5 টি ধাপ (ছবি সহ)
গেমকোর সাথে অসীম স্তরের প্ল্যাটফর্মার মেককোড আর্কেডের সাথে যান: 5 টি ধাপ (ছবি সহ)

ভিডিও: গেমকোর সাথে অসীম স্তরের প্ল্যাটফর্মার মেককোড আর্কেডের সাথে যান: 5 টি ধাপ (ছবি সহ)

ভিডিও: গেমকোর সাথে অসীম স্তরের প্ল্যাটফর্মার মেককোড আর্কেডের সাথে যান: 5 টি ধাপ (ছবি সহ)
ভিডিও: Islam's Solution to Nihilism: with Yusuf Ponders @YusufPonders 2024, জুলাই
Anonim
Image
Image

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

এই নিবন্ধে আমরা অসীম এলোমেলোভাবে উত্পন্ন স্তরগুলির সাথে একটি প্ল্যাটফর্মার গেম তৈরি করতে যাচ্ছি। একটি প্ল্যাটফর্মারে, খেলোয়াড় নিয়ন্ত্রিত চরিত্রকে বাধা এড়িয়ে চলতে গিয়ে স্থগিত প্ল্যাটফর্মের মধ্যে লাফিয়ে উঠতে হবে। পরিবেশে প্রায়শই বিভিন্ন উচ্চতার অসম ভূখণ্ড থাকে যা অবশ্যই অতিক্রম করতে হবে। খেলোয়াড়ের প্রায়ই উচ্চতা এবং জাম্পের দূরত্বের উপর কিছু নিয়ন্ত্রণ থাকে যাতে তারা তাদের চরিত্রকে তাদের মৃত্যুতে না ফেলে বা প্রয়োজনীয় জাম্প মিস না করে। আমরা এই সমস্ত মৌলিক উপাদানগুলি বাস্তবায়ন করব এবং একটি কাস্টম ফাংশন যুক্ত করব যা শেষের শেষের দিকে পৌঁছানোর সাথে সাথে নতুন মাত্রা তৈরি করবে। চল শুরু করি!

সরবরাহ

গেমগো

ধাপ 1: হিরো

হিরো
হিরো

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

প্রথম কাজ হল ব্যাকগ্রাউন্ড এবং টাইল ম্যাপ যুক্ত করা। আমি 32x8 লম্বা টাইল ম্যাপ বেছে নিয়েছি - প্রথম স্তরের জন্য আমরা স্ক্রিনশট 2 -এর মতো এটি ম্যানুয়ালি আঁকব Then । আমরা ক্যামেরাটিকে প্লেবল অক্ষরের সাথে সরানোর জন্য এবং তার বাম এবং ডান গতিবিধি নিয়ন্ত্রণের জন্য সেট করেছি - আমরা আন্দোলনের বেগ 0 এ সেট করব, যেহেতু আমাদের চরিত্রটি y- দিক বরাবর মানচিত্রে অবাধে ভাসতে পারবে না। দুটি যোগ করুন… বোতাম চাপানো ব্লক, একটি বাম বোতামের জন্য, একটি ডানদিকে। যখন বাম বোতামটি চাপানো হয়, আমরা বোতাম টিপার আগে আমাদের দিকটি "বাম" ছিল কিনা তা পরীক্ষা করি। যদি তা হতো, আমরা শুধু বাম দিকে যেতে থাকি। যদি তা না হতো তাহলে আমাদের চরিত্রের স্প্রাইট ইমেজ উল্টানো দরকার। ডান আন্দোলনের জন্য অনুরূপ যুক্তি।

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

আমি মনে করি আমরা এখন চ্যালেঞ্জের যোগ্য নায়ক তৈরি করেছি! আচ্ছা, চ্যালেঞ্জ কোথায়?

ধাপ 2: শত্রুরা

শত্রুরা
শত্রুরা

আমরা শত্রুদের স্প্রাইট সংরক্ষণের জন্য একটি অ্যারের কাঠামো ব্যবহার করব। শত্রুদের জন্য আমরা একটু শর্টকাট নেব এবং বাদুড় ব্যবহার করবো:) করোনাভাইরাসের রেফারেন্স নয়, এটা শুধু বাদুড়ই উড়তে পারে, সেজন্য তাদের জন্য আমাদের মাধ্যাকর্ষণকে "অনুকরণ" করার প্রয়োজন হবে না, যেমনটা আমরা আমাদের খেলার যোগ্য চরিত্রের সাথে করি। সদ্য তৈরি করা বাদুড়কে এলোমেলো স্পন টাইল (সামান্য সাদা চিহ্ন দিয়ে চিহ্নিত) স্থাপন করতে এবং তাদের vx বেগ -10 (ধীরে ধীরে ডান দিকে ডুবে যাওয়া) সেট করার জন্য তৈরি শত্রু ব্লকের তৈরি স্প্রাইটে ব্যবহার করুন। তারপর প্রতি 2000 এমএস ব্লকের গেম আপডেটের মধ্যে আমরা শত্রু_লিস্টের প্রতিটি আইটেমের মাধ্যমে পুনরাবৃত্তি করি এবং তাদের দিক পরিবর্তন করি অবশেষে, আমরা স্প্রিট অফ টাইপ প্লেয়ারকে ওভারল্যাপ করি অন্যান্য স্প্রিট অফ দাই এনেমি ব্লকের সাথে, যেখানে প্লেয়ার ইতিমধ্যেই আঘাত পেয়েছে কিনা তা আমরা একটি সাধারণ চেক করি। যদি এটি না হয় আমরা একটি জীবন কাটা, হিট পতাকা 1 সেট করুন (আঘাত করা হয়েছে) এবং টাইমার শুরু করুন। একবার শেষ হিটের সময় থেকে 500 এমএস হয়ে গেলে আমরা পতাকা হিটকে 0 এ পরিবর্তন করি। খেলোয়াড় যাতে শত্রুর সাথে সংঘর্ষের পর তার অনেক মূল্যবান জীবন হারানো এড়াতে পারে।

আসুন আমরা কেমন আছি তা পরীক্ষা করে দেখি। ঠিক আছে, দৃশ্যটি অবশ্যই সবুজ বাদুড়ের চারপাশে উড়ে যাওয়া এবং আমাদের খেলোয়াড়কে কামড় দিয়ে জীবন্ত মনে হয়। আমাদের বীরত্বপূর্ণ কাজ করার জন্য এখন আমাদের একটি অস্ত্র দরকার!

ধাপ 3: অস্ত্র

হাতিয়ার
হাতিয়ার

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

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

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

ধাপ 4: অসীম অ্যাডভেঞ্চার

অসীম অ্যাডভেঞ্চার
অসীম অ্যাডভেঞ্চার
অসীম অ্যাডভেঞ্চার
অসীম অ্যাডভেঞ্চার
অসীম অ্যাডভেঞ্চার
অসীম অ্যাডভেঞ্চার

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

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

ধাপ 5: অ্যাডভেঞ্চার শুরু হয়

অ্যাডভেঞ্চার শুরু
অ্যাডভেঞ্চার শুরু

ভয়েলা! আমরা আমাদের প্ল্যাটফর্মার শেষ করেছি এবং আমাদের নায়ক একটি অসীম দু: সাহসিক কাজ করতে পারে, বাদুড়কে পরাজিত করে এবং ক্রেট ধ্বংস করে। আপনি যদি সমস্যার সম্মুখীন হন, তাহলে আপনি আমাদের GitHub সংগ্রহস্থল থেকে কোডটি ডাউনলোড করতে পারেন।

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

কোডিং, রোবোটিক্স, এআই শেখানোর জন্য রোবট কিট, মার্ক (মেক এ রোবট কিট) -এর জন্য একটি কিকস্টার্টার ক্যাম্পেইন তৈরি করেছে টিঙ্কারজেন!

প্রস্তাবিত: