درود مهمان گرامی! ثبت نام


امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
ابزار بازی سازی UDK
#1
معایب UDK :

- برنامه نویسی اسکریپت آن بصورت آفلاین compile می شود یا به عبارت دیگر با کوچکترین تغییری باید بازی بسته شده و دوباره آغاز گردد. در برنامه نویسی پروژه های بزرگ و مخصوصا برنامه نویسی هایی که در آنها State ها اهمیت ویژه ای دارند نظیر هوش مصنوعی چنین نقصی، نوشتن الگوریتم را غیر ممکن می سازد چرا که شما در حین یک وضعیت نامطلوب ( باگ ) مجبورید آنرا دیباگ کنید و با تغییر اسکریپت شرایط مرتفع شدن باگ را تست کنید، که این امکان بدلیل نیاز به compile برای اسکریپت غیر ممکن است. همچنین با وجود این نقص تولید کردن مجدد باگ هم معضل خواهد بود.

- استفاده از Kizmet برای برنامه نویسی، محدود و دارای ساختار نامناسبی است. تعریف Function و یا Instance از Sequence ها ممکن نمی باشد. عملا با این شرایط استفاده از Kizmet فقط در حد ساده توصیه می شود.

- UDK نسخه ای محدود از Unreal Engine 3 می باشد ولی با توجه به اهمیت این ابزار برای Unreal، امکاناتی نظیر Dynamic Water, Cloth, Ambient Occlusion, Fractal Objects و ... را به آن اضافه کرده اند. اما استفاده از این امکانات هزینه زیاد پردازشی را به سیستم تحمیل خواهد کرد که عملاً غیر قابل استفاده خواهد بود که در نکته های بعدی جداگانه مشکلات performance این ابزار را بیان خواهم کرد.

- برنامه نویسی Material یا به عبارتی Shader توسط ابزار Material Editor خود UDK بسیار آسان و جذاب است اما پشت پرده این ابزار ، کد بسیار طویلی برای Shader تولید شده که ناشی از فکر ماشینی این ابزار است و به هیچ عنوان Optimize نخواهد بود. این Shader فقط یک بار اجرا نمی شود بلکه برای هر Object -ی که Material آن از این Shader استفاده می کند، VertexShader به تعداد Vertex بار اجرا شده و به ازاء هر Pixel Shader به تعداد Pixel ای که در Screen قابل مشاهده است اجرا خواهد شد. و از آنجایی که حدودا 60FPS برای یک بازی مورد نظر است این اعداد به VertexCount*60 و در حالت دیگری به PixelCount * 60 تغییر می کند. بنابراین می توان مشاهده کرد که یک خط اضافی Shader چگونه می تواند سیستم را از کارایی مناسب بیاندازد. پیچیده ترین شیدر میرمهنا 50 خط کد دارد و این در صورتی است که ساده ترین شیدر UDK با احتساب Call Function ها حدود 100 خط کد دارد. و این یعنی فاجعه. از طرفی نوشتن این شیدر به دلیل فرم خاص آن و تبعیت نکردن از هیچ زبان استانداردی به صورت دستی و بدون استفاده از ابزار ممکن نیست.

- استفاده از Brush ها بدلیل عدم Instancing بسیار ناکارآمد هستند و توصیه نمی شوند. عدم استفاده از Brush محدودیت زیادی در کار با UDK پدید خواهد آورد.

- استفاده از Global Ilumination یا به عبارت دیگر Lightmass هزینه بسیار زیادی برای حافظه کارت گرافیک دارد. متاسفانه UDK و Unreal از سیستم UV بسیار پرهزینه ای استفاده می کنند و آن هم Generate کردن مجدد UV برای تمامی Mesh ها می باشد. این UV ها به عنوان Texture تولید و بر روی رم باقی می مانند. هنگام Render شدن به کارت گرافیک منتقل شده و برای استفاده از Material نیاز هستند. از طرفی به ازاء درخواست LightMass ، مپ دیگری بر اساس همان UV حاوی اطلاعات Baked Light تولید می شود. با این حساب عملا شما با حجم عظیمی از UV Texture و LightMass Texture طرف هستید که بار سنگینی به Video Memory تحمیل خواهد کرد.

