এক্সএনএকে গেম ইঞ্জিন হিসাবে বিবেচনা করা হয় না কেন?


13

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

এক্সএনএকে গেম ইঞ্জিন হিসাবে বিবেচনা করা হয় না কেন?


19
@ মিরো যে কোনও অর্থ দেয় না।
কমিউনিস্ট হাঁস

2
আলোচ্য বিষয়টি কি? এটি যদি আপনার প্রয়োজনীয় কাজটি করে তবে এটি ব্যবহার করুন। যদি না হয়, তবে না। লোকেরা কীভাবে এটি কল করে কে কার চিন্তা করে? এটি যেভাবেই হোক কেবলমাত্র একটি লেবেল, বেশিরভাগই বিপণন বানর থেকে ব্যবহৃত হয়;)
মাইক সেম্ডার

কমিউনিস্ট হাঁস এই প্রশ্নের
কারণেই আছে

4
@ মাইক স্যামদার এটি মোটেও কোনও লেবেল নয়। একটি ইঞ্জিন এবং একটি কাঠামো দুটি স্বতন্ত্র এবং পৃথক জিনিস এবং এক্সএনএ হ'ল পরে। এটি আলাদা করে বুঝতে এবং বুঝতে পারছে যে এক্সএনএ কোনও ইঞ্জিন নয়, অন্যথায় আপনি যখন খুব সহজেই এক্সএনএতে ইঞ্জিন তৈরি করতে পারেন তখন আবিষ্কার হতে পারেন বা এটি কোনও প্লাগ-ইন-কিছু-বিট-এবং- সরবরাহ করে না you প্রকৃত ইঞ্জিনগুলির মতো খেলুন capabilities
ডপপেলগ্রিনিয়ার

3
@ মাইক এটি কীভাবে কাজ করে তা আমরা কীভাবে কাজ করব তার অংশ। আমি ড্রাইভার বলছি , আপনি জানেন যে এটি কী এবং কী নয়, এটি কী করে এবং আপনি কীভাবে এটি ব্যবহার করতে পারেন। যখন আমি কাঠামো বলি তখন অনুরূপ কিছু ঘটতে হবে - তবে কেবলমাত্র যদি আপনি স্বীকৃতি দেন তবে একটি কাঠামো কী এবং এটি কী নয় (একটি ইঞ্জিন)। এই ব্যবহারিক প্রভাবগুলির কথা বিবেচনা করে আমি আপনাকে প্রধানত আপত্তি জানাতে বলি "লোকেরা কীভাবে এটি কল করে তা কে যত্ন করে? এটি যেভাবেই হোক কেবল একটি লেবেল"
ডপপেলগ্র্রাইনার

উত্তর:


28

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

এটি একটি কাঠামো হিসাবে ডিজাইন করা হয়েছে - আসলে, এক্সএনএ হ'ল মাইক্রোসফ্ট এক্সএনএ ফ্রেমওয়ার্ক - সুতরাং প্রযুক্তিগতভাবে এটি নাম অনুসারে ইঞ্জিন নয়।

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

সম্পাদনা: দরকারীতার জন্য, কেন এটি ইঞ্জিন, কাঠামো, গ্রন্থাগার বা টুলসেট হিসাবে লেবেলযুক্ত যদি কিছু লাগে?

কিছুটা পরিষ্কার করার জন্য: আমি এক্সএনএতে একটি ইঞ্জিন বিকাশ করছি। অবশ্যই জোনাথন যেমনটি বলেছিলেন, অবাস্তব জাতীয় কিছুতে আমি তা করতে পারি না। যাইহোক, কয়েকটি জিনিস আমার কাছে গুরুত্বপূর্ণ মনে হচ্ছে যে এক্সএনএ-তে কেবল না থাকা:

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

