PDA

نسخه کامل مشاهده نسخه کامل : موتور دو بعدی Dream Engine



dragonboy
19-07-2012, 20:54
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
به نقل از تیم برنامه نویسان تیم دریم فکتوری
آقای ماهان هشمتی مقدم
.....
سلام. اول این مطلب رو بگم که اسم فعلی این موتور هنوز ثابت نیست برای اینکه توی تیم Dream Factory انجین دیگه ای هم با همین نام در حال ساخت هست. از اونجا که کار ما دو بعدی هست بیشتر تمرکز ما هم برروی ساخت محتوای دو بعدیه. این انجین یه انجین دوبعدی نوشته شده در ++C و با استفاده از DirectX 9.0 عملیات ترسیم رو انجام میده. ادیتور انجین با #C نوشته شده.
این برای ما یه تجربه جدیده که بخوایم پروژه های بعدی خودمون را با یک انجین که ساخته خودمون هست شروع کنیم. از اونجایی که Game Maker توی کارهای بزرگ آدم رو بیچاره میکنه، دلیل استفاده از این انجین رو بیشتر میکنه.
تقریبا میشه گفت که روی انجین حدود 2 ماه داره کار میشه و ماژول های Graphic, Audio, Input روش تعبیه شده. در حال حاضر توسعه انجین همراه یک بازی کوچیک داره انجام میشه که بشه بهتر نتیجه گرفت. قصد انتشار عمومی برای این انجین نداریم ولی شاید یکروزی ما هم مثل Epic شروع به فروختن کنیم .
جریان یا flow خود انجین در chart زیر کشیده شده:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
یه نمونه برنامه با DreamENGINE اینطوری شروع میشه:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
از اونجا که انجین های امروزی خیلی پیشرفته شدن ما هم باید ویژگی هایی رو اضافه کنیم که کم نیاریم. یکی از ویژگی های خوب که توی بازی Rayman: Origins هم استفاده شده Boning هست که برای sprite های دو بعدی استخوان بندی میکنه و میشه از اونها انیمیشن ضبط کرد. ویژگی خاص دیگه فعلا مد نظر من حداقل نیست چون یه انجین دو بعدی زیاد بازده وسیعی نداره.
این تاپیک هم جهت اعلام پروسه ساخت زده شده و صرفا جنبه اطلاع رسانی داره. در آینده نزدیک تصویر هایی رو از خروجی انجین میذارم.
ممنون.

S.R Download
20-07-2012, 11:02
خیلی خوبه !!!!

Expert32
20-07-2012, 19:50
سلام.
خوبه.فقط اگر یک تصویر از ادیتور هم بزارید دیگه عالیه:10:

ehsan_wwe
21-07-2012, 09:30
خیلی خوبه فقط شما که دارید انجام میدید به نظرتون حرفه ای تر نبود اگه رو openGL کار میکردید که بعدا بازی هاتون به ویندوز محدود نشه ؟ میدونی که الان میگن فقط 38 درصد از کامپیوتر های دنیا از ویندوز استفاده میکنن که این رقم رو به کم شدنه

opengl به موبایل هم میتونی باهاش خروجی بدی


راستی خیلی کار سختی هست به برنامه نویستون شدید خسته نباشید از سمت من بگید

با آرزوی موفقیت

dragonboy
21-07-2012, 15:12
سلام.
خوبه.فقط اگر یک تصویر از ادیتور هم بزارید دیگه عالیه:10:
عزیزم تازه کار ساختش شروع شده و هنوز به حدی نرسیده که بشه تصویری از ادیتور یا محیطش نشون داد فعلا باید صبر کنید


خیلی خوبه فقط شما که دارید انجام میدید به نظرتون حرفه ای تر نبود اگه رو openGL کار میکردید که بعدا بازی هاتون به ویندوز محدود نشه ؟ میدونی که الان میگن فقط 38 درصد از کامپیوتر های دنیا از ویندوز استفاده میکنن که این رقم رو به کم شدنه
opengl به موبایل هم میتونی باهاش خروجی بدی
راستی خیلی کار سختی هست به برنامه نویستون شدید خسته نباشید از سمت من بگید
با آرزوی موفقیت
احسان جان راستش چون من تنها گرافیست تیم هستم اطلاعات زیادی از نحوه کار انجین و ساختش ندارم اما من به بچه ها این مقوله رو گوشزد کردم که میخوام روی پلتفورمهای دیگه هم بشه فایل استخراجی رو پورت کرد بنابراین فکر کنم خودشون میدونن چیکار دارن میکنن در هر صورت ممنون

