গেম ডেভলপমেন্টে সি ++ "স্টিল" পছন্দ করা কি? [বন্ধ]


17

আমি একটি 2 ডি গেম প্রোগ্রামার। কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজ যা আমি ভাল সেগুলি হ'ল সি, জাভা, সি #। আমি অ্যাকশ্রিপ্ট ২.০,৩.০ এবং কিছু জাভাস্ক্রিপ্টও জানি। আমি 3 ডি গেম প্রোগ্রামিং শিখতে আগ্রহী। এখন পর্যন্ত গবেষণা থেকে আমি গুগল করে এবং বিভিন্ন গেম ডেভলপমেন্ট ফোরাম এবং নিবন্ধগুলি পড়ে জমা করেছি accum আমি লক্ষ্য করেছি যে বেশিরভাগ প্রোগ্রামাররা সি +++ পছন্দ করেন। এছাড়াও একটি অনলাইন গেম প্রোগ্রামিং শিক্ষণ কোর্সেও আমি লক্ষ্য করেছি যে তারা সি ++ এবং ভিজ্যুয়াল সি ++ প্রারম্ভিক কোর্স হিসাবে পড়ানো পছন্দ করে। আমি 3 ডি গেম প্রোগ্রামিংয়ের জন্য সি ++, সি # এবং জাভার "শক্তি" পার্থক্য জানতে চাইলে যে কারণে আমি এই প্রশ্নটি জিজ্ঞাসা করছি।

ইতিমধ্যে 2 ডি গেম প্রোগ্রামারটির জন্য ভাল 3 ডি গেম প্রোগ্রামিং নিবন্ধগুলির লিঙ্কগুলি অন্তর্ভুক্ত করুন ।

PS: আইএমএইচও, আমি সি ++ ক্রিপ্টিক হতেও পাই।


আমিও তা পেয়েছি। পেশাদার গেম প্রোগ্রামারটির দক্ষতা কী হওয়া উচিত তা সম্পর্কে সম্প্রদায়টিতে একটি প্রশ্ন জিজ্ঞাসা করেছিলেন। গেমগুলির উন্নয়নের জন্য আরও ভাল ভাষা হিসাবে সি ++ তে ফোকাস করে কিছু সুন্দর উত্তর পেয়েছেন। চেক .. গেমদেব.স্ট্যাকেক্সেঞ্জার.কমিশন
5552/

@ গ্যামড্রয়েড: পেশাদার 2 ডি গেম প্রোগ্রামারটি কী তৈরি করে তা জানতে আগ্রহী নই। আমি ভিজ্যুয়াল সি ++ সম্পর্কে জানতে আগ্রহী এবং কেন এটি নিয়ে এত কথা বলা হয়েছে।
বিষ্ণু

2
বিটিডব্লিউ: ভিজ্যুয়াল সি ++? শুধু প্লেইন সি ++ নয়?
স্পিডার

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

1
@ উইশ, ক্ষমা চাইলে এখন পর্যন্ত মন্তব্যগুলি মাথায় রেখে আরও সুনির্দিষ্ট হতে এটিকে সম্পাদনা করতে নির্দ্বিধায় মনে করুন। যদি আপনি বোঝাচ্ছেন উইন 32 প্রোগ্রামিং বিভ্রান্তিকর, তবে এটি বলুন।
টেট্রাড

উত্তর:


30

হ্যাঁ, সি ++ হ'ল ভাষা প্রায়শই ব্যবহৃত হয় (যদিও কিছু লোক এখনও সি ব্যবহার করেন না)।

এর অসংখ্য কারণ রয়েছে। নিছক গতিবেগ এক - এটি কেবলমাত্র ভাষা যা বহু বছর ধরে ব্যবহৃত হয়ে আসছে, প্রচুর প্রযুক্তি ইতিমধ্যে বিদ্যমান এবং লোকেরা এতে স্বাচ্ছন্দ্য বোধ করে, তাই রাতারাতি পরিবর্তন ঘটে না।

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

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


2
মূলধারার উন্নয়ন শিল্পে, হ্যাঁ।
জেসনডি

2
ভাষার ক্ষেত্রে, সি ++, প্রাথমিকভাবে - এটি শীঘ্রই কোথাও কোথাও যাচ্ছে না। আমি পরামর্শ দিয়েছিলাম যে
লুপা

8
ভিজ্যুয়াল সি ++ ভাষা নয়, এটি একটি আইডিই।
সারভাইভালমাচাইন

2
হ্যাঁ, যদিও এটি সম্ভবত সর্বাধিক ব্যবহৃত আইডিই, তাই এটি সি ++ শিখার পাশাপাশি একই সাথে জানা উচিত।
জেসনডি

1
@ সুরভালমাচিন ভাল প্রযুক্তিগতভাবে এটি একটি উপভাষা (প্রচুর এমএসভিসি ++ এক্সটেনশন রয়েছে যা স্ট্যান্ডার্ডটিতে নেই)
বোবোবোবো

4

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

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


3
গেম কোডে আরআইআই পুরোপুরি গ্রহণযোগ্য (এবং উত্সাহিত করা উচিত)।
স্টোনমেটাল

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

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

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

1

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

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

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

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