গোপনীয় নিম্ন স্তরের - এক্সএনএ এটি ইতিমধ্যে করে তবে আমি গেমস সার্ভিস প্রোভাইডারগুলির সাথে চারপাশে ঝাঁকুনি দিতে চাই না। আমি শুধু একসাথে জিনিস নড়াতে চাই।

ইঞ্জিন থেকে গেমটি বিচ্ছিন্ন - একটি 'গেম' শ্রেণি থাকতে পারে তবে আমি আমার যুক্তি এবং আমার কোডটি বেস সিস্টেম থেকে আলাদা করতে চাই। আমি if(player.hasitem(Item.SECRET_SWORD_OF_SECRETNESS)আমার গ্রাফিক্স রেন্ডারারে বাফারগুলি আপডেট করার সাথে মিশ্রিত হতে চাই না ।


আমি আপনাকে গৃহীত ও সেটিংস আপডেট করতে ওভাররাইড করতে হবে তা গ্রহণ করি তবে এর অর্থ এটির কোনও রেন্ডারিং ইঞ্জিন নেই, বিন্দুটি হ'ল এটি আপনার আঁকার জন্য প্রতিটি জিনিস প্রস্তুত করে এবং সেগুলি কেবলমাত্র এটির নমুনা দেখে কেবল বিমূর্ত চিত্র কলগুলি নয় এটিতে 2 ডি গেমজিনের চেয়ে কম কিছু নেই (আমি 3 ডি স্টাফ রিয়েল চেক করিনি), এবং যতদূর আমি মনে করতে পারি এতে ইনপুট কন্ট্রোলার রয়েছে এবং আমার অর্থ এটি কেবল কাঠামো কারণ মাইক্রোসফ্ট এর নাম দিয়েছে বা এর কোনও যৌক্তিক কারণ রয়েছে ?
Ali1S232

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

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

@ জোনাথন হবস: এখন আপনি যা যা বলছেন তা আমি দেখতে পাচ্ছি কিন্তু আবার আমি গেমব্রায়ো (নেটমিমার্স) চেষ্টা করেছি এবং এটি একটি গেমেনজিন হিসাবে বিবেচিত কিন্তু লাইটস্পিড না হওয়া পর্যন্ত এটি এক্সএনএর চেয়ে কম বৈশিষ্ট্যযুক্ত ছিল, এটি কেবলমাত্র মধ্যমণি ছিল, তাই আমি মনে করি আমাদের প্রশ্নের শিরোনামwhat makes an sdk to be called a GameEngine?
Ali1S232

1
আপনি যদি প্রকৃতপক্ষে পেডেন্টিক হতে চান তবে আপনি একটি ইঞ্জিনকে ফ্রেমওয়ার্ক হিসাবে একটি বিদ্যমান ইঞ্জিন ব্যবহার করে বিকাশ করতে পারেন। প্রচুর লোক ভূমিকম্প 3 প্রযুক্তি নিয়েছিল তখন একটি ইঞ্জিন তৈরি করেছিল যা আরও ব্যবহারযোগ্য। এরপরে আপনি যদি সত্যিই চান তবে কোনও "ইঞ্জিন" ছাড়াই একটি গেমও তৈরি করতে পারেন। Xna কে একটি কাঠামো বলা আরও সঠিক, তবে "ইঞ্জিন" থেকে পার্থক্য তৈরি করার বিষয়ে আমি জানি না, কারণ এটি "ফ্রেমওয়ার্ক" হিসাবে দৃ strongly়ভাবে সংজ্ঞায়িত হয়নি।
টেট্রাড

5

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

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


2

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

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

সুতরাং, যেমনটি আমি বলেছিলাম, আমার মনে এটি 'গেমস ইঞ্জিন' বলে আমি যা বুঝতে পেরেছিলাম তা থেকে অনেক দূরে তাই যখন আমি এই পোস্টটি পেরিয়ে এসেছি তখন কেন আমি কেন এই তুলনা করব তা আমার ধারণা ছিল না। আমি কি ভূল?

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.