M0hsen3D
21-07-2012, 17:05
سلام
اگه میخوایین Multi platform باشه پس چرا از DirectX 9.0 دارین استفاده میکنین؟ اگر هم براتون مهم نیست چند سکویی باشه پس بهتره برای یه انجین 2D از XNA استفاده کنین که خیلی برای ساخت انجین کار رو براتون آسون میکنه به اضافه اینکه علاوه بر PC برای XBOX و Windows Phone 7 هم خروجی میده.

Expert32
21-07-2012, 19:24
سلام. اول این مطلب رو بگم که اسم فعلی این موتور هنوز ثابت نیست برای اینکه توی تیم Dream Factory انجین دیگه ای هم با همین نام در حال ساخت هست.
الان که مطلبو دوباره خوندم متوجه شدم شما دارید همزمان روی دو تا انجین کار میکنید!!:18:چرا؟
شرکتهای بزرگ هم با کلی سرمایه و نیرو هیچوقت همچین کاری نمیکنند یعنی بیان روی دو تا انجین که هرکدوم ساختش کلی کار میبره کار کنند تا در آخر بخوان یکی رو انتخاب کنند.
البته ممکنه که دو انجین برای دو سبک کاملا متفاوت نوشته بشه که باز اون هم شامل یک هسته هست یعنی عملیات گرافیکی و ورودی و ... توسط یک هسته انجام میشه و فقط توابع سطح بالا با هم متفاوت هست. ولی اینطور که معلومه شما دارید توابع سطح پایینو مینویسید که نوشتن دو تا همزمان کار درستی نیست و موازی کاری بحساب میاد.

ehsan_wwe
21-07-2012, 20:16
میخای یه بار دیگه به بچه های تیمت یاد آوری کن
direct x رو ماکروسافت ساخته فقط محصولات ماکروسافتی فعلا از لایبراری های گرافیکیش استفاده میکنن
یعنی میشه رو ویندوز موبایل (احتمال کم ) ویندوز - و ایکسباکس خروجی داد اما بجر اینا غیر ممکنه که بشه - چون بقیه از opengl استفاده میکنن

راستی دلخور نشی از نحوه حرف زدنما ( گفتم تا زیاد جلو نرفتین انجین رو دردسر دار نشین )
راستی اگه به این سه تایی که بالا گفتم این دوستمون Mohsen3d گزینه خوبی رو گفتن xna خوبیش اینه که یه انجین نصفه کارس براتون تازه کامپیایلش برای windowsmobile و XBOX اسون تره

dragonboy
22-07-2012, 12:04
سلام
اگه میخوایین Multi platform باشه پس چرا از DirectX 9.0 دارین استفاده میکنین؟ اگر هم براتون مهم نیست چند سکویی باشه پس بهتره برای یه انجین 2D از XNA استفاده کنین که خیلی برای ساخت انجین کار رو براتون آسون میکنه به اضافه اینکه علاوه بر PC برای XBOX و Windows Phone 7 هم خروجی میده.

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


میخای یه بار دیگه به بچه های تیمت یاد آوری کن
direct x رو ماکروسافت ساخته فقط محصولات ماکروسافتی فعلا از لایبراری های گرافیکیش استفاده میکنن
یعنی میشه رو ویندوز موبایل (احتمال کم ) ویندوز - و ایکسباکس خروجی داد اما بجر اینا غیر ممکنه که بشه - چون بقیه از opengl استفاده میکنن

راستی دلخور نشی از نحوه حرف زدنما ( گفتم تا زیاد جلو نرفتین انجین رو دردسر دار نشین )
راستی اگه به این سه تایی که بالا گفتم این دوستمون Mohsen3d گزینه خوبی رو گفتن xna خوبیش اینه که یه انجین نصفه کارس براتون تازه کامپیایلش برای windowsmobile و XBOX اسون تره

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

dragonboy
24-07-2012, 11:53
اطلاعات تکمیلی انجین
اطلاعات
ورژن فعلی: 1.0.0.0 alpha
مدت کار بر روی انجین: 2 ماه
نوشته شده در: ++C
کامپایلر: ++Visual C
ادیتور نوشته شده در: #C
ویژگی ها
Graphical API: DirectX 9.0c June 2010
Audio: irrKlang 1.3.0
Input: DirectInput 8
بروز رسانی
1- انجین در حال حاضر فقط قابلیت خروجی دادن بر روی Windows رو داره. نسخه های پشتیبانی شده هم XP, Vista, Seven هست. تو یکی از فروم ها شنفته بودم که یکی گفته کد نویسی انجین خیلی ساده هست. باید در جواب بگم که خوب کد نویسی انجین ساده نیست! ما ساده اش کردیم. این قالب نمونه ای که گذاشتم یک interface خیلی ساده شده است و به developer این امکان رو میده که Rapid Development رو تو زبونی مثل ++C تجربه کنه. در ساخت Editor هم بیشتر سعی میشه از قالب Game Maker فرار کرد ولی ایده های خوبش رو توی کار اضافه میکنیم.
2- در حال حاضر منابع Sprite, Sound, Object, Font در موتور طراحی شده. از اونجا که الآن پروژه داره توسط یک Mini Game توسعه داده میشه، نسبت به خواسته های بازی منابع و تکنولوژی های مورد نظر وارد انجین میشه. سیستم مدیریت محتوا کاملا انعطاف پذیره. در حال حاضر برای تشخیص برخورد و یا ایجاد شتاب برای اشیاء از فرمول های معمولی دبیرستان استفاده میشه! و موتور فیزیکی داخل انجین هنوز وارد نشده. بزودی این Mini Game رو تو همین تاپیک قرار میدم. راستی، من اطلاعات اضافی رو پاک کردم از تاپیک که اینطوری اطلاعات جامع تر بشن.

