application - java software download



জাভাতে লেখা কয়েকটি ভিডিও গেম কেন? (15)

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

কর্মক্ষমতা কারণে এটি কি? যদি তাই হয়, তাহলে গুরুতর উত্তোলনটি কি গ্রামীণফোনের মাধ্যমে করা হবে না?

https://src-bin.com


Answer #1
  1. জাভা ধীরে ধীরে, ভারী উত্তোলনের অধিকাংশই GPU দ্বারা পরিচালিত হয় না। এখনও অ্যানিমেশন, পদার্থবিদ্যা, এবং এআই CPU কে ​​আঘাত করছে, যা সব সময় ব্যয়বহুল।

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

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

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


Answer #2

.NET স্পষ্টভাবে 3 ডি কর্মক্ষমতা আসে যখন জাভা আছে যে একই বিষয় কিছু আছে। 3D ভারী অপারেশনের সাথে কাজ করার সময় মাইক্রোসফ্ট লাইব্রেরিগুলির উন্নয়নে অনেক বেশি সময় এবং অর্থ বিনিয়োগ করেছে।

(... ব্যক্তিগতভাবে, আমি মনে করি তারা DirectX এবং .NET এর মধ্যে জাদুের সাথে লেগ আপ করেছে)


Answer #3

আমি জন Carmack এটা ভাল সঙ্গে বলেন:

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

( source )

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


Answer #4

আমি পূর্বনির্ধারিত / লাইসেন্সযুক্ত কোডबेस, কর্মক্ষমতা, ইত্যাদি উপাদানের লিভারেজিং সম্পর্কিত অন্যান্য পোস্টগুলির সাথে একমত।

একটি জিনিস আমি যোগ করতে চাই, এটি একটি ভার্চুয়াল মেশিনের মাধ্যমে কদর্য DRM কৌশলগুলিকে টানানো কঠিন।

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


Answer #5

আমি সিমস 3 খেলছি, এবং আমি কিছু poking প্রায় করেনি। গ্রাফিক্স ইঞ্জিন সি ++, যখন স্ক্রিপ্টিং এবং আচরণ ইঞ্জিন সি # / মোনো। তাই যখন C ++ সময় সমালোচনামূলক বিটের জন্য হয়, অন্যান্য উপাদান যেমন। বিচ্ছিন্নতা, খেলা যুক্তি, এআই একটি বস্তু ভিত্তিক পরিচালিত ভাষাতে থাকে।


Answer #6

উইকিপিডিয়াতে গেম ইঞ্জিনগুলির তালিকাগুলি অনেকগুলি গেম ইঞ্জিন তালিকাবদ্ধ করে যা প্রোগ্রামিং ভাষাতে লিখিত রয়েছে।

তালিকাভুক্ত বিভিন্ন জাভা গেম ইঞ্জিন আছে।

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

নির্দিষ্ট গেম এবং পরিস্থিতিতে জন্য, জাভা এর ট্রেড-অফ গ্রহণযোগ্য হতে পারে।


Answer #7

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

ম্যাট্রিক্স গুণ এবং affine vectors আপনি মোকাবেলা করতে হবে সব মোকাবেলা করা অনেক সহজ যদি তারা ভালভাবে গাণিতিক এক্সপ্রেশন মত বস্তু ভিত্তিক অভিব্যক্তি মত

product = vector.multiply(projectionMatrix).dotProduct(otherVector);

যে শুধু ভয়ানক। গণিত যে মত চেহারা উচিত নয়।


Answer #8

এটি সম্পর্কে অনেক আগে থেকেই কথা বলা হয়েছিল, আপনি কারণগুলি উইকিতেও খুঁজে পেতে পারেন ...

  • খেলা ইঞ্জিন এবং সমস্ত নিবিড় উপাদান জন্য সি / সি ++।
  • খেলা স্ক্রিপ্টিং জন্য লুয়া বা পাইথন।
  • জাভা - খুব খারাপ কর্মক্ষমতা, বড় মেমরির ব্যবহার + এটি গেম কনসোলগুলিতে উপলব্ধ নয় (এটি কিছু খুব সাধারণ গেমগুলির জন্য ব্যবহার করা হয় (হ্যাঁ, এখানে রেনেসস্কে গণনা করা হয়, এটি যুদ্ধক্ষেত্র বা ক্রিসিস বা অন্য কোনটি নেই) কারণ সেখানে রয়েছে এই প্রোগ্রামিং ভাষা জানেন প্রোগ্রামারদের অনেক)।
  • C # - বড় মেমরির ব্যবহার (এটি খুব সহজ গেমগুলির জন্য ব্যবহার করা হয় কারণ এই প্রোগ্রামিং ভাষা সম্পর্কে অনেক প্রোগ্রামার রয়েছে)।

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

