Contacts
صفحه اصلی پورتال | صفحه اصلی تالار | ثبت نام | اعضاء | گروه ها | جستجو | پرسش و پاسخ | فروشگاه الکترونیکی | خرید پستی بازی های کامپیوتری





صفحه اول انجمنها -> اصول اولیه در طراحی بازیهای کامپیوتری -> موتور e بازي
 

ارسال يك موضوع جديد   پاسخ به يك موضوع ديدن موضوع قبلي :: ديدن موضوع بعدي
برو به صفحه قبلي  1, 2

نويسنده
پيغام
voldemort
مدیر انجمن
مدیر انجمن


تاريخ عضويت: 4 شنبه 24 تير 1383
تعداد ارسالها: 392
محل سكونت: تهران


2 شنبه 26 بهمن 1383 - 19:32
پاسخ بصورت نقل قول
کاری که شما می خواید انجام بدید روش مستقیم و دقیقی نداره.
فایلهای DLL معمولا اسامی توابع داخل خودشون را بعنوان Type Library بصورت Resource دارن. بنابراین در اینطور موارد با استفاده از از بعضی Resourcer ها می تونید اسامی این توابع رو استخراج کنید. خیلی راحت می تونیم نتیجه بگیریم که Dll هایی که ساختار اونها به این شکل نیست را نمی تونیم با استفاده از Resource ها به توابع اونها دسترسی پیدا کنیم. به عنوان مثال Dll هایی که با استفاده از Visual Basic مس سازید جزو این نوع Dll ها هستن. اگه یه Dll ساخته شده با VB را با این برنامه ها باز کنید فقط لیست یه سری توابع رو می بینید که خود سیستم عامل توانایی اجرای اونها را داره و از این توابع برای دسترسی به توابع اصلی استفاده می کنه.

دو سه سال پیش یه نرم افزار عجیب و غریب دیدم که علاوه بر لیست کردن نام توابع درون Dll ها توانایی جابجا کردن توابع داخل اونها را هم داشت. اسم این نرم افزار Function Replacer بود که می تونید با یه سرچ کوچولو پیداش کنید.

یه چیزی می گم یه کم بخندیم. به کسی نگید ولی شما خیلی راحت با باز کردن یه فایل Dll داخل ویرایشگر متنی و بررسی متون اجق وجق می تونید لیست توابع را پیدا کنید! به همین راحتی.

تا حالا من هیچ راهی به جز روش سعی و خطا برای پیدا کردن Prototype توابع موجود در Dll ها پیدا نکردم. روش سعی و خطا هم بستگی به خلاقیت خودتون داره! (به عنوان مثال: هر وقت که خطایی در موتور Unreal بوجود بیاد در گزارش خطایی که برای اون خطا ساخته میشه ضمن نام تابعی که خطا در اون اتفاق افتاده، Prototype اون تابع را هم در گزارش خطا ذکر می کنه). اگه کسی در این زمینه اطلاعاتی داره به ما هم بگه.

_________________
First they ignore you;then they laugh at you ;then they fight you ;then you win
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
ramin_zaghi
در حال رشد
در حال رشد


تاريخ عضويت: 1 شنبه 19 تير 1384
تعداد ارسالها: 33


1 شنبه 19 تير 1384 - 21:39
پاسخ بصورت نقل قول
سلام،

در جواب اینکه موتور یا Engine چی هست :

برنامه نویسی، طراحی و تغییر بازی های کامپیوتری به قدری پیچیده، پر هزینه و زمان گیر شده که امروزه شرکت های تولید کننده برای ارائه محصولاتی با کیفیت قابل قبول، مجبور هستند تا جایی که ممکن هست یا در یکی از این زمینه ها فعالیت کنند ویا هر کدوم از این بخش ها رو به شکلی که با سیاست و بودجه شرکت سازگار هست، به زیر گروه ها و یا بخش های جراگانه ای محول کنند. از همین جا بود که کم کم تو دهه ی 90 برنامه نویسی و طراحی کاملا از هم جدا شد. موتور ها یا Engine ها در واقع نرم افزار هایی زاییده ی همین روند هستند که بر اساس سیاست های تولید کننده تا درجه ای به صورت انتزاعی (Abstract) طراحی و نوشته می شند. انتزاعی بودن یعنی نرم افزار قادر هست تا با دریافت ورودی های متفاوت و کمی تغییرات، هر بار به صورت سفارشی برای یک پروژه جدید عملکرد مناسبی رو ارائه بده. البته معمولا این عملکرد در یک زمینه خاص هست. مثلا موتوری برای بازی های FPS سه بعدی یا موتوری برای بازی های RolePlaying و به همین منوال.

برخی از مزایای استفاده از موتور ها ( البته تا حدودی با توجه به مسائل مهندسی نرم افزار) عبارتند از:
1- یک بار تولید، چند بار استفاده.
2- در آمد زایی فقط از فروش موتور، آموزش موتور و...
3- برخورد تخصصی و ارتقاء کیفی بازی از نظر بهینگی عملکرد نرم افزار
4- قابلیت ارتقاء امکانات و مشخصات فنی بازی ها از طریق Patch ها و DLL ها و PlugIn ها که این قابلیت، امکان سازگاری بازی ها را با سخت افزار های روز به وجود می آورد.
5- ایجاد بازارهای جدید از طریق توليد MOD که در واقع به پیاده سازی داستان ها، مراحل و گاهی سبک های جدید بدون نیاز به برنامه نویسی اساسی به شکل اولیه گفته می شود. MOD ها به موتور الصاق می شوند تا موتور آنها را به اجراء در آورد.
6- و بسیاری از موارد و مزایای دیگر...