Expert32
24-07-2012, 14:26
کامپایلر: ++Visual C
ادیتور نوشته شده در: #C
ویژگی ها
Graphical API: DirectX 9.0c June 2010
Input: DirectInput 8

اما من به بچه ها این مقوله رو گوشزد کردم که میخوام روی پلتفورمهای دیگه هم بشه فایل استخراجی رو پورت کرد
پس با این حساب باید قید خروجی رو پلتفرم های دیگه رو بزنید!
راستی Audio: irrKlang هم لایسنز تجاری داره که باید پرداخت کنید.
---------
معمولا انجینهای دو بعدی امروزی بر پایه کتابخانه های آماده مالتی پلتفرم بنا میشن و کمتر پیش میاد که یک تیم از پایه خودش توابع سطح پایین رو بنویسه و بنظرم وقتی یک کتابخانه آماده با کلی امکانات و رایگان و از همه مهمتر تست شده توسط هزاران نفر موجود هست نوشتن توابع سطح پایین کار زیاد جالبی نیست.
منتظر اطلاعات بیشتر هستیم.موفق باشید

dragonboy
24-07-2012, 14:55
نمیدونم چرا پیج دوم این تایپیک رو نمیتونم بیارم:13:

Expert32
24-07-2012, 15:45
فروم قاطی کرده.آخرین پست برای من بود ولی نمیدونم چرا پاک شده!:18:
در کل میخواستم بگم که با این حساب (ابزار هایی که استفاده کردید) باید قید خروجی روی چند پلتفرم رو بزنید.
و کتابخانه irrKlang هم لایسنز تجاری داره که باید پرداخت کنید.
منتظر خبرهای بیشتر هستیم. موفق باشید.

dragonboy
25-07-2012, 18:31
اولین خروجی از انجین انتشار پیدا کرد و در زیر هم میتونید مشاهده کنید. از اونجا که طراحی و نوشتن انجین زمان و هزینه بر هست همیشه کار بیشتر از اونچیزی که خود آدم فکر میکنه طول میکشه. تو ایران هم که دانش اینکار خیلی کمه و افراد کمی میرن سمتش، خیلی سخت تر میشه چون باید خودت تجربه کسب کنی. با این حال که یه خروجی Stable از انجین گرفته شده باید بگم که یه 300، 400 تایی بازبینی باید انجام بشه تا بشه به اولین ورژن Stable خود انجین رسید. به هرحال بعد از این خروجی ما روی کامل کردن انجین کار می کنیم و فکر کنم خبری ازش نشه تا زمانی که تغییرات اساسی توش انجام بشه و یا اینکه کار به اتمام برسه. در کل پروسه کار همینجا اطلاع داده میشه. ممنون.
اولین خروجی از انجین:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
بازی Seaquest اولین خروجی موتور DreamENGINE هست. برای نصب کردن بازی به لینک زیر رجوع کنید و برای مطلع شدن از سیستم مورد نیاز، کنترل ها و رویه بازی به فایل ReadMe بعد از نصب مراجعه کنید.
من فایل های Runtime رو کنار خود بازی قرار دادم ولی برای اینکه مطمئن بشید که بازی اجراء میشه به لینک نسخه Redistribute کتابخونه DirectX و ++C که در پایین هست سر بزنید و اینکه بازی در حالت Debug کامپایل شده ولی نگران سرعت اجراء نباشید.
بازی Seaquest:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
DirectX 9 Redist Package Jun 2010:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
MS Visual C++ 10 Redist:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

ehsan_wwe
26-07-2012, 08:38
سلام بازی قشنگی شده بود نرمی حرکتیش خیلی خوب بود حجم زیادش مشکلش بود ( که فک میکنم بخاطر اسپرایت های شبیه همته رو ریسورس - xscale هات )
انتظار داشتم این بازی در حد 1 تا دو مگ باشه با انجینی که خودتون ساختین
اما کلی خوب بود
کلی انرژی مثبت خلی حرکت خوبی زدین موفق باشید