প্রোটোটাইপিংয়ের সময়, কীভাবে আমি আরও সহজে গেমের আচরণটি অন্বেষণ করতে পারি?


49

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

পরিমার্জন বনাম অনুসন্ধান
( ইন্টারকম ব্লগের ছবি )

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

গেম আচরণটি দ্রুত অন্বেষণ করতে অন্য কোন উপায় রয়েছে? আমি ইনডি বিকাশকারীদের পাশাপাশি বৃহত্তর সংস্থাগুলি দ্বারা ব্যবহৃত পদ্ধতিতে আগ্রহী।


1
এটি একটি খুব সুন্দর ছবি। কোথা থেকে এসেছ?
সুপারবেস্ট

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

5
@ সুপারবেস্ট: আমি অভ্যন্তরের ইউনিট পরীক্ষাটি জানি, এবং আপনি আচরণ অন্বেষণকে ইউনিট পরীক্ষার সাথে তুলনা করতে পারবেন না। আচরণ অন্বেষণ করার সময় আপনার প্রাসঙ্গিক সম্পদের পাশাপাশি আপনার বেশিরভাগ গেম ইঞ্জিন লোড করা প্রয়োজন। ইউনিট টেস্টিং কেবলমাত্র যখন আপনি জানেন আপনি কোথায় যাচ্ছেন; এই ক্ষেত্রে কেউ জানে না। এ কারণেই এটি "অনুসন্ধান", "পরিমার্জন" নয়। ইন্টারকম ব্লগ থেকে পিক করুন
জোনাস বাইস্ট্রোম

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

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

উত্তর:


30

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

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

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

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

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

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

প্রচুর পন্থা রয়েছে। আপনার জন্য সবচেয়ে ভাল কাজ করে বাছাই করুন। তবে গেম মেকানিকের সফল পরিমার্জনের কীগুলির মধ্যে একটি হ'ল অত্যন্ত দ্রুত পুনরাবৃত্তি। আপনার যদি তা না থাকে তবে আপনি অন্য কী করেন তা প্রায় কোনও ব্যাপার নয়।


3
আপনি কি আপনার "টেস্টিং" গেমের মোডগুলিতে বিস্তারিত বলতে পারবেন? আপনি যখনই এটির পুনরাবৃত্তি করতে চান আপনি প্রতিটি অংশের জন্য এখানে এবং সেখানে গেমের টুকরো তৈরি করেন? আপনার "স্লাইস" সেটআপ করতে আপনার কত সময় প্রয়োজন? কী রেখে গেল আর কীভাবে? আপনার কাছে এই ধরণের জিনিসের জন্য এক ধরণের "সেভ গেম" এবং "লোড গেম" কার্যকারিতা রয়েছে, বা এটি কম জেনেরিক?
জোনাস বাইস্ট্রোম

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

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