আমি এমআইটি সাইটে একটি নিবন্ধ মনে রাখি যেখানে তারা ভাষা এবং কম্পাইলার বৈশিষ্ট্যগুলি ব্যবহার করলে সি / সি ++ কী করতে পারে তা দেখায়: একটি ম্যাট্রিক্স গুণক (2 ম্যাট্রিক্স), জাভাতে 1 বাস্তবায়ন এবং সি / সি ++ এ 1 বাস্তবায়ন, সি / সি ++ বৈশিষ্ট্যগুলির সাথে এবং উপযুক্ত কম্পাইলার অপ্টিমাইজেশন সক্রিয়, সি / সি ++ বাস্তবায়ন জাভা বাস্তবায়ন চেয়ে ~ 296 260 গুণ দ্রুত।

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

সম্পাদনা : কারন কেউ এই নিবন্ধটির জন্য অনুরোধ করেছে, এখানে, আমি ওয়েব আর্কাইভটিতে এটি সন্ধান করার জন্য অনুসন্ধান করেছি, আশা করি আপনি সন্তুষ্ট হন ... এমআইটি কেস স্টাডি

এবং যোগ করার জন্য, না, গেমিং জন্য জাভা এখনও একটি ভয়ানক ধারণা। মাত্র কয়েক দিন আগে একটি বড় কোম্পানী যা আমি নাম লিখব না জাভা থেকে সি ++ পর্যন্ত তাদের গেম ক্লায়েন্টকে পুনরায় লিখতে শুরু করলাম কারণ খুব সহজ খেলা (গ্রাফিক্সের পরিপ্রেক্ষিতে) শক্তিশালী এনভিডিয়া জিটি 5xx এবং 6xx প্রজন্মের ভিডিও কার্ডগুলির সাথে আই 7 ল্যাপটপগুলি হজম করা এবং গরম করা ছিল ( শুধু এনভিডিয়ায় নয়, এখানে এই শক্তিশালী কার্ডগুলি যে ম্যাক সেটিংসগুলি বেশিরভাগ নতুন গেম পরিচালনা করে এবং এই গেমটি পরিচালনা করতে পারে না) এবং মেমরির ব্যবহার ~ 2.5 - 2.6 গিগাবাইট র্যাম ছিল। যেমন সহজ গ্রাফিক্স জন্য এটি একটি মেশিনের একটি পশু প্রয়োজন।


Answer #9

ওয়েব অ্যাপ্লিকেশনগুলি সি বা সি ++ তেও কেন লিখিত নয় তা আপনি জিজ্ঞাসা করতে পারেন। জাভা শক্তি তার নেটওয়ার্ক স্ট্যাক এবং বস্তু ভিত্তিক নকশা মিথ্যা। অবশ্যই সি এবং সি ++ যে, আছে। কিন্তু একটি নিম্ন বিমূর্ততা উপর। Thats কিছুই নেতিবাচক, কিন্তু আপনি প্রতিবার চাকা reinvent করতে চান না, আপনি?

জাভাটিতে সরাসরি কোনও হার্ডওয়্যার অ্যাক্সেস নেই, যার অর্থ আপনি কোন ফ্রেমওয়ার্কের API এর সাথে আটকে আছেন।


Answer #10

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


Answer #11

ক্ষুদ্র পয়েন্ট প্রথম:

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

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