بد نیست بدونيد که موتور های خوب همراه با نرم افزار ها و SDK ها و اسناد آموزشی جانبی ارائه می شوند. ازمهمترین نرم افزار های جانبی یک موتور نرم افزار های ویرایش مرحله يا Level Editor ها هستند که علاوه بر تولید محيط ها برای موتور مربوطه، قالب ها يا فرمت های شناخته شده توسط موتور رو نیز تولطد می کنند...

رامین
igdmag.com
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

نويسنده
پيغام
ramin_zaghi
در حال رشد
در حال رشد


تاريخ عضويت: 1 شنبه 19 تير 1384
تعداد ارسالها: 33


1 شنبه 19 تير 1384 - 21:40
پاسخ بصورت نقل قول
منتظر جوابم...
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

نويسنده
پيغام
kimia
در حال رشد
در حال رشد


تاريخ عضويت: 1 شنبه 4 دي 1384
تعداد ارسالها: 71
محل سكونت: بهشهر


شنبه 20 اسفند 1384 - 08:00
پاسخ بصورت نقل قول
اسحاق نوشته:
برو اينجا:
http://forums.bazidot.com/viewtopic.php?t=842&start=0


اين كه پسورد مي خواد !
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

نويسنده
پيغام
mory
مدیر انجمن
مدیر انجمن


تاريخ عضويت: 3 شنبه 3 خرداد 1384
تعداد ارسالها: 1187


1 شنبه 21 اسفند 1384 - 03:56
پاسخ بصورت نقل قول
دوستان توضيحات كاملي دادند حرف خاصي نموند .

نقل قول:

1- یک بار تولید، چند بار استفاده.


اين يكي از بارز ترين و مهم ترين ويژگي هاي يك موتور بازيه .مثلا در مورد موتور ++GM كه موتور بازي "نجات بندر"ه بايد بگم فقط همين خصوصيتشه كه خودنمايي ميكنه .

پس اگه خواستيد يك سري بازي بسازيد بهتره يك موتور طراحي كنيد كه هميشه بر اساس اون كار كنيد . و يا اينكه يك موتوري انتخاب كنيد كه خواسته هاتون رو بر آورده كنه .

_________________
و مهم نيست كي پنيرتو دزديده قورباغتو قورت بده .

ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
Kochol
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: شنبه 1 مرداد 1384
تعداد ارسالها: 298


1 شنبه 21 اسفند 1384 - 22:41
پاسخ بصورت نقل قول
يه قابليتي ديگه هم داره اينه كه مثلا اگه دايركت ايكس جديد اومد اون لازم نيست تغييري تو سورس برنامش بده تا با دايركت ايكس 10 كار كنه و فقط بايد منتظر بشينه كه انجين با اين قابليت هم بياد
البته من منظورم همه dll ها هست نه انجبن ها.

_________________
Kochol Game Engine

[img]http://barnamenevis.org/forum/image.php?type=sigpic&userid=6875&dateline=1258101798[/img]
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
salmanp
کاربر جدید
کاربر جدید


تاريخ عضويت: 5 شنبه 10 فروردين 1385
تعداد ارسالها: 3
محل سكونت: تهران


5 شنبه 10 فروردين 1385 - 02:11
پاسخ بصورت نقل قول
نقل قول:

كسي ميتونه توضيح بده موتور بازي دقيقا چيه و چه وظايفي بر عهده داره؟


در واقع دوستان درباره ي موتور توضيح دادند.علاوه بر چيز هايي كه گفته شد اين ها رو
هم من اضافه ميكنم.
يك بازي سه بعدي در واقع از يك سري مدل ها. يك سري انيميشن هاويك سري قوانين حاكم بر محيط و داستان بازي تشكيل ميشه.حالا در هر فريم از بازي ما همه ي اين چيز ها رو داريم و ميخواهيم كه فريم بعدي رو نشون بديم.در واقع موتور بازي اون نرم افزاريه كه اين اطلاعات رو ميگيره و با توجه به اونها مدلها يي (مثلث هايي) كه بايد نشون داده بشوند رو به كارت كرافيكه . ميفرسته

_________________
مقاومت يك زنجير به اندازه ي ضعيف ترين حلقه است
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نمايش نامه هاي ارسال شده قبلي:   
ارسال يك موضوع جديد   پاسخ به يك موضوع    صفحه 2 از 2 تمام ساعات و تاريخها بر حسب 3.5+ ساعت گرينويچ مي باشد
برو به صفحه قبلي  1, 2


 
پرش به:  


شما نمي توانيد در اين انجمن نامه ارسال كنيد.
شما نمي توانيد به موضوعات اين انجمن پاسخ دهيد
شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن ويرايش كنيد
شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن حذف كنيد
شما نمي توانيد در نظر سنجي هاي اين انجمن شركت كنيد


unity3d

بازگردانی به فارسی : علی کسایی @ توسعه مجازی کادوس 2004-2011
Powered by phpBB © 2001, 2011 phpBB Group
| Home | عضويت | ليست اعضا | گروه هاي كاربران | جستجو | راهنماي اين انجمن | Log In |