@ জোনাসবিস্ট্রোম যখন আমার একটি নতুন পরীক্ষার মোড তৈরি করতে হবে তখন সাধারণত কোডটি লিখতে কয়েক মিনিট সময় লাগবে যা আমার পরীক্ষা করতে চাইলে নির্দিষ্ট জিনিসটি সেট করে এবং এতে যে কোনও নির্ভরতা থাকতে পারে। অথবা অন্যথায়, আমি প্রায়শই কয়েক সেকেন্ডের মধ্যে বিদ্যমান পরীক্ষার মোডটি অভিযোজিত করতে পারি (উদাহরণস্বরূপ I'll আমি সাধারণত আমার বিদ্যমান ইউআইটিস্ট মোডটি সংশোধন করে একটি নতুন তৈরির পরিবর্তে ইউআইয়ের একটি আলাদা টুকরো লোড করতে পারি)। এটি সেট আপ করতে কত সময় নেয় তা সত্যিকার অর্থে গুরুত্বপূর্ণ নয়; মুল বক্তব্যটি এটি একবার সেট আপ হয়ে গেলে, আমি অযৌক্তিকভাবে দ্রুত গতিতে পুনরাবৃত্তি করতে পারি, যা আমাকে পুনরাবৃত্তির সময় উত্পাদনশীল রাখে।
ট্রেভর পাওয়েল

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

20

প্রোটোটাইপ ভাল করতে, পরীক্ষার ধারণাগুলির ব্যয় হ্রাস করুন।

আমার কাজের প্রবাহ ছোট গেমগুলির জন্য সুরযুক্ত, তবে আমি এই জিনিসগুলিকে সহায়ক বলে মনে করেছি:

  • প্রোটোটাইপ বান্ধব প্রযুক্তিটি  ডায়নামিক প্রোগ্রামিং ভাষা এবং কাঠামো যেমন লুয়া ( LDV 2D এর জন্য দুর্দান্ত), জাভাস্ক্রিপ্ট বা লিস্প / স্কিম ব্যবহার করার জন্য সহায়ক বলে মনে হয়েছে যেখানে প্রোগ্রামটি কিছু করার জন্য ন্যূনতম কীস্ট্রোক প্রয়োজন, এমনকি ব্যয়েও অন্য সব কিছুর। আপনি কী চান তা জানার পরে এবং এটি পরিমার্জন করতে, অনুকূলিত করতে বা অন্য কোনও ইঞ্জিনে পোর্ট করতে চান।
  • সংস্করণ নিয়ন্ত্রণ  প্রোটোটাইপগুলি পুনর্বিবেচনা নিয়ন্ত্রিত ভাণ্ডারে রাখুন । প্রথম দিকে শাখা, প্রায়ই শাখা। আপনি কোনও কিছু হারাবেন বা ভুলে যাবেন এমন চিন্তাভাবনা না করে বিষয়গুলি চেষ্টা করতে স্বাচ্ছন্দ্য বজায় রাখে। ( গিটের সস্তার শাখাগুলি সস্তায় রয়েছে))
  • অটোমেশন  তৈরি করুন নিশ্চিত করুন জিনিসটি চালানোর জন্য আপনাকে যথাসম্ভব কম করার দরকার। আমার মতে, এমনকি একটি বোতাম টিপতেও অনেক বেশি: আমি সাধারণত Makefileএকটি make watchলক্ষ্য নিয়ে থাকি যা inotifywaitএকটি লুপে চলে, গেমটি স্বয়ংক্রিয়ভাবে সংকলন / চালিয়ে ফাইল পরিবর্তন করতে প্রতিক্রিয়া জানায়। একটি ব্যাখ্যাযুক্ত বা জেআইটি-সংকলিত ভাষায়, এটি তাত্ক্ষণিক।

1
লুয়া হটসওয়ারিং কোড সমর্থন করে বলে মনে হয় না। তার মানে কি এই যে আপনার পরিবর্তনগুলি পরীক্ষা করতে আপনার গেম / প্রোটোটাইপ পুনরায় চালু করতে হবে?
জোনাস বাইস্ট্রোম

6
লুয়া কোড হটসওয়ারিং অবশ্যই সম্ভব।
জোশ

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