কিন্তু প্রধানত, সমস্যা পিছনে সামঞ্জস্যপূর্ণ। গেম ডেভলপারগুলি সি ++ থেকে সি এবং সি থেকে সরানো থেকে সরানো হয়েছে কারণ মাইগ্রেশন রুট মসৃণ ছিল। প্রতিটি পূর্বের সাথে ঘনিষ্ঠভাবে আন্তঃসম্পর্ক করে এবং তাদের পূর্ববর্তী কোডটি নতুন ভাষায় ব্যবহারযোগ্য ছিল, প্রায়শই একক কম্পাইলারের মাধ্যমে। অতএব মাইগ্রেশন আপনি যতটা ধীর বা দ্রুত হিসাবে ছিল। উদাহরণস্বরূপ, আজকের কয়েকটি পুরোনো শিরোনামগুলির মধ্যে এখনও #ifdef WATCOMC রয়েছে এবং আমি মনে করি না যে কেউ এক দশক বা তারও বেশি সময়ে ওয়াটকম কম্পাইলারটি ব্যবহার করেছেন। পুরানো কোড একটি বৃহদায়তন বিনিয়োগ আছে এবং প্রতিটি বিট প্রয়োজন হিসাবে প্রতিস্থাপিত হয়। বিট এবং টুকরাগুলিকে প্রতিস্থাপন এবং বিন্যাস এবং খেলার পরবর্তী সংস্করণটিকে পরবর্তী কোনও জায়গায় ব্যবহার করা যায় না যদি আপনি সেই ভাষাতে পরিবর্তিত হন যা আপনার বিদ্যমান কোডের সাথে নেতিবাচকভাবে ইন্টারঅপারেট না করে। হ্যাঁ, সি ++ / জাভা ইন্টারঅপারেবিলিটি সম্ভাব্য, কিন্তু খুব সহজেই "C ++ এর সাথে C" লেখা বা সি-এ এএসএম ব্লকগুলি এম্বেড করার তুলনায় খুব অবাস্তব।

খেলা ডেভেলপারদের পছন্দ অনুসারে ভাষা সি ++ সঠিকভাবে সুপারিশ করার জন্য, এটি অবশ্যই দুটি জিনিসগুলির মধ্যে একটি করতে হবে:

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

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


Answer #12

খেলা উন্নয়ন বিশ্বের একটি মজার এক: এক দিকে, তারা প্রায়ই নতুন ধারনা গ্রহণ দ্রুত হয়, অন্যদিকে, তারা পাথর বয়স এখনও।

সত্য হল, সি / সি ++ ব্যতীত অন্য যে কোনও। নেট / জাভা / স্যুইচিংয়ের ক্ষেত্রে খুব বেশি উত্সাহ নেই।

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

এছাড়াও, লিগ্যাসি কোডের অনেকগুলি ইতিমধ্যে C ++ এ বিদ্যমান। পূর্ববর্তী প্রকল্পগুলির কোডটি পুনঃব্যবহৃত করা যেতে পারে (বলুন, যদি আপনি একটি সিকেল লেখেন তবে), এটি একই ভাষার সাথে স্টিক করার পক্ষে আরও বেশি সংখ্যক, এটি একটি নতুন ভাষায় পুনঃলিখন করার পরিবর্তে আরও বেশি সংখ্যক আপনি সময় ironing ব্যয় করতে হবে যা বাগ একটি টন।

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

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

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

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

যতদূর বাণিজ্যিক গেমস উদ্বিগ্ন - RuneScape গণনা করে? যে ভাল আউট সবচেয়ে সফল জাভা খেলা হতে পারে।


Answer #13

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

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

এটা জাভা ধীর নয়। এটা জাভা রিয়েলটাইম কাজ পরিচালনা করার জন্য ভাল নয়।


Answer #14

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


Answer #15
  • গেমিং ইঞ্জিন / লাইব্রেরি কোন ভাল পোর্ট আছে?
  • অনেক সি / সি ++ ডেভেলপার, বিশেষত উইন্ডোজগুলির (যেখানে বেশিরভাগ বাণিজ্যিক গেমস লিখিত থাকে) ভিজ্যুয়াল স্টুডিওর সাথে পরিচিত। IDEs মধ্যে কোন তুলনা নেই।
  • সাধারণভাবে, জাভাটি তার দৃঢ় টাইপিংয়ের কারণে ব্যবসার জন্য বিক্রি করা হয়েছে এবং এতে মেমরি পরিচালনার সমস্যাগুলি সম্পর্কে ধারণা নেই।
  • এবং হ্যাঁ, জাভা এখনও একটি ধীরে ধীরে ধীরে ধীরে ভুগছে যে এটি ধীরে ধীরে, এবং এটি মেমরি পরিচালনাটি দরিদ্র, এবং গেমসের জন্য, সম্ভবত এটি কার্যকারিতার জন্য উপযুক্ত নয়। অন্য কিছু উত্তরগুলিতে বলা হয়েছে, যখন আপনি রিয়েল-টাইম উচ্চ-কর্মক্ষমতা প্রয়োজনীয়তাগুলির সাথে ডিল করছেন তখন আবর্জনা সংগ্রহটি কেবল এটি কাটাতে যাচ্ছে না। ভিডিও গেমগুলি তাদের সীমাগুলিতে CPU এবং GPU গুলিকে ধাক্কা দেয়।




java