কিভাবে একটি খেলা সম্পন্ন? [বন্ধ]


20

আমার সমস্যাটি হ'ল আমি যখনই কোনও গেমের ক্লোন প্রোগ্রামিং শুরু করি (অনুশীলনের জন্য) বা নিজের খেলা বা অন্য কোনও সমস্যা আমি বিকাশের মাঝখানে কোথাও থামি, কারণ এতে আমি আগ্রহ হারিয়ে ফেলেছি।

আপনি কীভাবে কোনও গেম বিকাশ করতে বা সাধারণভাবে বিকাশ করতে আগ্রহ বজায় রাখেন?


4
সত্যিই প্রসঙ্গ-বহির্ভূত - চেষ্টা productivity.stackexchange.com প্রেরণাদায়ী পরামর্শের জন্য।
সাইক্লপস


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

উত্তর:


28

ডিজাইনার হিসাবে আমি লোকদের স্ট্যাটাস এবং ভেরিয়েবলের সংগ্রহ হিসাবে ভাবার প্রবণতা করি। আপনি যখন আপনার প্রশ্ন জিজ্ঞাসা করেন, আমি সহজেই [পং_দেভ_ইন্টেরেস্ট] কমতে এবং [স্পা_আইএনভি_দেব_ইন্টেস্টেস্ট] বৃদ্ধি করার চিত্র দেখতে পারি। যখন উভয়ের মধ্যে পার্থক্য [দেব_প্রজেক্ট_ইন্টারিয়া] (কিছুটা [দেব_কম্প্লেশন_ডিজার] এর সাথে সম্পর্কিত) এর চেয়ে বেশি হয়, তখন [পং_দেব] স্টলগুলি এবং [স্পা_আইএনভি_দেব] এর উপর ক্রিয়াকলাপ শুরু হয়।

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

আপনি বিরক্ত হয়ে গেলে, কাজ চালিয়ে যান। যখন এটি দুর্দান্ত চলছে, কাজ চালিয়ে যান। যখন এটি কৃপণ হয়ে পড়ছে, কাজ চালিয়ে যান! উদ্যম! ছোট্ট দেব যে পারে! তোমার উপর আমার বিশ্বাস আছে!

হুম। কিছুটা ওভারএক্সুব্রেন্ট পেয়েছি। তবে আপনি ড্রিফট পান

আমি প্রতিদিন আমার নিজের পরামর্শ অনুসরণ করছি। আমি আমার পরিবেশ এবং অভিনেতাদের সাথে কাজ করতে পেলাম, আমার বিজয় এবং ক্ষতির শর্তে তৈরি করেছি এবং প্লেয়ার যে জিনিসগুলি ব্যবহার করবে সেগুলি তৈরি করেছি। আমি মূলত কিছু স্তরের নকশা করা শুরু করি এবং আমার আগ্রহের বিষয়টি প্রস্তুত। তবে আমি প্রতিদিন কিছু না কিছু করি। প্রতিদিন । একদিন আমার কাজ শেষ হয়ে যাবে।

এবং এটি খুব goooooood বোধ করবে।


12

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

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

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

  • শব্দের প্রভাব
  • সঙ্গীত
  • পুনর্নির্মাণ শিপ
  • পুনরায় মডেল রকেটস
  • শট এবং প্লেয়ার / শত্রুদের মধ্যে কলিেশন সনাক্তকরণ
  • শত্রুদের গুলি করুন
  • শিরোনাম পর্দা
  • স্কোর / লাইভস / এনার্জি যাই হোক না কেন ওভারলে

এই সমস্ত কাজগুলি করা সহজ ছিল এবং একবার তারা গেমটিতে কাজ করার পরে আপনি সেই অঞ্চলগুলিতে পুনরাবৃত্তি করতে পারেন এবং সেগুলি পালিশ করতে পারেন।

আরে, আমি একটি ছোট খেলা শেষ করেছি। এটি সুন্দর নয় তবে এটি মূলত সম্পন্ন হয়েছে যা শেষ পর্যন্ত সত্যিই পুরস্কৃত হয়েছিল :-)


3

সমস্যাটি সমাধানের আগে আপনাকে সনাক্ত করতে হবে। কেন আগ্রহ হারাবেন?

আমার জন্য, এটি সাধারণত ঘটে থাকে কারণ আমি কাঠামোয় এতটা সময় ব্যয় করি এবং কয়েক সপ্তাহ পরে আমি এমনকি একটি গেমপ্লে উপাদানও পেতে পারি না।

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

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

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


1
আমি এটি দীর্ঘকাল করে চলেছি এবং আপনার গেমের প্রথম স্প্রিটটি লোড করা এবং এটিকে স্ক্রিনে ঘুরিয়ে দেওয়ার চেয়ে উত্তেজক আর কিছু নেই।
অ্যাক্টিভিস্ট

2

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

দেখুন এই এবং এই অন্যান্য পোস্ট।


1
+1 হ্যাঁ, এটি খুব ভাল কৌশল। কিছুক্ষণের জন্য আপনার মনকে শক্ত জিনিস থেকে সরিয়ে ফেলুন, কিছু উদাসীন কাজ করুন এবং আপনি যখন শক্ত ফিরে পাবেন তখন আর শক্ত মনে হবে না। আমার জন্য কাজ কর.
ইঞ্জিনিয়ার

2

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

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

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

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

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

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

পিএস আমি ভাবছিলাম ... আপনি গেমটি তৈরিতে কী ব্যবহার করছেন?


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

2

[আনোনের উত্তরের মন্তব্য হিসাবে রেখে যেতে হবে, যা আমি পোস্ট করার সাথে সাথে তা মুছে ফেলা হয়েছিল। তিনি উল্লেখ করেছিলেন যে এই সমস্ত কার্যকারিতা তার কাজ করছে, তারপরে একক ফাইল কোডকে একাধিক ফাইলে বিভক্ত করুন, কেবল সমস্ত কিছু খণ্ডনের জন্য]

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


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

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

1

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

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

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

সুতরাং, মনে রাখবেন: গেমগুলি তৈরি করুন, গেম ইঞ্জিনগুলি নয়। আপনার প্রয়োজন হলে কেবল রিফ্যাক্টর। খুব নমনীয় হবেন না - খালি সর্বনিম্ন। *

*: অবশ্যই রিফ্যাক্টরিং এবং নমনীয়তা গুরুত্বপূর্ণ। তবে বাস্তবে একটি সমাপ্ত খেলা হওয়ার মতো গুরুত্বপূর্ণ নয়।


1

কোনও দিনই প্লেযোগ্য সংস্করণ তৈরি করার চেষ্টা করুন, যত সহজই না। তারপরে পুনরাবৃত্তি করুন।


1
  1. আপনার গেমটি খুব জটিল করার চেষ্টা করবেন না!

  2. আপনার কাজটি ছোট, নির্দিষ্ট, পরিমাপযোগ্য সাব টাস্কগুলিতে বিভক্ত করুন। কোনও সাবটাস্ক যদি খুব বড় মনে হয় তবে এটিকে আরও সাবডিভাইড করুন।

  3. নিশ্চিত হয়ে নিন যে আপনার কাজটি শেষ হয়ে গেলে আপনি আপনার টাস্ক তালিকার বড় অক্ষরে "ডোন" লিখেছেন (আমি একটি .txt ফাইল ব্যবহার করি)। টাস্কটি সরিয়ে ফেলবেন না, কারণ এর পরে দেখে মনে হবে না আপনি অগ্রগতি করছেন।

এই আমি কি কি. এটি অতীতে কাজ করা হয়েছে।

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