PDA

View Full Version : سوال: C# یا C++ ؟



b1nahayat
جمعه 23 دی 1390, 09:51 صبح
سلام.
من تا حدودی با VB.net آشنایی دارم و کار کردن باهاش رو میدونم.
الان چند وقتی هست که رفتم توی کار بازی سازی و فهمیدم که VB یه جاهایی آدم گیر میکنه و نمیشه باهاش در بازی سازی استفاده کرد. (و البته به دلایل دیگه نمیشه استفاده کرد).
بهم گفتن از C++ یا C# میشه استفاده کرد.
من خیلی در مورد انتخاب این 2 تحقیق کردم. ولی هر جایی که میرم از یکی خوب میگه بعد از اون یکی خوب میگه از اون بد میگه. واقعا گیج شدم.
حالا از شما بزرگواران میخوام که منو راهنمیی کنید برای انتخاب درست.
حالا گذشته از بحث پیرامون بازی کدوم زبان به درد بخور تر هست و میتونه مفید تر باشه برای ما؟

با تشکر

Mehdi Naderi
جمعه 23 دی 1390, 10:30 صبح
سی شارپ برای بازی ؟؟
البته میشه باهاش بازی های خیلی ساده درست کرد اما به دلیل اجرا توسط CLR برنامه های حجیم خیلی کند میشه
تمام بازی های تجاری با c++ برنامه نوبسی میشن

b1nahayat
جمعه 23 دی 1390, 11:12 صبح
سی شارپ برای بازی ؟؟
البته میشه باهاش بازی های خیلی ساده درست کرد اما به دلیل اجرا توسط CLR برنامه های حجیم خیلی کند میشه
تمام بازی های تجاری با c++ برنامه نوبسی میشن
خوب از بازی گذشته کدومش الان بیشتر رونق داره و مفید تر و کار راه انداز تره؟

maktoom
جمعه 23 دی 1390, 12:43 عصر
سلام
منظورت از بازی چیه؟
بازی هایی مثل تتریس و مار و مین و ...
یا بازی هایی که نیاز به یک موتور مثل UDK یا UNREAL و ... دارن؟؟؟
برنامه نویسی این دو گروه متفاوته. دسته اول رو با C++ میشه نوشت.
اما برای دسته دوم باید بری ببینی موتوری که استفاده می کنی چی ساپورت میکنه.
موتور UDK از زبان C# استفاده می کنه و ضمنا خودش چیزای بسیار زیادی داره. افکت های مختلف و ....
همچنین لینک ویدیوهای آموزشی براش روی خود موتور UDK هست که می تونید برید ودانلود کنید.
کلا تجربه ایجاد یک بازی ساده مثل دسته اول برای یادگیری یه سری از مفاهیم خوبه و نه بیشتر.
تجربه ای که توی مدل دوم بدست میارید میتونه دید شما رو در برنامه نویسی بسیار گسترده کنه.
موفق باشید.

iranpcl
جمعه 23 دی 1390, 13:05 عصر
سلام
البته بنده اطلاع جندانی از بازی نویسی ندارم ولی تا اونجایی که تو فروم های مختلف خوندم:
c# به دلیل نیتیو نبودن و همون clrی که دوستمون گفتن اصلا پرفورمنس برای بازی سازی نداره(در حد بازی های کوچیک هست) و علاوه بر این محدود هست به ویندوز
c++ نیتیو و مستقل از سکو هست(پرفورمن بالا و قابل استفاده برای همه سیستم عامل ها) و تا اونجایی که میدونم اصلی ترین زبان برای بازی سازی(تو بازی های معروفی به مانند اسینس کرد، بتل فید، پرشین پرنس و ...) هست

b1nahayat
جمعه 23 دی 1390, 15:34 عصر
سلام
البته بنده اطلاع جندانی از بازی نویسی ندارم ولی تا اونجایی که تو فروم های مختلف خوندم:
c# به دلیل نیتیو نبودن و همون clrی که دوستمون گفتن اصلا پرفورمنس برای بازی سازی نداره(در حد بازی های کوچیک هست) و علاوه بر این محدود هست به ویندوز
c++ نیتیو و مستقل از سکو هست(پرفورمن بالا و قابل استفاده برای همه سیستم عامل ها) و تا اونجایی که میدونم اصلی ترین زبان برای بازی سازی(تو بازی های معروفی به مانند اسینس کرد، بتل فید، پرشین پرنس و ...) هست
با C# به تنهایی بازی نمیسازن. موتور های بازی ساز از این زبان ها پشتیبانی میکنه.
خواهش میکنم بقیه هم نظر بدن ببینم و منو راهنمایی کنند.
در ضمن الان C++ قدیمی نشده؟ الان C# اومده. اون واسه 10 ساله پیشه!!!!

