কোডে ঝাঁপ দেওয়ার আগে কী পরিকল্পনা করা দরকার?


17

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

সম্পাদনা: আমি এই প্রকল্পে একা কাজ করছি।

সুতরাং আমার প্রশ্নটি: কোডটিতে ঝাঁপ দেওয়ার আগে এটি পরিকল্পনা করার মতো? আমি এখনও এই সম্পর্কে অন্যদের কি বলতে আগ্রহী। কারণ আমি এখনও কিছু ছিপছিপে বলার পরিবর্তে আমার কোড করা উচিত বলে মনে করি .. সুতরাং এ সম্পর্কে আপনার মতামত কী?


আপনি কি একা বা দল হিসাবে কাজ করছেন?
নাথান

6
-1 আমি বিশ্বাস করি না যে এই প্রশ্নের সঠিক উত্তর আছে। এটি ব্যক্তির দক্ষতা এবং প্রকল্পের উপর নির্ভর করে। এটি কেবল আপনার জন্য উত্তর দেওয়ার চেষ্টা করার জন্য এটি খুব স্থানীয়ীকৃত।
মাইকেলহাউস

3
কেবলমাত্র একটি পরামর্শ: কোডিংয়ের আগে আমি কখনই আমার গেমগুলির পরিকল্পনা করি না। এছাড়াও, আমি অনেক গেম প্রকল্প শুরু করেছি এবং একটিও শেষ করি নি।
lvella

1
@ মারকুসভনবাড়ি আমি সত্যিই উত্তর দিতে পারি না। যদি কিছু করা "মূল্যবান" হয় তবে তা ব্যক্তিগতভাবে করা উচিত। এটি ব্যক্তি, প্রকল্প এবং সময় মুহুর্তের উপর নির্ভর করবে। ওপিতে এটি করা বা করা উচিত নয় কিনা তা আমি জানতাম না।
মাইকেলহাউস

3
দুঃখিত, দুঃখিত। পরিবর্তে প্রোগ্রামার.সটাকেক্সচেঞ্জ.কম চেষ্টা করুন ।
সাইক্লোপস

উত্তর:


34

আপনি আপনার প্রশ্নে দুটি স্মার্ট জিনিস বলেছেন:

  1. "চিন্তা করার পরিবর্তে কোড" - এটি বর্ণনা করার একটি সম্পূর্ণ দর্শন রয়েছে: http://gettingreal.37signals.com/toc.php
  2. "এটি করা যায় কিনা তা যাচাই করার জন্য ধারণার প্রমাণ" - আমি দেখেছি এবং অনেকগুলি ধারণাগুলি দেখেছি এবং সেগুলি প্রায় শেষ হয়ে গেলে অসম্ভব বা অত্যন্ত কঠিন হয়ে পড়েছিল। কখনও কখনও আপনি কেবল এটি পূর্বাভাস দিতে পারেন না কারণ এটি আপনার প্রোগ্রামিং পরিবেশ (ভাষা, গ্রন্থাগার, হার্ডওয়্যার পারফরম্যান্স) আপনাকে সীমাবদ্ধ করে দেয়।

এজন্য আমি বলি:

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

আকর্ষণীয় পয়েন্ট।
রুশিনো

এটি একটি সত্যই ভাল চিন্তা উত্তর। +1
উলফডন

1
+1 টি। আমি বিশেষত একটি নোংরা পরীক্ষা সম্পর্কে আপনার বক্তব্য অবিলম্বে তৈরি করা যেতে চাই। প্রোটোটাইপগুলি এমন ডিজাইনের তুলনায় খুব সস্তা যেগুলি কেবল কাজ করবে না।
আর্লজ

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

5

হ্যাঁ, তবে কিছুটা

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

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

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


^ কী সঠিক উত্তর হিসাবে চিহ্নিত করা উচিত ছিল। "হ্যাঁ একটি বিট." যথাযথভাবে।
ইঞ্জিনিয়ার

3

কেউ কেউ বলে আপনার কি ভাবনার পরিবর্তে কোড করা উচিত? আপনার কোডটি কী তৈরি করতে চান তা জানতে, আপনি কী তৈরি করতে চান তা জানতে প্রথমে আপনার কী থাকতে চান তা ভাবতে হবে, কোডের আগে আপনাকে ভাবতে হবে;)।

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


3

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


2

কোড লেখার আগে আপনি কোথায় যাচ্ছেন তা আপনাকে জানতে হবে এবং আপনি কী অর্জন করতে চান তা বাস্তবায়ন করার জন্য লেখার / অঙ্কন একটি ভাল উপায় হতে পারে। আমি বলছি অঙ্কন কারণ ডায়াগ্রাম, স্কেচ ইত্যাদি আঁকাও আপনাকে অনেক সাহায্য করতে পারে। আপনাকে ওয়ার্ড বা অন্য কিছু দিয়ে তৈরি একটি দুর্দান্ত দলিল তৈরি করার দরকার নেই, কেবল একটি পেন্সিল এবং কাগজের টুকরো (কাগজের টুকরো অনেক?) নিন এবং আপনি যা ভাবেন সেগুলি আঁকুন, লিখুন।

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


1

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


1

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

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

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

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


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

আপনাকে ধন্যবাদ, তবে আমি অনুমান করি আপনি আমার সাথে একমত হবেন যদি আমি বলেছিলাম যে সেখানে এমন কোনও প্রশ্ন রয়েছে যেখানে উদ্দেশ্যমূলক উত্তর নেই এবং সেগুলি সবই মতামত, বা অভিজ্ঞতার উপর ভিত্তি করে তৈরি করা হবে (তা ব্যক্তিগত হোক বা অন্য কারও হোক) ), এবং এই তাদের মধ্যে এক. আমি সেই পরামর্শ / বিধি সম্পর্কে অবগত ছিলাম এবং যখনই সম্ভব হবে আমি এটিকে মেনে চলার চেষ্টা করব। তবে মনে করিয়ে দেওয়ার জন্য আপনাকে ধন্যবাদ।
sh কোড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.