সাক্ষাৎকার : আল-মামুন সোহাগ

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

al-mamun

সুবিন : বর্তমান কাজ কোথায় এবং কী নিয়ে?
আল-মামুন : আমি বর্তমানে কানাডা তে অবস্থান করছি। Ratrod Studio, Inc এ Senior গেম ডেভেলপার হিসাবে দায়িত্বরত আছি। প্রধানত আমি গেম ডেভেলপার, মোবাইল ডিভাইস এর জন্য গেম বানাই। iOS/Android/Windows8/Windows Phone এবং Console এর জন্য sports/racing টাইপ এর গেম গুলোই বর্তমান কোম্পানি তৈরি করে থাকে।

সুবিন : গেম তৈরিতে আগ্রহী হওয়ার কারণ কী?
আল-মামুন : আমি গেম ডেভেলপার হবো, এই বিষয়টা Aim in Life রচনায় কখনও লিখি নাই। তবে কম্পিউটার ইঞ্জিনিয়ারিং পড়ার ইচ্ছা ছিল। যদিও বিশ্ববিদ্যালয়ে ভর্তি হওয়ার পর প্রথম কম্পিউটারে টাচ করেছিলাম। এর আগে শুধু TV আর সিনেমাতে কম্পিউটার দেখেছি। বিশ্ববিদ্যালয় থেকে বের হওয়ার পর একটা কোম্পনি তে ইন্টারভিউ দেই, ওরা বাংলাদেশে AAA ধরনের গেম বানাতে ডেভেলপার খুঁজছিল কিন্তু কাউকে পাচ্ছিল না। আমি গেম ডেভেলপার হিসাবে ইন্টারভিউ দেই, পরে ওরা আমাকে সিলেক্ট করে। যদিও আমি ইন্টারভিউ এর পরে একটা ছোট একটা গেম এর ডেমো বানিয়ে দেই দুই দিনে। হয়ত ওইটা ওদের আমাকে পছন্দ করার কারণ।

সুবিন : এখন পর্যন্ত বানানো সেরা গেম?
আল-মামুন : এখন পর্যন্ত অনেক গেমই বানিয়েছি। সব সেরা গেমগুলোই মোবাইল ডিভাইসের জন্য। যদিও ফেইসবুক সহ অনেক প্লাটফর্মে আমার বানানো গেম আছে। আমার বেস্ট কিছু গেম নিচের লিঙ্ক পাওয়া যাবেঃ
https://itunes.apple.com/us/artist/ratrod-studio-inc./id355894663
https://play.google.com/store/search?q=ratrod%20studio%20inc

সুবিন : সোশ্যাল গেম, ডেস্কটপ গেম এবং মোবাইল গেম, সব প্ল্যাটফর্মেই কাজ করা হয়েছে। এগুলোতে কাজ করার অভিজ্ঞতা কোনটার কেমন?
আল-মামুন : এক একটা প্লাটফর্ম এ এক এক রকম ফান এন্ড চ্যালেঞ্জে। সোশ্যাল গেম এর ইউজার casual গেম খেলতে পছন্দ করে, তাই সিম্পল কিন্তু addicting করা লাগে। দুনিয়াতে সিম্পল কিছু করা সবচে কঠিন কাজ, কারণ এক এক জন এক একটা ব্যাপারে simplicity খুঁজে পায়। ডেস্কটপ আর কনসোল হলো গেমারদের সবচেয়ে প্রিয়। সব Next Gen technology সবার প্রথমে এই ২ টা তে আসে। AAA গেম এখনও বানানোর সৌভাগ্য হয় নাই। ওইটার জন্য অনেক বড় বাজেট এবং টিম লাগে। আমি সবচে বেশি কাজ করেছি মোবাইল প্ল্যাটফর্মে। এই প্লাটফর্মটা এখন সব থেকে প্রমিজিং। তার অবশ্য অনেক কারণ আছে। এখন সবার হাতে মোবাইল, সবাই এটাকে এন্টারটেইনিং ডিভাইস হিসাবে নিয়েছে। মোবাইল ডিভাইসগুলো দিন দিন পাওয়ার হাউস এ পরিণত হচ্ছে। তার পরেও মেমোরি, গ্রাফিক্স এবং ফিজিক্স গণনা অনেক চিন্তা ভাবনা করে করতে হয়। বর্তমানএ আমি শুধু গেম নিয়ে আর কাজ করছি না, অ্যাড সিস্টেম, মনেটাইজেশন এবং নেটিভ সিস্টেম ইন্টিগ্রেশন নিয়ে কাজ করছি।

সুবিন : একটা বড় গেম তৈরি করতে কী ধরনের লোক দরকার হয়? খরচই বা কেমন?
আল-মামুন : আমরা যদি ডেস্কটপ অর কনসোল গেমের কথা বলি তাহলে ওইটার হিসাব সম্পূর্ণ আলাদা। একটা ডেস্কটপ অর কনসল গেম বানাতে মিলিয়ন ডলার খরচ করতে হয়। NFS টাইপ এর একটা গেম বানাতে অন্তত ২ থেকে ৩ বছর ডেভেলপমেন্ট টাইম ধরতে হবে, যেখানে ২০০ থেকে ৩০০ প্রোগ্রামার, আর্টিস্ট, প্রডিউসাররা কাজ করবে। মোবাইল এর জন্য একটা ত্রিমাত্রিক গেম বানাতে ৬ মাস থেকে ১ বছর সময় লাগে, কিন্তু সব কিছুই নির্ভর করবে ডিজাইন এর উপর। কোন প্রোফেশনাল গেম বানানোর খরচ ৩০,০০০ – ৫০,০০০ ডলার এর নিচে হয় না (সবকিছুই নির্ভরশীল ডিজাইন এর উপর)। আবার ছোট 2D গেম ৪০০০ থেকে ৫০০০ ডলার এ করা যায়।

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

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

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

