Menu

Abdul Ahad

servant of the only One!
Wed, 11 September 2019

Math + Physics = Game

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

প্রথম আর্টিকেল গেইম ডেভেলপমেন্টের সূচনা পড়েছেন কি ?

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

  • CU Learners এমন একটি জ্ঞান চর্চার জায়গা যেখানে যে কেউ যে কোন কিছু শিখতে পারে। কাজেই এখানে সকল বিষয়কে আমাদের বিস্তারিতভাবে তুলে ধরা দরকার।
  • তোমাদের যাদের ব্যাকগ্রাউন্ড কম্পিউটার বা সায়েন্স তারা জানো যে, কম্পিউটারে আমরা যাই করি না কেন তা হচ্ছে গণিত। সুতরাং একজন গেইম বা অ্যাপ্লিকেশান প্রোগ্রামার কখনো তা অস্বীকার করতে পারে না। গেইম এর সংজ্ঞা এইভাবে দাড় করানো যাই - “বাস্তব জগতের একটি নির্দিষ্ট অংশকে কম্পিউটার সিস্টেমে Simulate করার মাধ্যমে আনন্দ দেওয়ার নাম হল গেইম।” আর এই বাস্তব জগত সম্পর্কে সবচেয়ে ভালো জানে গণিত ও ফিজিক্স।
  • এই টিউটোরিয়াল সিরিজের উদ্দেশ্য হল গেইম ডেভেলপমেন্ট ওয়ার্ল্ড সম্পর্কে একটা ধারণা দেওয়া। যেহেতু গেইমগুলোতে গণিত আর ফিজিক্সের ব্যবহার প্রচুর, সুতরাং তার সম্পর্কে সবার জানা দরকার।
  • অথবা তুমি একটি গেইম তৈরি করলে কিন্তু গেইমের কোন একটা জায়গায় তুমি সন্তুষ্ট না। পরে তুমি অনেক খোঁজাখুঁজি করে জানতে পারলে যে এইখানে ফিজিক্সের law of universal gravitation অ্যাপ্লাই করতে হবে এবং তখন হয়ত তুমি নিজেকে বোকা ভাবতে পার।

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

একটি বাস্তব উদাহরণ :

একটা খারাপ খবর হল তুমি যদি realistic বা বাস্তববাদী আবেদনময়ী গেইম তৈরি করতে চাও তবে তোমাকে গণিত আর ফিজিক্সের পেরা নিতেই হবে। যেমন উদাহরণ স্বরূপ PUBG মোবাইল গেইমটি নিয়ে কথা বলা যাক। নিজেকে প্রশ্ন কর “কেন হাজার হাজার গেইমের মধ্যে PUBG এত জনপ্রিয় গেইম?” এর অনেকগুলো কারনের একটি কারন হল এর গেইমের ফিজিক্স আর ম্যাথ। বিভিন্ন Object এর Modeling, বন্দুকের গুলির বেগ বা velocity, gun-shot এর ঝাঁকুনি বা recoil, image texturing, 3D sound effect, gravity ইত্যাদি নিখুঁতভাবে পুরো গেইমে জুড়ে খুব সুন্দরভাবে প্রয়োগ করা হয়েছে যার সংমিশ্রণে তৈরি হয়েছে এক দারুন Action Game play যা আজ প্রতিটি গেইম প্রিয় মানুষের মুখে মুখে শুনা যায়।

অসহ্য ফিজিক্স ও গণিতের সমাধান কি ?

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

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

আনন্দের কথা :

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

Share