Tasnuba Nourin Oyshe: আমি এখানে একটী ফেজার ৩ গেমের মৌলিক কাঠামো সম্পর্কে আলোচন করেছি। যা পূর্ববর্তীতে এই পাতায় ছিলো না।
{{উল্লেখযোগ্যতা|Products}}
{{তথ্যছক সফটওয়্যার
| title = Phaser
| logo = Phaser Logo.png
| developer = {{URL|https://github.com/photonstorm|Richard Davey}}
| released = {{Start date and age|2013|04|12|df=yes}}
| latest release version = v3.60.0
| latest release date = {{Start date and age|2023|04|12|df=yes}}
| repo = {{URL|https://github.com/photonstorm/phaser}}
| programming language = [[জাভাস্ক্রিপ্ট]], [[টাইপস্ক্রিপ্ট]]
| genre = [[এপ্লিকেশন ফ্রেমওয়ার্ক]]
| license = [[MIT License]]
| website = {{URL|https://phaser.io/}}
}}
”’ফেজার (Phaser)”’ হল একটি 2D গেম ফ্রেমওয়ার্ক যা ডেস্কটপ এবং মোবাইলের জন্য HTML5 গেম তৈরি করতে ব্যবহৃত হয়। <ref>{{ওয়েব উদ্ধৃতি|শিরোনাম=Phaser – JavaScripting|ইউআরএল=https://www.javascripting.com/view/phaser}}</ref> এটি ফোটন স্টর্ম দ্বারা তৈরি [[মুক্ত সফটওয়্যার|বিনামূল্যের সফটওয়্যার]] । <ref>{{ওয়েব উদ্ধৃতি|শিরোনাম=How to Learn the Phaser HTML5 Game Engine|ইউআরএল=https://gamedevelopment.tutsplus.com/articles/how-to-learn-the-phaser-html5-game-engine–gamedev-13643}}</ref>
Phaser অভ্যন্তরীণভাবে একটি ক্যানভাস এবং WebGL রেন্ডারার উভয়ই ব্যবহার করে এবং ব্রাউজার সমর্থনের উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে তাদের মধ্যে অদলবদল করতে পারে। এটি ডেস্কটপ এবং মোবাইল জুড়ে দ্রুত রেন্ডারিংয়ের অনুমতি দেয়। এটি রেন্ডারিংয়ের জন্য Pixi.js লাইব্রেরি ব্যবহার করে।
অ্যাপাচি কর্ডোভা এবং ফোনগ্যাপের মতো থার্ড পার্টি টুলের মাধ্যমে গেমগুলি iOS, Android এবং নেটিভ ডেস্কটপ অ্যাপে স্থাপন করা যেতে পারে। <ref>{{ওয়েব উদ্ধৃতি|তারিখ=2 November 2021|শিরোনাম=Phaser – HTML5 Game Framework|ইউআরএল=https://github.com/photonstorm/phaser|ওয়েবসাইট=[[GitHub]]}}</ref>
Phaser বিভিন্ন পদ্ধতিতে ডেভেলপার রা নিজেদের গেইম বানানোর জন্য ব্যবহার করতে পারেন। Phaser ডেভেলপার রা টাইপস্ক্রিপ্ট, জাভাস্ক্রিপ্ট অথবা ক্লাউড বেইসড আই ডি ই তেও ব্যবহার করতে পারেন। প্রতিটি প্লাটফর্মেই আবার Phaser ব্যবহার করার একাধিক পন্থা আছে। ডেভেলপাররা চাইলে Phaser.js ফাইলটি ডাউনলোড করে ব্যবহার করতে পারবেন। অথবা cdn ব্যবহার করে সরাসরি তাদের html ফাইলে ইম্পোর্ট করতে পারেন।
== ইতিহাস ==
রিচার্ড ডেভি এপ্রিল 2013 সালে একটি ব্লগ পোস্টে ফেসারের প্রথম প্রকাশের ঘোষণা করেছিলেন <ref>{{ওয়েব উদ্ধৃতি|তারিখ=12 April 2013|শিরোনাম=Announcing Phaser (Flixel HTML5) and our Adobe Max session|ইউআরএল=http://www.photonstorm.com/phaser/announcing-phaser-flixel-html5-and-our-adobe-max-session}}</ref> সংস্করণ 1.0 সেপ্টেম্বরে প্রকাশিত হয়েছিল, রেন্ডারিংয়ের জন্য Pixi.js লাইব্রেরি অন্তর্ভুক্ত করে। <ref>{{ওয়েব উদ্ধৃতি|তারিখ=16 September 2013|শিরোনাম=Phaser 1.0 and the journey we took to get there|ইউআরএল=http://www.photonstorm.com/phaser/phaser-1-0-and-the-journey-we-took-to-get-there}}</ref>
Phaser 2-এর শেষ অফিসিয়াল সংস্করণটি ছিল 2.6.2, কিন্তু Phaser 3-এ কাজ করার সময় স্থিতিশীল সংস্করণে উন্নতি করার জন্য, একটি নতুন সংগ্রহস্থল তৈরি করা হয়েছিল: Phaser CE (কমিউনিটি সংস্করণ)। <ref>{{ওয়েব উদ্ধৃতি|শিরোনাম=Phaser – Download – Phaser CE – Community Edition|ইউআরএল=https://phaser.io/download/phaserce}}</ref> Phaser CE এইভাবে Phaser এর সাথে উন্নয়নের জন্য বর্তমানে প্রস্তাবিত স্থিতিশীল প্ল্যাটফর্ম।
ফেজার 3.0.0 13 ফেব্রুয়ারী, 2018 এ প্রকাশিত হয়েছিল এবং গিটহাবে বিকাশ চলছে। <ref>{{ওয়েব উদ্ধৃতি|ভাষা=en|শিরোনাম=Phaser – The fast, fun and free HTML5 Game Framework|ইউআরএল=https://phaser.io/phaser3|সংগ্রহের-তারিখ=2018-05-15|ওয়েবসাইট=phaser.io}}</ref> ফ্রেমওয়ার্কের বেশিরভাগ উপাদান এবং বৈশিষ্ট্যগুলি সম্পূর্ণ মডুলার কাঠামো এবং ডেটা-ভিত্তিক পদ্ধতির ব্যবহার করে স্ক্র্যাচ থেকে পুনর্নির্মাণ করা হয়েছে। ফেজার 3-এ আধুনিক 2D গেমের জন্য ডিজাইন করা একটি একেবারে নতুন কাস্টম WebGL রেন্ডারার রয়েছে৷ তারপর থেকে, ব্যবহারকারীদের জন্য অনেক ডকুমেন্টেশন এবং উদাহরণ সম্পন্ন করা হয়েছে, এবং বেশিরভাগ বৈশিষ্ট্য বাস্তবায়িত হয়েছে।
বুর্তমানে ফেজার 4 এর ডেভেলপমেন্ট কাজ চলমান আছে, 19 আগস্ট, 2019 এ ঘোষণা করা হয়েছে, যা টাইপস্ক্রিপ্টে ফেজার 3 পুনরায় লেখার একটি প্রচেষ্টা। এটি একটি API পুনর্লিখন নয় এবং এর পরিবর্তে বর্তমানে ফেজার 3-এ টাইপস্ক্রিপ্টে থাকা স্ক্রিপ্টগুলিকে পোর্ট করার উপর দৃষ্টি নিবদ্ধ করা হবে। <ref>{{ওয়েব উদ্ধৃতি|ভাষা=en|শিরোনাম=Phaser 3 Dev Log #148: Phaser 4 Announcement and a catch-up on Phaser 3.18 and 3.19 releases. – Phaser3 – Phaser|ইউআরএল=https://www.phaser.io/phaser3/devlog/148|সংগ্রহের-তারিখ=2020-04-26|ওয়েবসাইট=phaser.io}}</ref>
== একটি Phaser 3 গেমের মৌলিক অবকাঠামো ==
# ”’Scripts/ (বা js/)”’ : এই ফোল্ডারের মধ্যে একজন প্রয়োজনীয় ফ্রেমওয়ার্ক ফাইল খুঁজে পেতে পারে, যা সাধারণত “Phaser.js” হিসাবে উল্লেখ করা হয়। এটিতে সাধারণত একটি ফাইল থাকে যা গেম কোডের জন্য নিবেদিত যা ফ্রেমওয়ার্ক ব্যবহার করে।
# ”’Src/”’ : এই ফোল্ডারটি উৎস ফাইল সংরক্ষণের জন্য মনোনীত করা হয়েছে। এই ফাইলগুলি শেষ পর্যন্ত সম্পূর্ণ গেম কোড তৈরি করতে কম্পাইল করা হবে।
# ”’সম্পদ/”’ : এই ফোল্ডারের মধ্যে আপনি বিভিন্ন সাবফোল্ডার খুঁজে পেতে পারেন:
#* ”’ছবি”’ : এতে পটভূমি এবং স্প্রাইটের মতো গ্রাফিকাল সম্পদ রয়েছে।
#* ”’মানচিত্র”’ : এটি গেমে ব্যবহৃত যেকোনো টাইলম্যাপের জন্য প্রয়োজনীয় ডেটা রাখে।
#* ”’সাউন্ডস”’ : এখানেই গেমের জন্য সাউন্ড এফেক্ট রাখা হয়, প্রায়ই একাধিক ফরম্যাটে।
#* ”’মিউজিক”’ : এতে একাধিক ফরম্যাটেও গেমের মিউজিক ট্র্যাক রয়েছে।
#* ”’বিবিধ”’ : বিবিধ তথ্য, যেমন ডায়ালগ ফাইল, রানটাইম স্ক্রিপ্ট এবং অন্যান্য বিশেষ ফাইল, এখানে সংরক্ষণ করা হয়।
# ”’Index.html”’ : এই ফাইলটি গেমের এন্ট্রি পয়েন্ট হিসেবে কাজ করে। সুতরাং, এটি গেমটি সেট আপ করে এবং লোডিং প্রক্রিয়া শুরু করে। [[জাভাস্ক্রিপ্ট]] প্রাথমিক সেটআপের পরে ইন্টারঅ্যাকশন পরিচালনা করে। এই এইচটিএমএল ফাইলটিতে ওয়েবপেজে গেমের অবস্থানের জন্য মৌলিক স্টাইলিং অন্তর্ভুক্ত থাকতে পারে এবং এটির চারপাশে একটি ইউজার [[ইন্টারফেস]] (UI) তৈরি করে। <ref>{{ওয়েব উদ্ধৃতি|শেষাংশ=Faas|প্রথমাংশ=Travis|তারিখ=2017|শিরোনাম=An Introduction to HTML5 Game Development with Phaser.js|ইউআরএল=https://books.google.fi/books?hl=fi&lr=&id=cQwNDgAAQBAJ&oi=fnd&pg=PP1&dq=phaser+engine&ots=-_Dlb-oNbi&sig=eKszMZrgzL21Mcca2LeIevokXUI&redir_esc=y#v=onepage&q=phaser%20engine&f=false|সংগ্রহের-তারিখ=2023-09-17}}</ref>
একটি মৌলিক ফেজার ৩ গেমের অবকাঠামো নিম্নরূপ :
var config = {
type: Phaser.AUTO,
width: 800,
height: 600,
scene: {
preload: preload,
create: create,
update: update
}
};
var game = new Phaser.Game(config);
function preload () {
// এখানে আপনি গেমের জন্য প্রয়োজনীয় সম্পদ লোড করতে পারেন
}
function create () {
// এখানে আপনি গেমের প্রাথমিক অবস্থা তৈরি করতে পারেন
}
function update () {
// এখানে আপনি গেমের অবস্থা আপডেট করতে পারেন
}
গেমের জটিলতার উপর ভিত্তি করে এই কাঠামো দেখতে ভিন্নরূপ হতে পারে।
Go to Source