2
@ জোনাসবাইস্ট্রাম: ... চাঁদে ফিরে আসা ছাড়াও, সম্ভবত। :(
ম্যাসন হুইলার

11

একজন বিকাশকারী বেশিরভাগ প্রোটোটাইপিংয়ে ফোকাস করে, আমার অভিজ্ঞতা থেকে এখানে কিছু পরামর্শ।

  1. এমন একটি ইঞ্জিন ব্যবহার করুন যা আপনাকে দ্রুত পরিবর্তন করতে দেয়। এই মত "সংকলন জন্য অপেক্ষা নয়" কিছু রয়েছে, কিন্তু, "ডিবাগ কর্মের", "রানটাইম জিনিষ পরিবর্তন" ইত্যাদি আমি ব্যক্তিগতভাবে Unity3D ভালবাসেন, কিন্তু এটা না "পরীক্ষা সম্পদের প্রাপ্যতা" শ্রেষ্ঠ হাতিয়ার সেখানে আউট। সেরা সরঞ্জামটি গেমটির উপর নির্ভর করে: উদাহরণস্বরূপ, অবাস্তব ইঞ্জিনটি ইউনিটি 3 ডি এর চেয়ে কম ধীরে কোডের সংকলন করে তবে এটি একাধিক সংযুক্ত ক্লায়েন্টকে দ্রুত চালু করতে পারে। একটি নেটওয়ার্ক গেমের জন্য, এটি প্রায়শই সংকলনের ব্যয়কে অফসেট করে। পরিচিতি বিবেচনা করুন। আপনি যদি সি ++ দিয়ে স্বেচ্ছাসেবক হন তবে সর্বোত্তম জাভাস্ক্রিপ্ট ইঞ্জিনও খুব ভাল করতে পারে না এবং তদ্বিপরীত। অপরিচিত কারিগরির সাথে লড়াই করে সময় কাটাবেন না (মানে, অন্যান্য ভাষা / ফ্রেমওয়ার্কগুলি শিখুন তবে গুরুত্বপূর্ণ প্রোটোটাইপগুলি তৈরি করার সময় নয়)।
  2. বিদ্যমান বৈশিষ্ট্যগুলি নির্দয়ভাবে স্ক্র্যাপ করতে শিখুন। আপনি ইতিমধ্যে প্রয়োগ করেছেন এমন স্টাফগুলিতে আঁকড়ে ধরা সফল প্রোটোটাইপিংয়ের পক্ষে অনাস্থা, তবে আপনার কাজটি ছেড়ে দেওয়া শক্ত।
  3. আপনি যদি গেম ডিজাইনারের সাথে কাজ না করেন, "প্রোগ্রামারের টুপি পরা" এবং "ডিজাইনারের টুপি পরা" এর মধ্যে একটি স্পষ্ট লাইন রাখুন। একটি নতুন শীতল গেমপ্লে বৈশিষ্ট্য যুক্ত করা খুব লোভনীয় মনে হয়, তবে আপনি যখন ডিজাইনারের অবস্থানে থাকবেন তখন তা করবেন না । বরং আপনার যা আছে তা দিয়ে মজাদার গেমপ্লে (বেশিরভাগ একাধিক রূপ) তৈরি করার চেষ্টা করুন; বৈশিষ্ট্য সাহায্য এবং হবে একটি তালিকা তৈরি করুন তারপর বাস্তবায়ন (এর মধ্যে) তাদের।
  4. দ্রুত প্রোটোটাইপিং দুটি বিপরীতে মধ্যে ভারসাম্য জড়িত। আপনি যত তাড়াতাড়ি স্টাফ তৈরি করতে চান, তাই আপনি খারাপ কোড লেখেন। তবে আপনি যতটা সম্ভব জিনিসপত্র পরিবর্তন করতে চান , সুতরাং আপনাকে ভাল কোড লিখতে হবে! এই দুটি ভারসাম্য শিখুন। দুঃখিত, আসলে কীভাবে এটি করা যায় সে সম্পর্কে আমি কোনও দৃ concrete় পরামর্শের কথা ভাবতে পারি না, তবে কমপক্ষে এই সমস্যা সম্পর্কে সচেতন হতে হবে (-8)

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


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

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

1
আপনার দ্বিতীয় পয়েন্টটির গুরুত্ব, "বৈশিষ্ট্যগুলিকে যেতে দেওয়া", অত্যুক্তি করা যায় না। বাস্তবায়িত হতে 2 সপ্তাহ লেগেছিল এমন ব্যর্থ বৈশিষ্ট্যটিকে "না" না বলে অনেক অনুসন্ধানী পর্যায়ক্রমে ব্যর্থ হয়।
Kostas

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

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

5

গেমের বিকাশকে এই চারটি পর্যায়ের মধ্যে ভাগ করা যায়:

  • প্রোটোটাইপিং
  • গেমপ্লে পরিমার্জন
  • উন্নয়ন
  • কর্মক্ষমতা পরিশোধক

আমি বিশ্বাস করি গেমপ্লে অন্বেষণ বেশিরভাগ প্রোটোটাইপিং পর্যায়ে ঘটে এবং এগুলি আমি অনুসরণ করার চেষ্টা করি এমন কিছু পরামর্শ:

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

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

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

  • আপনার সুযোগ সীমিত করুন। যদি আসল গেমপ্লেটি 2 ডি হয় (সাধারণ কৌশল গেম, জেআরপিজি), 2D তে প্রোটোটাইপ হয়। এই পর্যায়ে আপনি কেবল গেমপ্লে সম্পর্কে প্রতিক্রিয়া সম্পর্কে যত্নশীল ।

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

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

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

শেষ পর্যন্ত, আপনার যা আছে তা নিয়ে নিন এবং কম সংস্থান ব্যবহার করার জন্য এটি টিউন করুন।

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


1
কাগজের ছবি এবং "পিউ পিউ" দুর্দান্ত পরামর্শ; এবং হ্যাঁ - তালিকাগুলি আমাকেও সহায়তা করে। "আপনার শীর্ষ তিনটি অগ্রাধিকার সনাক্ত করুন two :)
জোনাস বাইস্ট্রোম

4

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


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

2

আমি ট্র্যাব্যান্ট নামে একটি প্রোটোটাইপিং সরঞ্জাম তৈরি করেছি যা:

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

উপরেরটি যাচাই করার জন্য আমি এটিতে 30 টি পরীক্ষার প্রোটোটাইপ তৈরি করেছি।

যেমন ট্রেভর পাওয়েল জোর দিয়েছিলেন যে পুনরাবৃত্তিগুলি <5 সেকেন্ড হতে হবে এবং আমি <1 এস পুনরাবৃত্তিগুলি প্রায় পাঁচগুণ ভাল হিসাবে পেয়েছি।:)

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

