এক বা দুই দিনের মধ্যে জাভা গেম [বন্ধ]


9

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

আমরা ঠিক কোন ধরণের গেমটি বেছে নিতে পারি এবং সেখানেই সমস্যাটি রয়েছে। আমাদের কতটা উচ্চ লক্ষ্য করা উচিত? একটি প্রতিযোগিতা জড়িত আছে, তাই আমরা আমাদের সময় সেরা খেলা করতে চান না। 3 ডি গেমটি কি অবাস্তব? আমাদের কি কোনও গেম-ইঞ্জিন / লাইব্রেরি ব্যবহার করা উচিত? আমাদের কী ধরনের কার্যকারিতা এড়ানো উচিত?


4
আপনার কোনও গেমদেব অভিজ্ঞতা নেই বিবেচনা করে 3 ডি সময় নির্বিশেষে কিছুটা বেশি উচ্চ লক্ষ্য করে চলেছে। ; পি
কম্যুনিস্ট হাঁস

দু: খজনকভাবে, আমি বুঝতে পেরেছি: পি
আইভিন্ড

পং! প্যাডেলস, বলের নিজস্ব জিনিস রয়েছে, একটি স্কোর যুক্ত করুন। বলটি কোনও প্যাডেলকে আঘাত করে আপনার দিকের -1 দ্বারা বার করে। যদি বলটি অন্য দলের প্যাডল পয়েন্ট পেরিয়ে যায়, বলটি অন্য খেলোয়াড়ের কাছে পৌঁছে দিন। অথবা যে খুব সহজ>?
স্পুকস

আমি মনে করি সম্ভবত আমাদের উন্নততর, আরও সৃজনশীল ধারণার লক্ষ্য করা উচিত, যদিও এটি বিকাশের পক্ষে একটি সহজ ...
Øyvind

1
আমাদের সাথে আপনার খেলা ভাগ করে নেওয়ার সম্পর্কে কীভাবে? :)
ashes999

উত্তর:


23

3 ডি এড়িয়ে চলুন , কারণ 3 ডি মডেলগুলি কীভাবে তৈরি করতে হয় বা কীভাবে ভাল সন্ধান করা যায় তা আপনার জানতে হবে, এই জাতীয় মডেলগুলি কীভাবে লোড করবেন (প্রায়শই নিজের মধ্যে একটি মহাকাব্য কাজ, দুঃখের সাথে) এবং কীভাবে তাদের পর্দায় আঁকতে হয় তা আপনার জানতে হবে eg ওপেনএল বা ডাইরেক্টএক্স সামান্য লাভের জন্য প্রচুর কাজ নেয়, এবং জেমনকিইঞ্জিনের মতো ইঞ্জিনের জন্য বেসিক 3 ডি জ্ঞানের পাশাপাশি কীভাবে ইঞ্জিনটি ব্যবহার করতে হবে তার জ্ঞান প্রয়োজন হয়)। স্ক্রিনে 2 ডি ইমেজগুলি ব্লিটিং করা এবং এগুলির চারপাশে সরানো প্রান্ত, উপকরণ, ম্যাট্রিকগুলি, রূপান্তরগুলি ইত্যাদির সাথে ডিল করার চেয়ে অনেক সহজ I আমি মনে করি আপনি পয়েন্টটি পেয়েছেন।

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

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

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

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

আরও পরামর্শের জন্য, আমার প্রশ্নের উত্তরগুলি দেখুন "গেম ডেভেলপমেন্ট প্রতিযোগিতার জন্য কীভাবে প্রস্তুত?"


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


এটি দুর্দান্ত পরামর্শ।
আলেকজান্ডার গেসলার 21 '5

1
ভাল দিক. যদিও আমি মনে করি উত্স-নিয়ন্ত্রণও নতুনদের জন্য জিনিসগুলিকে আরও জটিল করে তুলতে পারে (কল্পনা করুন যে কেউ রেপোতে গোলমাল করেন)। যখন সময় সমালোচনা করা হয় তখন কারও নতুন সরঞ্জাম ব্যবহার শুরু করা উচিত নয়। তবে আপনি যদি ইতিমধ্যে কোনও ভিসিএসের সাথে পরিচিত হন তবে অবশ্যই এটি ব্যবহার করা উচিত।
bummzack

4
কম লক্ষ্য এবং অগ্রাধিকারযুক্ত তালিকা ব্যবহারের জন্য রিকিটের পরামর্শ দুর্দান্ত - তারা ঝুঁকি হ্রাস এবং পুনরাবৃত্তিকে বাড়ানোর বিষয়ে're আপনি যে কোনও পরিস্থিতিতে দৌড়ানোর আগে 8 ঘন্টা কাজ করতে হবে এমন পরিস্থিতি এড়াতে চান। যদি এটি কার্যকর না হয় বা এর চেয়ে বেশি সময় নেয় তবে আপনার কোনও কিছুই শেষ হতে পারে না। পরিবর্তে 1 ঘন্টার নিচে একটি গেমটি চলার চেষ্টা করুন এবং তারপরে আপনার বাকি 10 ঘন্টা জিনিস যুক্ত করতে, টেস্টিং খেলুন, পরিশোধন করুন spend খেলতে গিয়ে আপনি যুক্ত করতে আরও কিছু জিনিস সন্ধান করতে থাকবেন।
amitp

@ অ্যালবামজ্যাক সম্মত! এটি আসলে পথে যেতে পারে, সুতরাং অনুশীলন করা এবং এটি সম্পর্কে নিশ্চিত হওয়া কী, তবে সঠিকভাবে ব্যবহার করা গেলে এটি দুর্দান্ত দুর্দান্ত এবং দরকারীও হতে পারে।
রিকিট

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

2

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

একটি দিকটিতে ফোকাস করুন এবং এমন একটি গেম-মেকানিকের সন্ধান করুন যা এটির জন্য উপযুক্ত। আপনি যদি 3D তে আগ্রহী হন তবে আপনার খেলাটি টিকি-ট্যাক-টোয়ের মতো সহজ হতে পারে তবে স্ক্রিনে ভাল 3D গ্রাফিক্স পাওয়ার দিকে মনোনিবেশ করুন।

একবারে খুব বেশি নতুন জিনিস শেখার চেষ্টা করবেন না। যথাসম্ভব বিদ্যমান ফ্রেমওয়ার্ক / সরঞ্জামগুলি ব্যবহার করুন।

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

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


2

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

গেমপ্লে ব্যতীত একটি গেম খেলা নয় যখন অত্যাশ্চর্য গ্রাফিক্স ছাড়া একটি খেলা এখনও মজাদার হতে পারে।

20-30 কাজ ঘন্টা একটি ভাল খেলার জন্য খুব অল্প সময়, তাই তুমি সত্যিই পরিকল্পনা প্রয়োজন নিজের কাজগুলি সাবধানে অগ্রাধিকার অথবা আপনি একটি সঠিক ফলাফলের কখনো পাবেন।


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