PDA

View Full Version : سوال: انتخاب کتابخانه برای ساخت گیم انجین



ahmad65
دوشنبه 27 آبان 1392, 10:25 صبح
سلام.من تجربه ای تو ساخت موتور بازی ندارم.در حال کسب اطلاعات بودم که مطلبی گیجم کرد.
اینجا و خیلی جاها برای ساخت موتور بازی حرف از DirectX و Direct3D میزنند.اونوقت تو یه انجمنه دیگه ای من خوندم که این کتابخونه ها با اومدن xna دیگه از خیلی سال پیش کار نمیشه و مشکلات زیادی هم داره.
در ادامه توصیه کرد از کتابخونه های SlimDX و یا SharpDX استفاده بشه.
الان من گیجم یعنی اینهمه دارن از DirectX استفاده میکنند چی؟یا من فکر میکنم استفاده میکنند؟!! :اشتباه:
حالا فرض که استفاده نمیکنند این دو تا کتابخونه که نام بردم میشه با اونها موتور بازی طراحی کرد؟
میشه یه مقدار در مورد انتخاب کتابخونه برای ساخت موتور بازی برای ویندوز با استفاده از زبان C# توضیح بدید؟

راستی من چند موضوع رو تو یه پست نپرسیدم همش یه موضوع (کتابخونه) هست.سوالمو پاک نکنید. متشکرم.

ahmad65
سه شنبه 28 آبان 1392, 07:12 صبح
سلام.اساتید کسی جواب مارو همراش نداره؟!

emadacx
سه شنبه 28 آبان 1392, 19:44 عصر
سلام دوست عزيز

در كل OpenGL و Directx دو تا API سطح پايين براي رندر گرافيك دو بعدي (2D) و سه بعدي (3D) هستند كه معمولا و اكثرا با زبان هاي C و ++C استفاده ميشن.

و هر كسي هر جايي گفته كه با اومدن Xna استفاده از اين API ها كمتر شده كاملا در اشتباهه، فرق عمده اش اينه كه OpenGL و Directx الان بيشتر براي كار هاي حرفه اي
و بزرگ استفاده ميشن به اين علت كه امكانات حرفه اي بسيار بيشتري رو در اختيار برنامه نويس قرار ميدن و همين طور سرعت بسيار بالاتري دارن و به سخت افزار هم نزديك
تر هستن.

براي برنامه نويسي انجين با #C من دو تا پيشنهاد دارم:
1- از Xna استفاده كن كه تقريبا همون كار Directx و OpenGL رو انجام ميده.
2- از Ogre3D استفاده كن (منظورم Mogre هست) درست مثل همون كاري كه انجين هاي معروفي مثل Neoaxis و يا Axiom كردن.

اميدوارم تونسته باشم كمك كنم.:لبخندساده:

pswin.pooya
چهارشنبه 29 آبان 1392, 12:24 عصر
1- از Xna استفاده كن كه تقريبا همون كار Directx و OpenGL رو انجام ميده.

اگر اشتباه نکنم xna منقرض شده. داخل ویندوز ۸ هم بصورت رسمی ( از طرف مایکروسافت) ساپورت نمیشه. و تازه اگر هم بشه به علت کارایی خیلی کم xna و البته C# و دات نت از طرف بازی سازها (حداقل حرفه ای ها) مورد استفاده قرار نمی گیره.


میشه یه مقدار در مورد انتخاب کتابخونه برای ساخت موتور بازی برای ویندوز با استفاده از زبان C#‎ توضیح بدید؟
اگر دارین میرین سمت بازی سازی بهتره که بیخیال C# بشید. کارایی و انعطاف این زبان بسیار کمه ( البته میشه باهاش بازی ساخت). این کارایی کم باعث شده که روز به روز حتی در مورارد برنامه های کاربردی مثل دیتابیس ها توجه برنامه نویسها به زبانهای مثل C++ و APIهایی مثل Qt بیشتر جلب شه.


