যেভাবে ডেভেলপ করা হয় ওপেন ওয়ার্ল্ড গেমের চমকপ্রদ দুনিয়া!

বর্তমানে ভিডিও গেমের বাজারটি বেশ সমীহ করার মতই। শুধুমাত্র ২০১৮ সালেই শীর্ষ পাঁচ গেম নির্মাতা দেশগুলি ৯৮ বিলিয়ন ডলার আয় করেছে এই ইন্ডাস্ট্রি থেকে। তবে ধীরে ধীরে যে ঘরানার গেমটি জনপ্রিয়তার শীর্ষে উঠে আসছে, তা হলো ওপেন ওয়ার্ল্ড গেম। সবচেয়ে চমকপ্রদ, কাহিনী ভরপুর এই ঘরানাটিতে যেমন আয় হচ্ছে, তেমন নির্মাণেও রয়েছে অনেক জটিলতা। এটি কিভাবে নির্মাণ হয় তা জানার আগে আসুন জেনে নিই ওপেন ওয়ার্ল্ড গেম কোনগুলি।

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

১৯৭০ সালে প্রথম ওপেন ওয়ার্ল্ড আর্কেড গেমের মুক্তি দেয় গেম নির্মাতা প্রতিষ্ঠান সেগা; এর নাম ছিল ‘জেট রকেট’। এই ঘরানার প্রথম ভিডিও গেমটি বাজারে ছাড়ে টাইতো কর্পোরেশন, যার নাম ছিল ‘ওয়েস্টার্ন গান’। তবে সবচেয়ে প্রভাবশালী ওপেন ওয়ার্ল্ড গেম ছিল ‘দ্য লিজেন্ড অফ জেলডা’। ১৯৮৬ সালে এটা প্রকাশ করেছিল বিখ্যাত নিনটেন্ডো কোম্পানি। বর্তমানের অনেক ওপেন ওয়ার্ল্ড গেম এখনো এর দ্বারা প্রভাবিত। যেমন ‘মেট্রয়েড’ অনুপ্রাণিত হয়েছিল এর নন লিনিয়ার গেমপ্লেতে। এটি একটি বিশেষ ধারার ডিজাইনেরও সূচনা করেছিল যেটা গ্র্যান্ড থেফট অটো বা উইচার সিরিজ অনুসরণ করে আসছে। ২০০১ সালে ‘গ্র্যান্ড থেফট অটো থ্রি’ ওপেন ওয়ার্ল্ড গেমের একটা স্ট্যান্ডার্ড সেট করেছিল যা এর পর থেকে অনুসরণ করা হচ্ছে। বর্তমানে প্রায় সব প্রধান গেম বা গেম সিরিজগুলোই ওপেন ওয়ার্ল্ড ঘরানার হয়ে থাকে যেমন স্কাইরিম, গ্র্যান্ড থেফট অটো কিংবা অ্যাসাসিনস ক্রিড। এমনকি ব্যাটম্যান, ফাইনাল ফ্যান্টাসি, মেটাল গিয়ার সলিডের মত প্রতিষ্ঠিত ফ্র্যাঞ্চাইজিগুলোও তাদের নতুন ইন্সটলমেন্টের জন্যে ওপেন ওয়ার্ল্ড ডিজাইনকে বেছে নিচ্ছে।

গ্র্যান্ড থেফট অটো থ্রি ওপেন ওয়ার্ল্ড গেমের একটা স্ট্যান্ডার্ড সেট করেছিল; Image Source: topsimages.com

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

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

গবেষণা এবং পর্যবেক্ষণ

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

ইনফেমাস: সেকেন্ড সন গেমে সিয়াটলের বিচিত্র আবহাওয়ার জন্যে শহরটি নির্বাচন করা হলেও এর সাথে ভিন্ন ভিন্ন আর্কিটেকচার স্টাইলও যোগ করা হয়েছিল; Image Source: lesnumeriques.com                         

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

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

ফার ক্রাই প্রাইমালের জন্যে প্রাচীন প্রোটো ইন্দো ইউরোপিয়ান ভাষাকে জীবন্ত রূপ দেওয়া হয়েছিল; Image Source: bhmpics.com

ডেভেলপমেন্ট এবং সমন্বয়

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

ওপেন ওয়ার্ল্ড গেমের ডেভেলপমেন্টের জন্যে প্রতিটি টিমের মধ্যে নিখুঁত সমন্বয় দরকার; Image Soure: vc.ru

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

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

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

সফটওয়্যারের পাশাপাশি গেমের ডেভেলপমেন্ট প্রক্রিয়া দেখভাল করার জন্যে ম্যানেজার হিসেবে কিছু মানুষও থাকে; Image Source: imgcop.com

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

বিশালাকারের ল্যান্ডস্কেপ নির্মাণ

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

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

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

দূরের দিগন্ত প্লেয়ারকে অবচেতনভাবে সামনে এগিয়ে যেতে সাহায্য করে; Image Source: overclock.net

গেম ইঞ্জিন

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

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

ইউবিসফট তাদের সবগুলো গেমের জন্যে একটিমাত্র ডেভেলপমেন্ট পাইপলাইন ব্যবহারের জন্যে সুপরিচিত; Image Source: miifotos.com

ইউবিসফট তাদের সবগুলো গেমের জন্যে একটিমাত্র শক্তিশালী এবং সমন্বিত ডেভেলপমেন্ট পাইপলাইন ব্যবহারের জন্যে সুপরিচিত। এটাই তাদের এত দ্রুত এতগুলি ওপেন ওয়ার্ল্ড গেম মুক্তি দেওয়ার একটা বড় কারণ। তারা এই ইঞ্জিন প্রতিটা গেমের প্রয়োজন অনুযায়ী মডিফাই করে। বেথেসডাও ২০০২ সালে রিলিজ করা ‘এল্ডার স্ক্রলস থ্রি: মরোউইন্ডে’র পর থেকে এই পথেই হাঁটছে। বেশিরভাগ সময়েই নতুন ইঞ্জিন তৈরি করে টাকা এবং সময় ব্যয় করার তুলনায় ডেভেলপমেন্ট পাইপলাইন এবং আগের ইঞ্জিন ব্যবহার করা অনেক বেশি কার্যকর কৌশল ।

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

উইচার থ্রি গেম শুরু হওয়ার আগেই তার সম্পূর্ণ ওয়ার্ল্ডটি লোড করে নেয়; Image Source: giantbomb.com

এআই এবং নন প্লেয়িং ক্যারেক্টার

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

এল্ডার স্ক্রলস ফোর গেমের নন প্লেয়িং ক্যারেক্টারগুলো চিত্রনাট্য অনুসরণ না করেই নিজে নিজে সিদ্ধান্ত নিতে পারে; Image Source: evbid.com

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

দ্য লিজেন্ড অফ জেলডা: মেজোরাস মাস্কে প্রতিটি নন প্লেয়িং ক্যারেক্টারের জন্যে শিডিউল প্রোগ্রাম করা হয়েছিল; Image Source: cellcode.us

শেষ কথা

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

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

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

This article is in Bangla language. It is a brief discussion on how open world video games are developed. Necessary terms have been hyperlinked inside.

References:
1. GamingBolt
2. MakingGames

Featured Image: blog.ubi.com

Related Articles