গেমের বিকাশের জন্য জাভা কেন বেশি বেশি ব্যবহৃত হয় না? [বন্ধ]


77

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

  • জাভাতে বিশেষজ্ঞের সাথে গেম ডেভেলপারদের অভাব
  • ভাল গেম ডেভলপমেন্ট ফ্রেমওয়ার্কের অভাব
  • প্রোগ্রামাররা জাভাগুলিকে গেমস প্রোগ্রামিং ভাষা হিসাবে গ্রহণ করতে চায় না। সর্বাধিক শুধুমাত্র C ++ হিসাবে গ্রহণ?
  • গেম কনসোলগুলির জন্য কোনও সমর্থন নেই (যদিও পিসি বাজার এখনও বিদ্যমান)

এটি অবশ্যই অন্য কিছু হতে পারে। আমার চেয়ে বেশি ভালো ব্যবসা কেউ জানতে পারে যে গেমের বিকাশের ক্ষেত্রে জাভা কেন গতি পাচ্ছে না?


37
এবং এখন "জাভা ধীর, সি ++ দ্রুত" এর উত্তরগুলির জন্য অপেক্ষা করুন যা কেবলমাত্র মাত্রাতিরিক্ত প্রশস্ত এবং সম্পূর্ণ সঠিক উপায়ে সমস্যার তল স্পর্শ করে। সচেতন থাকুন যে লোকেরা এইভাবে উত্তর দেয় তারা প্রায়শই পেশাদার গেম ডেভেলপার নয়।
এড এস

20
আসলে, জাভা গেম উন্নয়নের জন্য ব্যবহৃত হয় ; অর্থাত্ মোবাইল বাজারে। জাভা এমই, অ্যান্ড্রয়েড।
ব্যবহারকারী 281377

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

14
মজার কথা, মাইনক্রাফ্টটি জাভা ভিত্তিক।
উরি

5
@ কোডার দেখে মনে হচ্ছে সি ++ কোডটি ভারিভাবে অনুকূলিত হয়েছিল, তবে জাভা কোডটি ছিল না। সুতরাং এটি একটি অবৈধ তুলনা।
ইজকাটা

উত্তর:


94

বিভিন্ন কারণে:

  • পুরানো দিনগুলিতে, আপনার সম্পাদনা এবং ইউআইয়ের জন্য "সরাসরি অ্যাক্সেস" প্রয়োজন। এটি জাভা এবং সি # এর মতো ভিএম ভাষার পূর্বাভাস দেয়।
  • বেশিরভাগ কনসোলগুলিতে (যেমন, 360, PS3) জেভিএম থাকে না, তাই আপনি পিসি সংস্করণ থেকে কোডটি পুনরায় ব্যবহার করতে পারবেন না। বিভিন্ন ডিভাইস সমর্থন করার জন্য সি ++ কোডটি সংকলন করা অনেক সহজ।
  • বেশিরভাগ মূলধারার গেম ইঞ্জিনগুলিতে (যেমন, অবাস্তব) সি ++ বাইন্ডিং থাকে। কিছু জাভা সংযোগকারী রয়েছে (উদাঃ ওপেনগিএলের জন্য) তবে এটির মতো কিছুই নেই।
  • পিসি গেমিংয়ের জন্য, ডাইরেক্টএক্সের সত্যিই শক্তিশালী জাভা সমর্থন নেই (যদি তা হয় তবে)।
  • ওয়েব ভিত্তিক গেমস জাভাস্ক্রিপ্ট বা ফ্ল্যাশে চালিত। আপনি এগুলি জাভাতে লিখতে পারেন যদিও GWT এর মতো জিনিস ব্যবহার করে।
  • আইফোনটি একটি উদ্দেশ্য-সি বৈকল্পিক চালায়।

জাভা এই দিনগুলিতে প্রাথমিকভাবে অ্যান্ড্রয়েড গেমগুলিতে ব্যবহৃত হয়, কেবল কারণ এটি প্ল্যাটফর্মটির প্রাথমিক ভাষা।


14
+1 "বেশিরভাগ কনসোলগুলিতে (যেমন, ৩ ,০, পিএস 3) জেভিএম নেই, তাই আপনি পিসি সংস্করণ থেকে কোডটি পুনরায় ব্যবহার করতে পারবেন না various , আপনি সেই উপলভ্য রানটাইমের ভিত্তিতে গেমগুলি বিকাশ করতে দেখবেন না। এক্সবক্স 360 এবং উইন্ডোজ ফোন পরিচালনা করেছে। নেট রানটাইম, সুতরাং এগুলি ব্যবহার করে গেমের বিকাশ সম্ভব এবং সম্ভবত একটি ক্রমবর্ধমান প্রবণতা। তবে রানটাইম অন্যান্য বড় প্ল্যাটফর্মগুলিতে নেই (পিএস 3, এবং অনেক কম পরিমাণে, ওয়াই), এটি সম্পূর্ণ পৃথক কোডবেসকে ন্যায়সঙ্গত করা শক্ত hard এটি আসলেই কোনও পারফরম্যান্সের সমস্যা নয়।
জাস্টিনসি

