কোনও গেমের জন্য আমার জাভা অ্যাপলেট ব্যবহার না করার কোনও কারণ আছে কি?


9

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

অ্যাপলেটগুলি ব্যাপকভাবে ব্যবহৃত হবে বলে মনে হয় না (রুনসেসকেপ ব্যতীত), তবে তাদের কোনও কারণ নেই যা তারা অনুপযুক্ত হয় বা এটি কি তাদের শৈশবে তাদের খারাপ খ্যাতি অর্জন করার কারণে?


1
সম্ভবত কিছু লোক জাভাতে ওয়েব গেম করে এবং ফ্ল্যাশ পছন্দ করে?
কম্যুনিস্ট হাঁস

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

উত্তর:


9

তারা স্পষ্টতই এর জন্য অসন্তুষ্ট নন, যেমনটি রুনস্কেপ এবং মাইনক্রাফ্ট এবং অন্যান্য ছোট জাভা অ্যাপলেট গেম দ্বারা প্রদর্শিত হয়েছিল । এছাড়া হার্ডওয়্যার-গতিবৃদ্ধপ্রাপ্ত 3D গ্রাফিক্স (জন্য লাইব্রেরি দ্বারা LWJGL , JOGL )। এটি কেবল গেম ডেভলপমেন্ট সম্প্রদায়ের একটি জনপ্রিয় ভাষা নয়।

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


অতিরিক্ত হিসাবে আপনি আপনার লক্ষ্য বাজার সম্পর্কে চিন্তা করতে হবে - মাইনক্রাফ্ট প্লেয়াররা স্পষ্টতই java.com এ গিয়ে এটি ইনস্টল করতে পারে তবে অনেকগুলি "ইন্টারনেট এক্সপ্লোরার ভিড়" নাও থাকতে পারে।
জারি কমপ্পা

তবে মাইনক্রাফ্টটি ভালভাবে তৈরি করা হয়েছে যে সেই ব্যবহারকারীরা কেবল এক্সিকিউটেবল সংস্করণটি ডাউনলোড করতে পারবেন, যার মধ্যে জেআরই অন্তর্ভুক্ত রয়েছে এবং এ জাতীয় কোনও ইনস্টলেশনের প্রয়োজন নেই; এটি শুধু কাজ করে ™
রিকিট

2
আমার মনে হয়, জাভা কীভাবে কিছু ইনস্টল করতে ব্যবহারকারীকে বাধ্য না করে ব্রাউজারে জিপিইউ অ্যাক্সেস করতে পারে তার দুর্দান্ত সমাধান (80-85% ব্যবহারকারী জাভা ইনস্টল করেছেন ... এক্সপ্লোরার
নুবগুলি

6

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

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


3

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

আমার অভিজ্ঞতার সাথে জাভার কয়েকটি বড় প্লাস পয়েন্ট:

  • পোর্টেবিলিটিটি দুর্দান্ত - অত্যাচারীর জটিলতার প্রেক্ষিতে, এটি বেশ চিত্তাকর্ষক যে আমি উইন্ডোজ, ম্যাক এবং লিনাক্সে ভালভাবে চালানোর জন্য ঠিক একই সংকলিত কোডটি অর্জন করতে পেরেছি।

  • ব্রাউজার কুইর্কস সম্পর্কে আপনাকে চিন্তা করতে হবে না।

  • কিছুটা চালাকতার সাথে আপনি একই কোডটিকে অ্যাপলেট হিসাবে বা স্ট্যান্ডেলোন ডেস্কটপ অ্যাপ্লিকেশন হিসাবে চালাতে পারেন

  • পারফরম্যান্স একটি আধুনিক জেভিএম ধরে ধরে দুর্দান্ত।

  • ওপেন সোর্স লাইব্রেরি / এপিআই ইত্যাদির দুর্দান্ত অ্যারের ক্ষেত্রে জাভার সমস্ত সাধারণ প্লাস পয়েন্ট

নিম্নলিখিত সম্পর্কে সচেতন থাকুন:

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

  • প্রারম্ভকালীন সময়টি ফ্ল্যাশ বা জাভাস্ক্রিপ্টের চেয়ে কিছুটা ধীর হতে পারে। অন্যদিকে, জেভিএম চালু হয়ে চলার পরে পারফরম্যান্স আরও ভাল হয় ......

  • জাভা হ'ল একটি আবর্জনা সংগ্রহ করা ভাষা, তাই এটি উপলক্ষে খুব সামান্য জিসি বিরতি দেয়। ক্যাজুয়াল / রোলপ্লেয়িং / স্ট্র্যাটেজি গেমগুলির জন্য আসলেই সমস্যা নয়, তবে উচ্চতর পারফরম্যান্স 3 ডি এফপিএস শিরোনামের জন্য এটি একটি সমস্যা হতে পারে যেখানে আপনি ধ্রুবক জিটারমুক্ত 120 এফপি ফ্রেমরেট বজায় রাখার চেষ্টা করছেন ......


1

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


আমি কি একটি সুযোগ গন্ধ? :)
রিকিট

স্পনসরশিপ মডেল স্রষ্টাদের জন্য একটি ভাল চুক্তি উপস্থাপন করে কিনা তা আমি নিশ্চিত নই। বিজ্ঞাপন থেকে পিটান্স তৈরি করে এমন কোনও পোর্টাল সাইট থেকে পিটেন্স নেওয়ার চেয়ে যুক্তিযুক্ত দামের জন্য আপনার কাজটি বিক্রি করা ভাল।
লুথার

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