আপনার নিজের গেম ইঞ্জিনটি কখন রোল করা উচিত? [বন্ধ]


20

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

আমার একটি গেম আইডিয়া আছে, এবং আমি জানি যে আমি বক্স 2 ডি ব্যবহার করব তবে আমি ভাবছি যে আমার কোকোএস 2 ডি ব্যবহার করা উচিত কিনা। প্রধান কারণগুলি হ'ল:

  1. আমি গ্রাফিক্স অনুসারে এমন কিছু করতে চাই, যা কোকোএস 2 ডি তে উপলব্ধ নয়।
  2. আমি যদি নিজের গেম ইঞ্জিনটি রোল করি তবে আমার আরও নিয়ন্ত্রণ থাকবে।

অবশ্যই, ইতিমধ্যে বিদ্যমান গেম ইঞ্জিনটি ব্যবহারের মূল কারণটি এটি সময় সাশ্রয় করে এবং এটি হার্ড স্টাফগুলিকে সহজ করে তোলে; তবে কারও কারও কাছে প্রযুক্তিগত চপ রয়েছে তার নিজের রোল করার জন্য, এটি কী বোঝায়?


7
আপনি যদি "সি / সি ++" বলে থাকেন তবে সম্ভবত এটির কমপক্ষে একটিরও আপনার সম্ভবত উপলব্ধি না হওয়ার সম্ভবত সম্ভবত সম্ভাবনা রয়েছে both
ডেড এমজি

10
আমি বুঝতে পারি যে কিছু লোক দুজনকে বিভ্রান্ত করে এবং আমি সম্ভবত সি / সি ++ / অবজেক্টিভ-সি বলে পুনরাবৃত্তি করতে পারি যে আপনি যে প্রধান ভাষাগুলি আইওএস প্ল্যাটফর্মে প্রোগ্রাম করতে পারবেন তা আমি বুঝতে পেরেছি understand আমার মনে হয় নি যে সি / সি ++ বলার অর্থ স্বয়ংক্রিয়ভাবে হবে যে আমি দুজনকে এক হিসাবে বিভ্রান্ত করি।
জোয়ে গ্রিন

আমি এই প্রশ্নটি পছন্দ করি কারণ এটি স্বাভাবিক থেকে স্বাগত পরিবর্তন করে "আমি কীভাবে নিজের ইঞ্জিন তৈরি করব?" প্রশ্ন। আপনার জন্য +1, স্যার।
রায় দে

1
@ ডেডএমজি আমি কিছু "সি / সি ++" বলি এবং উভয়ের একটি দুর্দান্ত উপলব্ধি আছে।
Ciaran

আমি বলতে চাই এটি ছিল এমনকি এটি করেনি
bobobobo

উত্তর:


38

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

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

আপনার নিম্নলিখিত বিষয়গুলির বোঝা থাকা উচিত (এই তালিকাটি খুব কমই অন্তর্ভুক্ত)।

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

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

ব্যক্তিগতভাবে, আমি দেখতে পেয়েছি যে স্বল্প-বাজেটের গেমের জন্য আপনার নিজের প্রযুক্তিটি ঘোরানো খুব কম চেষ্টা করার মতো নয়। আজকাল আপনি সস্তা ইঞ্জিনগুলি কতটা পাওয়ার পান তা হাস্যকর। আপনি এমন এক মুহুর্তে নেই যেখানে আপনি একটি মিলিয়ন মিলিয়ন ডলার ট্রিপল এ ইঞ্জিন লাইসেন্সের বিষয়ে সিদ্ধান্ত নিচ্ছেন। আপনি যা বলছেন তা বলতে আপনি সক্ষম হবেন না, বলুন, ityক্য আপনাকে $ 3k এর জন্য প্রস্তাব করে। বা কোকোস 2 ডি এর জন্য যা কিছু খরচ হয় (এটি কি নিখরচায় নয়?)

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


7
একমত। হিসাবে tldr: আপনি যদি প্রশ্ন জিজ্ঞাসা করতে হয়, আপনি সম্ভবত সম্ভবত একটি বিদ্যমান ইঞ্জিন সঙ্গে যেতে ভাল।
ক্রিস সুবাজিও

সাহসী আপনার নোট আমার অভিজ্ঞতা যোগ।
ইঞ্জিনিয়ার 21

1
সম্প্রদায়টিও গুরুত্বপূর্ণ। এক্সএনএ-এর মতো শক্তিশালী সম্প্রদায়ের সাথে কিছু নির্দিষ্ট সমস্যাগুলি সমাধান করা এত সহজ করে তোলে যে কেউ এটি আগে করেছে বা আপনাকে পয়েন্টার দিতে পারে।
ashes999

14

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

লোকেরা প্রায়শই অনুমান করে যে কোনও গেমের "ইঞ্জিন" অংশটি লিখতে কী লাগে। আপনি যদি কেবল নিজের প্রয়োজন অনুযায়ী এটি করেন তবে এটি বেশি সময় নিতে পারে না। শক্ত অংশটি হ'ল লেখার অবকাঠামো আটকে না যাওয়া এবং আপনার সমস্যা সমাধানের জন্য আপনাকে যা লিখতে হবে তা কেবল লিখে দেওয়া।

আমি একটি বিদ্যমান ইঞ্জিন ব্যবহার করব যখন:

  • আমার একটা শক্ত সময়সীমা আছে
  • আমার একটি নির্দিষ্ট স্থির বৈশিষ্ট্য সেট রয়েছে যাতে আমি তার জন্য একটি ইঞ্জিন বেছে নিতে পারি

3

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

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

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


যদি তাঁর লক্ষ্যটি শিখতে হয় তবে এটি সময়ের অপচয় হবে না।
Ciaran

3

এটা খুবই সাধারণ. আপনার প্রাথমিক লক্ষ্যটি কোনটি: শেখা বা বাজারজাত করার সময়?

আপনার প্রাথমিক লক্ষ্যটি লাইব্রেরি দ্বারা সমাধান করা ধারণাগুলি বাস্তবায়নের অভিজ্ঞতা থেকে শিখতে হয় যদি একটি গ্রন্থাগার ব্যবহার করা থেকে বিরত থাকুন। যখনই আমি একটি গেম বিকাশ করি (পার্ট টাইম), আমার লক্ষ্য খাঁটি শেখা। এটি কতক্ষণ সময় নেয় সেদিকে আমার খেয়াল নেই, আমি কেন এগুলি স্ক্র্যাচ থেকে করছি! এখন, আপনি সিদ্ধান্ত নিন।


0

আপনার নিজের গেম ইঞ্জিনটি রোল করা উচিত যখন আপনি জানেন যে এর প্রয়োজন আছে ।

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

আপনি যদি সফ্টওয়্যার লেখার স্বার্থে সফটওয়্যারটি লিখতে পছন্দ করেন তবে আপনি গেম ইঞ্জিনটি লিখতে পছন্দ করতে চলেছেন। শুরুর গেম প্রোগ্রামারদের একটি সাধারণ ফাঁদ হ'ল কোনও ইঞ্জিনকে কোনও ধরণের চিরস্থায়ী প্রকল্প হিসাবে ধরা । আমি সত্যই বিশ্বাস করি যে এই সমস্ত ওপেন সোর্স গেম ইঞ্জিনগুলি কীভাবে ঘটেছিল - গেম প্রোগ্রামাররা যারা আসলে তা করেনি

তারপরে আপনার নিজের ইঞ্জিনটি লিখুন।

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