2
একে এক্সএনএ বলা হয়, যা বর্তমানে। নেট 2.0 ফ্রেমওয়ার্কের সাবসেট। বন্যের মধ্যে আরও কিছু আকর্ষণীয় ফ্রেমওয়ার্ক রয়েছে: মনোক্সাএনএ, মনো টাচ এবং অন্যদের মধ্যে এক্সনা টাচ।
জাস্টিনসি

7
জেভিএম দিয়ে পারফরম্যান্সের পূর্বাভাস পাওয়া সম্ভব নয়।
ক্লাইম

5
খুব ভাল পয়েন্ট। যাইহোক, আমি এই সত্যটি যুক্ত করব যে জিসি অপ্রত্যাশিত বিরতি / ভার সৃষ্টি করতে পারে। এটি যদি সার্ভার অ্যাপ্লিকেশনগুলির জন্য সমস্যা না হয় তবে এটি বাস্তব সময়ের গেমের জন্য। এটি মাইনক্রাফ্টে উদাহরণস্বরূপ।
ডেডালনিক্স

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

80

প্রযুক্তিগত কারণ:

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

প্রযুক্তিগত কারণ:

  • পেশাদার গেম ডেভেলপমেন্ট হাউসগুলি সি / সি ++ দক্ষতা এবং প্রযুক্তিগুলিতে বিনিয়োগ করা হয় av এটি বিশাল পরিমাণে জড়তা তৈরি করে ।
  • জাভা ধীরে ধীরে যে মূলত অযৌক্তিক ধারণা । সম্ভবত 90 এর দশকে সত্য, এখন অবশ্যই সত্য নয় - আপনি অবশ্যই জাভা দিয়ে একটি লাভজনক, বাণিজ্যিক 3 ডি গেম লিখতে পারেন ( রুনেসকেপ যে কেউ? বা মাইনক্রাফ্ট সম্পর্কে কীভাবে ?)
  • একটি চমত্কার ন্যায্য ধারণা যে জাভা গেমিংয়ের চেয়ে ব্যবসায়িক অ্যাপ্লিকেশন এবং ওয়েবে বেশি মনোনিবেশিত। এটি মোবাইলের বৃদ্ধি এবং আরও ক্রস প্ল্যাটফর্মের বিকাশের প্রয়োজনের সাথে পরিবর্তিত হতে পারে, তবে বর্তমানে এটি সত্য।

মজার ব্যাপার সেখানে কিছু ভাল কারণ খেলা ডেভেলপারদের হয় উচিত জাভা বিবেচনা করুন:

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

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

5
কেন গ্রন্থাগার ইকোসিস্টেম জাভা জন্য বোনাস? নেটওয়ার্কিং, শব্দ, কী-মান জোড়া - এটি কোনও জিনিস নয়; এটি আজকাল সর্বত্র পাওয়া যায়। আমি আসলে তর্ক করব যে এআই এবং চিত্র প্রক্রিয়াকরণ সি / সি ++ লাইব্রেরি (ফ্যান, ওপেনসিভি) দিয়ে করা অনেক সহজ।
মিঃফক্স

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

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

1
@ ডেডালনিক্স ভিডিও গেমের জগতটি কেবল কনসোল দ্বারা গঠিত নয়।
gouessej

27

ঠিক আছে, এই থ্রেডে প্রচুর ভুল তথ্য রয়েছে।

আমি গেমের ব্যবসায়টি খুব ভাল জানি 25 বছর ধরে এটি ছিল। আমি গেমগুলিতে জাভা জানি যা অত্যন্ত সূর্যের জাভা গেমের প্রযুক্তিগত প্রচারক এবং জাভা পারফরম্যান্স প্রোগ্রামিং বিশেষজ্ঞকে বক্তৃতা দেয় extremely

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

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

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