- هیچ ابزار Profiling برای UDK وجود ندارد و امکاناتی نظیر Shader Debug, Performance, Code Metrics و ... قابل استفاده نخواهد بود.

- UDK قابلیت تولید ابزار در محیط خودش جهت ساده کردن مسائل Develop را در اختیار قرار نمی دهد و این در حالیست که برای تولید یک پروژه متوسط و بزرگ نیاز است که ابزار های منحصر به فرد نوشته شود.

- دمو هایی که در خود سایت UDK موجود است نشانگر ضعف UDK در توسعه هوش مصنوعی، استفاده از Shader، استفاده از امکانات ویژه نظیر Cloth, Fractal Objects و ... است. همچنین نشانگر عدم پیاده سازی Option برای بازی خواهد بود. در صورتیکه این Demo ها باید راه حلی برای معضلات باشد.

- سیستم Packaging دلخواه که لازمه هر بازی می باشد در آن غیر قابل استفاده است.

- استفاده از ابزار های CVS, و مدیریت پروژه در آن تعریف شده اما عملا کار نمی کند و کرش های فراوانی دارد نظیر مشکلات ناشی از بکارگیری Perforce و ... به همین دلیل استفاده از آن برای تیم بیش از 3 نفر ( کاربر UDK ) توصیه نمی شود.

- UDK در جمع ابزار مد سازی است و انجین تلقی نمی شود و از نظر بازار بین الملل هم بازی ساخته شده با آن یک مد تلقی می گردد.

- UDK دارای مشکلات کارایی فراوانی است و بسیار unstable است. محصول عرضه شده نباید دارای مشکلات نظیر این باشد و در صورت کم کاری تیم توسعه UDK می تواند محصول را دچار مشکلات فنی بسیار نماید.

- توسعه UDK در حد برطرف کردن اشکال پیش می رود و به افزایش امکانات و برطرف کردن مشکلات Performance اهمیتی نخواهند داد، چرا که این نواقص جزء لاینفک این ابزار می باشد.

- سیستم Path Finding مشکلات زیادی نظیر عدم شناسایی صحیح، عدم هدایت صحیح، عدم شناسایی Dynamic Obstacle دارد.

- سیستم Terrain Material بسیار هزینه پردازشی زیادی دارد و عملا استفاده بیش از 4 لایه Texture توصیه نمی شود.

- سیستم کنترل Option های بازی به هیچ وجه قابل پیاده سازی نیست و فقط می تواند در فایلهای Config تعریف شود. به عبارتی تنها تنظیمات Resolution, Gama, Keyboard, Sound قابل تغییر است و تغییراتی نظیر Object Detail, Texture Detail, FX Detail, خیلی مسائل دیگر در حین بازی قابل کنترل نخواهد بود.

- اشیاء تخریب پذیر در حجم نه چندان زیاد هزینه زیادی پردازشی را به بازی وارد می کنند.

- فیزیک پارچه هم پردازش زیادی دارد.

- استفاده از Dynamic Water بسیار هزینه پردازشی زیادی دارد.



محاسن UDK:


- رابط کاربری زیبا

- سیستم نورپردازی offline بسیار کامل با نتایج حیرت انگیز ( اما پر هزینه از نظر Video Memory )

- مجموعه از از Art Asset بازی Gears of war و Unreal Tournoment ( که متاسفانه دلیل محبوبیت ظاهری این انجین است. )

- سیستم انیمیشن بسیار بسیار قوی و غیر قابل تصور

- استفاده از Node Base Programming به نام Kizmet و استفاده از ابزار قوی تولید سینماتیک به نام Matinee

- ویدئو های آموزشی بسیار فراوان و با کیفیت، همچنین Community بسیار قوی

- ایجاد Shader های بسیار قوی ( اما خیلی بیشتر پر هزینه ) با استفاده از ابزار Node base

- ابزار بسیار کامل جهت طراحی سیستم ذرات