در کل پیشنهاد میکنم پیش از ایجاد پست جدید به دقت جستجو کنید. جواب سوالهاتون و البته بیشتر از اونها همگی قبلا در تالار پرسیده شده

ahmad65
چهارشنبه 29 آبان 1392, 20:03 عصر
سلام.متشکرم البته من مطالعه میکنم همین مطالعه آدم رو گیج میکنه یکی میگه c++ قوی و خوبه ولی داستانهای خاصی داره بهتره c# استفاده کنی به دلیله غیره و .....
راستشو بخواین من کلا با این مایکروسافت و هرچی به اون ربط داره مشکل دارم.بیشتر دوست دارم برم سمت opengl و اینکه بدونم جاوا و یا پایتون چه قدرتی در کار با اوپن جی ال به من میده.
اگه در این مورد هم نکته ای رو بگید ممنون میشم(همین جاوا و پیتون).
سپاس.

amin.v
جمعه 01 آذر 1392, 22:37 عصر
اونوقت تو یه انجمنه دیگه ای من خوندم که این کتابخونه ها با اومدن xna دیگه از خیلی سال پیش کار نمیشه و مشکلات زیادی هم داره.

به احتمال زیاد اونجایی که میخوندید صحبت سره MDX بوده ، این کتابخونه سال 2002 فکر میکنم Discontinue شد.
xna هم همینطور از نسخه 4 دیگه Discontinue شد.
برا همین اگه قصد استفاده از DirectX توی C#‎ رو دارید یکی از اون 2 تا کتابخونه ای که خودت گفتی رو باید استفاده کنی .

اینکه چه API گرافیکی و زبانی رو انتخاب کنی بیشتر به سلیقه خودت مربوطه. مگر اینکه توی یه تیم کار کنی و مجبور باشی .

در مورد زبان برنامه نویسی همونطور که دوستان هم گفتند اکثر استودیو هایی که بازی AAA میزنن از C/C++‎ استفاده میکنن، اما گیم های ایندی و موفق زیادی هم هست که اتفاقا با C#‎ نوشته شده.
من خودم شخصا از زبان C#‎ خوشم میاد و برای کارهای low level هم زبان C

در مورد API گرافیکی برای C#‎ هم نسبتا انتخاب زیاد هست:

DirectX :
http://sharpdx.org/
http://slimdx.org/

OpenGL :
http://www.opentk.com/
http://sharpgl.codeplex.com/

جایگزین XNA :
http://monogame.net/
که برای خیلی از پلتفرم ها دارن port اش میکنن از جمله PS4

برای کار 2D هم :
http://www.sfml-dev.org/
که خیلی راحته

برای انجین های Irrlicht و OGRE هم Wrapper های زیر :
http://www.ogre3d.org/tikiwiki/MOGRE
http://sourceforge.net/projects/irrlichtlime/

باز اگه از هیچ کدوم از اینا خوشت نیاد میتونی برای Library هایی که با C یا C++‎ نوشته شدن خودت wrapper بنویسی. :چشمک:

orache
یک شنبه 10 آذر 1392, 00:22 صبح
سلام من یک سوال دارم در همین مورد البته خیلی وقته که انجین سازی رو گذاشتم کنار و تمرکزم سر بازی سازی هست (البته به علت داشتن کنکور دیگه زیاد پای کامپیوتر نیستم )
ولی یک سوالی برام پیش اومده
چرا هرچی اموزش از دایرکت ایکس هست همه با win api هست ؟؟ مگه نباید در جایی مثل qt یا ویژوال استادیو ساخته شه ؟؟ اصلا برای چی از وین ای پی ای استفاده میکنن کیوت تقریبا با همین ای پی ای ها درست شده درست نمیگم ؟؟ پس چرا مستقیما از کیوت استفاده نمیشه ؟؟
ممنون