ডাইরেক্ট মেমোরি অ্যাক্সেসের ক্ষেত্রে জাভাটি দীর্ঘ সময় ধরে ছিল; জাভা ১.৪ থেকে নেটিভ ডাইরেক্ট বাইট বাফার আকারে। জাভাতে বিট টুইডলিং স্বাক্ষরবিহীন পূর্ণসংখ্যার ধরণের অভাবের কারণে কিছুটা বিরক্তিকর হতে পারে তবে কাজের রাউন্ডগুলি সমস্ত সুপরিচিত এবং ভয়ঙ্করভাবে কঠোর নয়।

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

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

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

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

এবং আমি কেন আজ সি # তে গেমস কোড করি ts কারণ মনো সেখানে গিয়েছিল যেখানে সান ম্যানেজমেন্ট রাজি হয়নি।


8

জাভা ব্যবসায়ের যুক্তি, সার্ভার এবং প্ল্যাটফর্মের স্বতন্ত্র কোডের জন্য দুর্দান্ত যা নির্ভরযোগ্যভাবে চালাতে হয়। গেমগুলিতে জাভা প্রায়শই ব্যবহৃত হয় না এমন বিভিন্ন কারণ রয়েছে:

  • সীমানা পরীক্ষা করা এবং অন্যান্য সুরক্ষা ব্যবস্থা (এই দিনগুলিতে প্রান্তিক পারফরম্যান্স পার্থক্য)
  • সি ++ ডেটা স্ট্রাকচার এবং জাভা ডেটা স্ট্রাকচারের মধ্যে রূপান্তর করা (কেবল বাফারগুলির মধ্যে মেমরি অনুলিপি করতে পারে না)
  • অনেকগুলি বই এবং টিউটোরিয়াল ভিড় অনুসরণ করে তাই নন-সি ++ গেম ডেভেল তথ্য খুঁজে পাওয়া শক্ত
  • মূল গ্রাফিক্স গ্রন্থাগারগুলি (ডাইরেক্টএক্স এবং ওপেনজিএল) এবং অনেকগুলি অফ-শেল্ফ ইঞ্জিনগুলি সি / সি ++ ভিত্তিক
  • অনেক গেম যত দ্রুত সম্ভব চালানোর চেষ্টা করে যাতে তারা আরও দৃষ্টি আকর্ষণীয় বৈশিষ্ট্য যুক্ত করতে পারে

জাভা (একটি জেএনআই স্তর লেখার জন্য) এবং। নেট (প্রচুর মার্শেলিং / আনমারশেলিং, এপিআই / স্ট্রাকচার বৈশিষ্ট্য) থেকে সি ++ গ্রন্থাগারগুলির সাথে কাজ করা সহজ নয়। সুতরাং এটি সামান্য উপকারের জন্য বেশ কিছুটা কাজ যুক্ত করে।

একটি পার্শ্ব নোট: কিছু গেম সার্ভার জাভা ব্যবহার করে।

অনুরূপ পোস্ট এখানে : https://stackoverflow.com/questions/1034458/why-arent-video-games-written-in-java


আপনাকে নিজে জেএনআই লিখতে হবে না, কেবল জগঅ্যাম্প বা অনুরূপ কোনও লাইব্রেরি ব্যবহার করুন।
gouessej

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

আমি ২০০O সাল থেকে JOGL ব্যবহার করেছি এবং ডেস্কটপ পরিবেশে খুব কম প্রান্তের হার্ডওয়্যারেও আমার এই জাতীয় সমস্যা হয়নি। আবর্জনা সংগ্রাহক দোষারোপ করেন না কারণ সবচেয়ে বড় জিনিসগুলি প্রায়শই হয় জিপিইউ র্যামে বা নেটিভ হ্যাপে (সাধারণত সরাসরি এনআইও বাফার) থাকে, প্রাক্তনটি "সাধারণ" আবর্জনা সংগ্রহ এবং পরবর্তী অঞ্চলগুলি দ্বারা পরিচালিত হয় না ' এটি "স্বাভাবিক" আবর্জনা সংগ্রহের মাধ্যমে সরাসরি পরিচালিত হয় কারণ এটি জাভা স্তূপে জাভা সামগ্রীর যত্ন নেয় takes দেশীয় স্তূপে বরাদ্দকৃত মেমরিটি দক্ষতার সাথে প্রকাশ করা বিকাশকারীদের to
gouessej

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

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

5

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

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

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

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


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

15
কারও কাছেই মাইনক্রাফ্টের চেয়ে জাভার ক্ষমতার আরও ভাল উদাহরণ তৈরি করা দরকার। যতক্ষণ না কেউ জাভা বা সি # তে ওউ বা সিএন্ডসি বা এমওএইচ বা স্টারক্রাফ্টের সমতুল্য তৈরি করতে না পারে, আমি যা বলেছি তা ধরে রাখব।
বিবিলেকে

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