- استفاده از Middleware های معتبر مانند Speedtree، Scaleform، Bink

- بسیار مناسب جهت تولید بازی های کوچک

- امکان شبکه بسیار قوی

- امکان توسعه بازی برای سیستم iOS را نیز بخوبی پشتیبانی می کند.

- این انجین به سرعت در حال Update شدن است و امیدوارم نتیجه نهایی خوبی داشته باشد.



نتیجه گیری شخصی:

از نظر اینجانب، برای ساخت بازی های کوچک و آشنایی با بازی سازی کاملا توصیه شده، اما برای تولید بازیهای سطح متوسط و بزرگ به هیچ عنوان توصیه نخواهد شد مگر اینکه هیچ گزینه دیگری به عنوان موتور بازی وجود نداشته باشد یا اینکه قول و خبر مسائدی از Unreal برای برطرف کردن نواقص عظیم آن داده شود.

در مورد آخرین Demo انجین Unreal که با سه کارت گرافیک GTX 580 که هر کدام قیمت 499$ را دارند ( به باقی سیستم کاری نداریم ) رندر شده است. نکات بسیار قدرتمندی در آن دیده می شود اما بیش از این نکات فنی حیرت انگیز جلب توجه از جانب هنر بکارگرفته شده در تولید این Technical Demo می باشد، که باعث نمود این چنین حیرتی شده است. از طرف دیگری بسیاری از این تکنیک ها مربوط به DirectX 10, 11 هستند که Unreal آنرا ساپورت کرده است و این هنر بسیار عجیبی نیست. چون معمولا از DirectX 9 تاکنون در بازیهای استفاده شده و یا بینندگان با دستگاه های معمولی و یا معمولا با استفاده از Windows XP و در نهایت DirectX 9 بازیها را اجرا نموده اند ، تکنیک های جدید DirectX 10 و 11 را مشاهده نکرده اند و در چنین شرایطی، چنین دمویی عجیب به نظر می رسد، در صورتیکه افتخار از آن تولید کنندگان کارت گرافیک و همچنین شرکت Microsoft است که چنین امکاناتی را بصورت سخت افزاری تولید و بصورت نرم افزاری ( API ) مورد حمایت قرار می دهند.

با تشکر از
بهنام آقاجانی mwah
پاسخ
 سپاس شده توسط javidrayan ، nimaking
#2
داداش مثل اینکه تنت می خواره ها .
توی همون سایتی که این رو گرفتی اسم silsin رو ندیدی ؟ می خوای اینجا هم دعوا راه بیفته ؟
پاسخ
 سپاس شده توسط javidrayan