বিজ্ঞাপন কোড অন্যতম কিছু মনে করবেন না এর টেকওযে় । আমি সম্পূর্ণরূপে একমত, এবং ট্রাভান্ট এটি প্রয়োগ করে।


1

ট্রেভর পাওলের পুনরাবৃত্তির গতি ছাড়াও যা সত্যই গুরুত্বপূর্ণ, এখানে আরও কিছু দরকারী বিবেচনা রয়েছে:

এটি ভালো কোডের মতো ...

সেখানে প্রচুর আইএফ।

আপনার চারপাশে খেলনাটি কম ধারণাটি তত কম। যদি আপনি নিজের মাংসটি কী চেষ্টা করছেন তা আপনি জানেন তবে প্রোটোটাইপিং হয়ে যায় - কেন্দ্রীয় স্তম্ভের (আপনার মূল জিনিস) সম্পর্কিত কী কী রাখা উচিত এবং কীভাবে ব্যবস্থা করা যায়।

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

কোনও প্রযুক্তির প্রতি প্রতিশ্রুতি অপ্রাসঙ্গিক যদি আপনি যা সন্ধান করছেন তা যদি অনেক গভীরতা ছাড়াই অনুকরণ করা যায় - আপনি যা চান / যা চান তার প্রোটোটাইপ করুন।

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

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

আপনি সবসময় মনে রাখুন মনোভাব যা কিছু করছেন তা প্রযুক্তিগত বা অর্থনৈতিক সম্ভাব্যতা নির্বিশেষে একেবারে নষ্ট করার পক্ষে যথেষ্ট পরিমাণে বেশি।

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

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


প্রোটোটাইপিং কেবল তখনই প্রয়োজন যখন আপনি নতুন কিছু নির্মাণ করছেন, এটি একটি প্রদত্ত। টুলিংয়ের অভাব পেন এবং পেপার রেলের অভাবের মতো - এবং নিশ্চিত যে আপনি বালি আঁকতে পারেন তবে এটি অকার্যকর। জিআইএফ + জেএস বা স্ক্র্যাচ যেতে না পারার জন্য আমি ট্রাবান্ট তৈরি করেছি ।
জোনাস বাইস্ট্রম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.