10
স্মৃতি ব্যবহার ভুলে যাবেন না। স্মৃতির ব্যবহার সম্ভবত গতির চেয়ে গুরুত্বপূর্ণ more জাভা সি ++ এর মতো সরাসরি মেমরি নিয়ন্ত্রণের জন্য ডিজাইন করা হয়নি এবং আবর্জনা সংগ্রহকারী অর্থ মেমরির ব্যবহার একই কাজের জন্য সি ++ এর চেয়ে সর্বদা উল্লেখযোগ্যভাবে বেশি।
ম্যাথু

9
এটি 1985 নয় We আমাদের কাছে 640k এর বেশি মেমরি রয়েছে, 50 মেগাহার্জ প্রসেসরের চেয়ে ভাল এবং অপসারণযোগ্য স্টোরেজ 1.44 এমবিএসেরও বেশি। গেম ডেভেলপাররা আজ 25 বছর আগের চ্যালেঞ্জের মতো নয় challenge এগিয়ে যান এবং একটি আধুনিক গেমের জন্য হাত কারুকৃত x86 / অথবা ia64 কোডের একটি উদাহরণ পান। কিছু পৌরাণিক কাহিনী ঠিক স্পষ্ট ভুল। চ্যালেঞ্জটি বহনযোগ্যতা এবং তুলনামূলকভাবে প্রাচীন অপারেটিং পরিবেশ ব্যবহার করে নিম্ন স্তরের ক্লায়েন্ট is সর্বনিম্ন সাধারণ ডোনমিনেটর বনাম বাধ্যতামূলক imersion।
জাস্টিনসি

5

আধুনিক গেমগুলি 3 ডি গ্রাফিক্সগুলি বিশেষ উদ্দেশ্যে হার্ডওয়্যারে ঘটছে।

এমনকি ২০০২ সালে, জ্যাকব মার্নার তাঁর "" গেম ডেভলপমেন্টের জন্য মূল্যায়ন জাভা মূল্যায়ন "এর প্রতিবেদনে জানতে পেরেছিলেন যে জাভা বেশিরভাগ পারফরম্যান্স নির্ভর নির্ভরযোগ্য অংশ ব্যতীত গেমসের জন্য বেশ ব্যবহারযোগ্য ছিল এবং ভাষা এবং অন্তর্নিহিত জেভিএমের দৃust়তার কারণে এটি সস্তা ছিল due এইভাবে এটি করতে।

http://java.coe.psu.ac.th/FreeOnline/Evaluating%20Java%20for%20Game%20Development.pdf

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

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

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


1
oddlabs.com/technology.php - "আমরা আমাদের উন্নয়নকে এলডাব্লুজেজিএল এবং জাভার সংমিশ্রণের উপর ভিত্তি করে তৈরি করেছি, যা গেমটি কোনও পরিবর্তন ছাড়াই এবং প্ল্যাটফর্ম-নির্ভর নেটিভ কোডের সাথে তুলনীয় গতিতে কোনও এলডাব্লুজেজিএল সমর্থিত প্ল্যাটফর্মের উপর চলতে দেয়।"

জেক 2 10 বছরেরও বেশি আগে কোয়েক 2 কে ছাড়িয়ে গেছে। আমরা আর 2002 সালে নেই
gouessej

4

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


4

আমি মনে করি বেশিরভাগ লোকের জন্য সীমাবদ্ধ ফ্যাক্টর হ'ল ভাল গেম ইঞ্জিনের (অভাব) প্রাপ্যতা। খুব দূরে যেতে, আমাদের কেন সেগুলি উপলব্ধ নয় তা দেখতে হবে।

আমি এক মুহুর্তের জন্য অন্য দিক থেকে এটি তাকাতাম। গেম ইঞ্জিন বিকাশ (উদাহরণস্বরূপ) অনেক কাজ। এমন সময় এবং প্রচেষ্টা বিনিয়োগ করার জন্য একজনকে বিকাশ করে কে যথেষ্ট উপকৃত হবে?

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

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

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


আমি মনে করি আপনি গেম ইঞ্জিনগুলির সাথে একটি গুরুত্বপূর্ণ সমস্যা পেয়েছেন - আমি মনে করি এটি জাভা কেন সি / সি ++ এর সাথে ধরা দেয়নি তার সবচেয়ে বড় কারণ। এটা সম্ভব যে ওপেন সোর্সটি খেলার ক্ষেত্রটি কিছুটা সমান করতে পারে - আমি jMonkeyEngine ( jmonkeyengine.com ) দিয়ে খুব মুগ্ধ হয়েছি ।
মাইক্রা

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