সুবিন : যারা এখনও বিশ্ববিদ্যালয় পর্যায়ের শিক্ষার্থী, তারা ভবিষ্যতে গেম তৈরির কাজে আসতে চাইলে এখন থেকেই কি তাদের কোনো প্রস্তুতির দরকার আছে? যদি থাকে, তাহলে সেগুলো কী কী?
আল-মামুন : গেম ডেভেলপমেন্টে আসতে হলে সবার আগে বের করতে হবে, সে গেম এর কোন বিষয়ে নিজেকে এক্সপার্ট হিসাবে দেখতে চায়। এক এক জন এক একটা ব্যাপারে আনন্দ খুঁজে পায়। তারপর সেই বিষয়ের উপরই ধ্যান-জ্ঞান করতে হবে। যেমন, গেম প্রোগ্রামার হওয়ার জন্য সবার আগে একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ জানতে হবে। কোন ল্যাঙ্গুয়েজ তা ব্যাপার না, জানতে হবে কিভাবে লজিক দাঁড় করতে হয়। যে ধরেনের গেম খেলতে পছন্দ করে, সেগুলা নিয়া টেকনিকাল এনালাইসিস করতে হবে। বুঝতে হবে, কী ভাবে কাজগুলা হয়, আর্ট পাইপ লাইন বুঝতে হবে। আর্টিস্ট এর সাথে কমিউনিকেট করতে জানতে হবে। টুলস সম্পর্কে জানতে হবে। তারপর নিজে নিজে ডেমো বানাতে হবে। চেষ্টা করতে হবে একটা প্রোডাক্ট বানানোর। কেউ যদি এই স্টেপ ফলো করে তাহলে নিজের চাকরি নিয়া কখনো চিন্তা করতে হবে না, চাকরি তার কাছে চলে আসবে। ধরা যাক একটা ছেলে বা মেয়ে বিশ্ববিদ্যালয় থেকে বের হওয়ার আগে একটা Angry Bird টাইপ এর একটা গেম বানিয়ে তার প্রোফাইল হিসাবে দেখালো, তাহলে কোনো কোম্পানি তাকে নিতে দ্বিধা বোধ করবে না।

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

সুবিন : বাংলাদেশি কোনো কোম্পানী যদি আমেরিকা-কানাডার কোম্পানীর জন্য গেম তৈরি করতে চায়, তাহলে তাদের করণীয় কী? সেখানে প্রতিযোগিতা কেমন?
আল-মামুন : আমেরিকা-কানাডার কোম্পানি প্রফেশনাল কাজ দেখতে চায়, সেইটা করতে পারলেই হবে। আমাদের পাশের দেশ ভারত অনেক এগিয়ে গেছে, কারণ তারা অনেক আগে কাজ শুরু করছে। ওরা এখন প্রফেশনাল গেম বানায়, ওদের অনেক ভালো কমিউনিটি আছে। বাইরের কোম্পানি এর কাজ করতে হলেঃ
=> পারসোনাল স্কিল বাড়াতে হবে
=> টেকনিকাল লেভেল বাড়াতে হবে
=> সবচেয়ে গুরুত্বপূর্ণ ব্যাপার হল ম্যানেজমেন্ট লেভেল বাড়াতে হবে। আমরা টাইম, টাস্ক আর কস্ট ম্যানেজমেন্টে পারদর্শী না।

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

সুবিন : এবার আসি একটু অন্য প্রসঙ্গে। কোন কোন স্কুল ও কলেজে লেখাপড়া করা হয়েছে? [আমি এই প্রশ্নটা সবাইকেই করছি, যাদের ইন্টারভিউ নিচ্ছি। এর একটা কারণ আছে।]
আল-মামুন : আমার স্কুল এর নাম রাওতরা মাধ্যমিক বিদ্যালয়। আমি জানি আমার পরিচিত কেউ এই নাম শুনে নাই। শোনার কথাও না। ঢাকা থেকে ৩০০ কিমি. দুরের একটা গ্রাম এর স্কুল। উচ্চ মাধ্যমিক অবশ্য মাগুরা গভ কলেজে করেছি। সাকিব আল হাসান এর মাগুরা, তাই সারা দেশ নামটা জানে।

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

এরকম ১২টি সাক্ষাৎকার নিয়ে প্রকাশিত হয়েছে “প্রোগ্রামিং ক্যারিয়ার গাইডলাইন : এক ডজন প্রোগ্রামারের কথা”। বইটি পাওয়া যাচ্ছে নীলক্ষেতের হক লাইব্রেরি ও রকমারি ডট কম-এ। বিস্তারিত জানতে ওপরের ছবিতে ক্লিক করুন।

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