ইভটি অনলাইন এবং ওয়াওয়ের মতো এমএমওআরপিজি বিকাশ করতে কোন ভাষাগুলি ব্যবহার করা হয়? [বন্ধ]


22

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

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

  • এছাড়াও, ক্লায়েন্টের পাশ (3 ডি গ্রাফিক্স / অ্যানিমেশন / শব্দ) গেমের অংশ তৈরি করতে কোন প্রোগ্রামিং ভাষা এবং 3 ডি গেম ইঞ্জিন ব্যবহার করা হচ্ছে?


আমি মনে করি যে প্রতিটি এমএমও অফ-দ্য শেল্ফ প্রযুক্তিগুলি দিয়ে শুরু করে এবং যখন তারা একটি নির্দিষ্ট আকারে বেড়ে যায় এবং সত্যই তাদের সরঞ্জামগুলিকে বিশেষত করতে শুরু করে তবে এটিকে বাইরে থেকে কাস্টমাইজ করে। ইভি অনলাইন অনলাইনে স্ট্যাকলেস আই / ও একটি দুর্দান্ত উদাহরণ: eveonline.com/devblog.asp?a=blog&bid=584
মাইকেল স্টাম

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

মাইকেল স্টাম, স্ট্যাকলেস আই / ও স্ট্যাকলেস পাইথন দিয়ে তৈরি?

@ অ্যাডাম এই দুটি সম্পর্কযুক্ত কিনা তা সম্পর্কে কোনও ধারণা নেই।
মাইকেল Stum

উত্তর:


30

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

সামগ্রিকভাবে এটি গেম যুক্তি এবং ইঞ্জিনের জন্য সি ++ এর মতো বলে মনে হয়, ক্লায়েন্ট স্ক্রিপ্টিংয়ের জন্য লুয়া আপনার কাছে একটি মান খুঁজে পাওয়া সবচেয়ে নিকটতম।

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

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


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

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

3
পান্ডা 3 ডি সি ++ তে প্রোগ্রাম করা হয়েছে, সি নয়
জোকুন

5

ইভটি অনলাইন এর জন্য কয়েকটি লিঙ্ক:

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

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

অনেক তথ্য নয়, তবে আশা করি এটি সাহায্য করবে।

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


3

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

ক্লায়েন্ট প্রায়শই সি ++ এ লিখিত হয় (বা এটি যদি ব্রাউজার-ভিত্তিক খেলা হয় তবে ফ্ল্যাশ হয়); আমি একবার। নেট-ভিত্তিক ক্লায়েন্টের সাথে কাজ করেছি (সি # সি ++ / সিএলআই এর সাথে মিশ্রিত)।

এবং প্রায়শই একটি জাতীয় গতিশীল স্ক্রিপ্টিং ভাষা "ডিজাইনার" সামগ্রী বিকাশের সুবিধার্থে ব্যবহৃত হয় - যেমন দক্ষতা, অনুসন্ধানগুলি ইত্যাদি - যা প্রায়শই পরিবর্তিত হয় এবং প্রোগ্রামারগুলির বিপরীতে গেম ডিজাইনারদের দ্বারা এটি পরিবর্তন করা যায়।


3

প্রথমত, এমএমওআরপিজি বা কোনও অনলাইন গেম প্রথম স্থানে এইচটিটিপি বা "ওয়েব ফ্রেমওয়ার্ক" ব্যবহার করে না।

একটি সার্ভার ঠিক গেমের মতোই সি ++ তে প্রোগ্রাম করা হয় এবং নেটওয়ার্কের মাধ্যমে প্যাকেট প্রেরণ করতে সকেট ব্যবহার করে যোগাযোগ অর্জন করা হয়।

সার্ভারগুলি প্রায়শই অন্য ওএস চালায় এবং কেবলমাত্র গেম কোড অন্তর্ভুক্ত করে, তাই প্রচুর প্লেয়ার একক সার্ভারে সাবলীলভাবে খেলতে পারে।

আমি জানি না যে বরফখড়ি তাদের সার্ভারগুলি কীভাবে পরিচালনা করে, আমি জানি না তারা ক্লাস্টার ব্যবহার করে কিনা।

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

আমি মনে করি ওউ এর নেটওয়ার্ক অংশের দায়িত্বে থাকা লোকটি সত্যিকারের খারাপ হতে পারে।


3
"আমি মনে করি ওউ এর নেটওয়ার্ক অংশের দায়িত্বে থাকা লোকটি সত্যিকারের খারাপ হতে পারে" " আমার মতে ছোট সার্ভারের জনসংখ্যা এবং ক্লায়েন্ট-সাইড চলাচল খারাপ-জড়িত হওয়ার পক্ষে আসলেই আসে না। যদিও হ্যান্ডসাইটটিও 20/20।


0

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

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


0

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


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

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