1

প্রশ্নটি এর লাইনে কিছু জিজ্ঞাসা করার সমতুল্য:

আপনার গাড়ী, একটি নৌকা ইঞ্জিন বা জেট ইঞ্জিনকে শক্তি দেওয়া আরও ভাল।

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


0

জাভা গেম ডেভলপমেন্টকে মাথায় রেখে তৈরি করা হয়নি, জাভাটিকে "ওয়েবে" একটি ভাষা হিসাবে তৈরি করা হয়েছিল।

গেম ডেভলপমেন্ট হিসাবে, মাইক্রোসফ্ট সমর্থিত সি # হিসাবে সান সত্যিই জাভাটিকে গেম ডেভলপমেন্ট ল্যাঙ্গুয়েজ হিসাবে সমর্থন করেনি।

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


3
তবে সি ++ কে গেমসের ভাষা হিসাবে তৈরি করা হয়নি, তবে সি এর মতো একটি সিস্টেম প্রোগ্রামিং ল্যাঙ্গুয়েজ এবং সান আসলে একটি গেমস ল্যাঙ্গুয়েজ হিসাবে জাভা নিয়ে কিছুটা চেষ্টা করেছিল, আমি মনে করি তারা পিএস 2 তে জাভা আনতে সোনির সাথে সহযোগিতা করেছিল বা বা কিছু, কিন্তু এটা তো কখনও এমন ...
Anto

1
@ ফোবিয়া: তবে এটি সিস্টেম প্রোগ্রামিংয়ের জন্য তৈরি করা হয়েছিল
এন্টো

1
@Phobia: আমি বলছি যে এটি হল একটি সাধারণ উদ্দেশ্য প্রোগ্রামিং ভাষা , শুধু C- এর মতো ++,। আপনার উত্তরে আপনি বলেছেন যে জাভা কোনও গেম প্রোগ্রামিং ল্যাঙ্গুয়েজ হিসাবে ডিজাইন করা হয়নি তবে আপনি ভুলে যান যে সি ++ হয় সেভাবে নকশাকৃত নয়।
এন্ট্রি

2
@ জো ব্লো: সি সম্পর্কিত উইকিপিডিয়া পৃষ্ঠা থেকে: "যদিও সি সফ্টওয়্যার বাস্তবায়নের জন্য ডিজাইন করা হয়েছিল , এটি বহনযোগ্য অ্যাপ্লিকেশন সফ্টওয়্যার বিকাশের জন্যও বহুল ব্যবহৃত হয়।" আমি মনে করি এটি বেশ পরিষ্কার, তাই না?
এন্টার

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

-1

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

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


-4

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


এটি একটি মন্তব্যের মতো আরও পড়ে, কীভাবে উত্তর দিতে হয় দেখুন
gnat

-8

এটি অবশ্যই অন্য কিছু হতে পারে। আমার চেয়ে বেশি ভালো ব্যবসা কেউ জানতে পারে যে গেমের বিকাশের ক্ষেত্রে জাভা কেন গতি পাচ্ছে না?

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

আপনি যদি ক্রেসিসের মতো ক্রেজি গ্রাফিক এবং আপনি যা জাভা করতে যাচ্ছেন না তা পাম্প করতে চান।

শুধু তাই নয়, ওরাকল জাভার মালিকানাধীন, এমন একটি ধারণা যে কোনও সংস্থা আপনাকে মামলা করতে পারে তা ভাল করে না bold বিশেষত যখন আপনি ভাঙন FUD এর কারণে মামলা না পেয়ে গ্যা্যামিকে টার্গেট করতে JAVA এর জন্য আপনার নিজস্ব অনুবাদক তৈরি করতে চান।


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

1
হ্যাক এই উত্তরটি কাকে দিয়েছে? এই পুরো প্রশ্নটি অবিশ্বাস্যভাবে হাস্যকর হয়ে উঠছে! শুভ দুঃখ।
ফ্যাটি

7
@ জো উত্তর ভুল is জাভা ব্যাখ্যা করা হয় না।
কনরাড রুডল্ফ

3
@ এই মূর্খ মানদণ্ডগুলি ভুলে যান। সি ++ হ'ল জাভা যেখানে তার গণনা করা তার চেয়ে দ্রুততরতার আদেশ, প্রোগ্রামারস.স্ট্যাকেক্সচেঞ্জ / প্রশ্ন / 29109/29136#29136 এবং প্রোগ্রামারস.স্ট্যাকেক্সেক্সঞ্জ / প্রশ্নগুলি/368/13888#13888 দেখুন ।
কনরাড রুডল্ফ

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