#3
(19/4/1390، 11:05 صبح)silsin نوشته است: داداش مثل اینکه تنت می خواره ها .
توی همون سایتی که این رو گرفتی اسم silsin رو ندیدی ؟ می خوای اینجا هم دعوا راه بیفته ؟
نه ندیدم. X(
http://www.uncocoder.com/index.php?optio...irectory=1
من توی این سایتی که رفتم فقط اسم آقای بهنام آقاجانی رو نوشته بود و من هیچ اسمی به نام slsin ببخشید silsin ندیدم. surprisedteeth
پاسخ
 سپاس شده توسط Majid ، javidrayan
#4
اینجاست

http://gamedeveloper.ir/forum/index.php?topic=8.0
پاسخ
 سپاس شده توسط imka ، javidrayan
#5
(19/4/1390، 12:37 عصر)AMIR REZAs نوشته است: اینجاست

http://gamedeveloper.ir/forum/index.php?topic=8.0
اینجا هم رفتم ولی اسمی از Silsin که نبود! surprised

(19/4/1390، 12:42 عصر)imka نوشته است:
(19/4/1390، 12:37 عصر)AMIR REZAs نوشته است: اینجاست

http://gamedeveloper.ir/forum/index.php?topic=8.0
اینجا هم رفتم ولی اسمی از Silsin که نبود! surprised
همونطور که گفتم من از http://www.uncocoder.com/index.php?optio...irectory=1 این مقاله رو آوردم اینجا و در همین منبعی که ذکر کردم فقط آخر مطلب نوشته : با تشکر ... بهنام آقاجانی
پاسخ
 سپاس شده توسط javidrayan
#6
(19/4/1390، 11:05 صبح)silsin نوشته است: داداش مثل اینکه تنت می خواره ها .
توی همون سایتی که این رو گرفتی اسم silsin رو ندیدی ؟ می خوای اینجا هم دعوا راه بیفته ؟
1 - رعایت ادب و احترام از قوانین فعالیت در انجمن ProMakers هست .
2 - مدیریت سایت و انجمن به هیچکس اجازه نخواهد داد که جو انجمن ها را متشنج کند .

امیدوارم دیگه شاهد چنین ارسال هایی نباشیم .

موفق باشـــــــــــید ...
پاسخ
 سپاس شده توسط imka ، javidrayan ، xmontazer
#7
دوستان این مقاله رو آقای بهنام آقاجانی نوشته و شما ( silsin ) اگه این مطلب رو خودتون نوشتید و آقا بهنام اونو توی وبسایت خودش گذاشته و اسمی از شما نبرده برید با خودش حرف بزنید. :>
پاسخ
 سپاس شده توسط Majid ، javidrayan
#8
نه اصلا مسئله این نیست اتفاقا مقاله مال آقای آقاجانی هست ولی یه سری انتقادهایی از مقالش توسط Silsin و چند نفر دیگه (خودمم بودم) شد که بحث طولانی تو نظرات بوجود اومد مجبور شدن یه انجمن بزنن که آدرسشو دادم
پاسخ
 سپاس شده توسط javidrayan
#9
(19/4/1390، 03:19 عصر)AMIR REZAs نوشته است: نه اصلا مسئله این نیست اتفاقا مقاله مال آقای آقاجانی هست ولی یه سری انتقادهایی از مقالش توسط Silsin و چند نفر دیگه (خودمم بودم) شد که بحث طولانی تو نظرات بوجود اومد مجبور شدن یه انجمن بزنن که آدرسشو دادم
خوب ببخشید. اصلاً چه ربطی به این آقا داره؟ ( ببخشیدا! ) من از مقاله آقا بهنام آقاجانی خوشم اومده و هیچ انتقادی هم ازش ندارم و خیلی هم ازشون به خاطر این مقاله متشکرم. mwah
دیگه این بحث رو ادامه ندید. wink

پاسخ
 سپاس شده توسط javidrayan
#10
خب برادر من این یه بحث طولانی داره شما اومدی اون مقاله پر شده از غلط و اشتباه رو کپی کردی من نمی گم کارت اشتباهه چون به قول خودت خوشت اومده ولی مقاله ای که غلط داره و اشتباهه رو نباید صرف اینکه خوشتون اومده یه جا کپی کنید . حرف من اینه نه اینکه من بخوام به شما بپرم که چرا مقاله کپی کردین .
(19/4/1390، 02:51 عصر)Majid نوشته است:
(19/4/1390، 11:05 صبح)silsin نوشته است: داداش مثل اینکه تنت می خواره ها .
توی همون سایتی که این رو گرفتی اسم silsin رو ندیدی ؟ می خوای اینجا هم دعوا راه بیفته ؟
1 - رعایت ادب و احترام از قوانین فعالیت در انجمن ProMakers هست .
2 - مدیریت سایت و انجمن به هیچکس اجازه نخواهد داد که جو انجمن ها را متشنج کند .

امیدوارم دیگه شاهد چنین ارسال هایی نباشیم .

موفق باشـــــــــــید ...

یعنی شما پیش خودت فکر کردی من می خوام دعوا راه بندازم؟surprised
شاید بهتر بود جلوی جملاتم از teeth استفاده می کردم .
پاسخ
 سپاس شده توسط javidrayan


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  ابزار حرکت از کار افتاده rasol_afkham 6 2,220 28/3/1393، 11:39 عصر
آخرین ارسال: rasol_afkham



کاربرانِ درحال بازدید از این موضوع: 1 مهمان