حامد مصافی
جمعه 23 دی 1390, 16:20 عصر
در ضمن الان C++‎‎‎ قدیمی نشده؟ الان C#‎‎‎ اومده. اون واسه ۱۰ ساله پیشه!!!! هم C++‎‎ و هم C#‎‎ یک زبان استاندارد هستند. زبان C++‎‎ با شماره ۱۴۸۸۲ و C#‎‎ با شماره ۲۳۲۷۰ در ISO به ثبت رسیده‌اند. هیچ یک از اینها قدیمی نخواهند شد چون دائما در حال ارتقای این استاندارد هستند.
آخرین استاندارد زبان C#‎‎ در سال ۲۰۰۶ از سوی مایکروسافت با شماره ۲۳۲۷۰:۲۰۰۶ ارائه شده است.
آخرین استاندارد C++‎‎ نیز در سال ۲۰۱۱ با شماره ۱۴۸۸۲:۲۰۱۱ ارائه شده است.

با این تفاسیر گمان می‌کنم متوجه شده باشید که نه C++‎‎ و نه C#‎‎ چیزی که شما به عنوان یک نرم‌افزار میبینید نیستند. در واقع هر دوی اینها یک زبا‌ن‌برنامه‌نویسی استاندارد هستند که هر کسی می‌تواند با بهره گیری از مستندات iso یک نسخه از آنها را ارائه کند.

شرکت بورلند ۱۵ سال پیش یک محیط توسعه برای زبان C++‎‎ با نام Turbo C++‎‎ ارائه کرده بود که سال‌ها پیس منسوخ شده است. حتی بسیاری خبر ندارند خود بورلند با ورود ویندوز یک نسخه ویندوزی را که امکان استفاده از امکانات ویندوز را داشت، را جایگزین TC++‎‎ کرد. نتیجه اینکه آن چیزی که مُرد C++‎‎نبود!

نکته اطلاعات عمومی: بیشتر از ۹۵٪ بازی‌هایی که در بازار می‌بینید با C++‎‎ ساخته شده‌اند!


خواهش میکنم بقیه هم نظر بدن ببینم و منو راهنمایی کنند.در پست ۴ راهنمایی خوبی ارائه شده.

موتورهای بازی‌سازی زیادی وجود دارند که تعدادی از آنها نیز به صورت رایگان، اوپن‌سورس یا آزاد ارائه می‌شوند. تعداد اندکی هم برای استفاده در دات‌نت تولید شده‌اند. البته شرکت‌های تولید کننده بازی‌های سه بعدی موتور مخصوص خودشان را نوشته‌اند.


شما با vb.net کار کرده‌اید اما حال تصمیم گرفته‌اید بازی‌ساز شوید! باید به عرض برسانم راه‌ زیادی پیش رو دارید.

ماحصل کلام:
به چند دلیل C++‎‎ را توصیه می‌کنم


منابع بیشتری برای آن وجود دارد.
موتورهای بیشتری برای آن وجود دارد.
قابلیت ساخت خروجی بومی را دارد.
در ساختار کتابخانه‌های آن لایه‌های اضافی وجود ندارد و همه چیز دست خودتان است (اصطلاحا سرعت بیشتری دارد)
در اکثر پروژه‌های واقعی از آن استفاده شده است.
مهاجرت به سیستم‌عامل‌های غیر ویندوزی امکان پذیر است (نه اینکه در C#‎‎ این امکان نباشد. اما نمی‌ارزد)
...

aliroozbahany
شنبه 27 اسفند 1390, 09:25 صبح
ظاهرا دوستان عزیز تبلیغات مایکروسافت برای سی شارپ رو ندیدا تکنولوژی xna که مخصوص بازی سازی است رو تماما با زبان سی شارپ آموزش میدن. به نظر من سی شارپ رو انتخاب کن.
مایکروسافت پشتشه نترس

vistacali
شنبه 27 اسفند 1390, 10:53 صبح
یه چیزی قدرت زبان سی شارپ کم نیست وقتی با اون ویندوز طراحی میکنن بدون قدرت اون چقدر است ولی در مقابل اون زبان سی وجود داره که دومین زبان دنیا هست و اونم قدرتش کمتر از سی شارپ نیست و گاها بیشتر من خودم پروژه پایانترمم بازی سوپرماریو بود که اونو توی سی شارپ طراحی کردم ولی الان بازم رو اوردم به زبان سی پلاس به نظر من دوتاشو یاد بگیر چون نیاز هستن بابا اصلان تو دست روی دو تا زبان گذاشتی که نمیشه یکی رو از بینشون انتخاب کرد چون دوتای اونا قدرتمندن با اینجا (http://fars-it.ir/showthread.php?tid=49)سری بزن


به نکته از بخوای روزی از ویندوز مهاجرت کنی مجبوری به زبان c || c++| java رو بیاری این نکته هم در نظر بگیر زبان سی شارپ در محیط های لینوکس میشه نوشت ولی نوعی مسخره بازی هست