مشاهده نسخه کامل
: Kite2D Game framework - فریم ورک بازیسازی 2 بعدی
god of war 2
20-08-2015, 13:51
بعد از حدوده 2 سال کار مفيد نهايتا Kite2D به جايي رسيده که ميتونم در دسترس عمومي قرارش بدم و اميدوارم که مورد قبول گسترش دهنده ها به عنوان يک کار حرفه ايي قرار بگيره و کمک کنند تا پروژه ايراني موفقي تو اين زمينه پا بگيره.
در حال حاضر ورژن 1 هم بصورت کامپايل شده و هم بصورت سورس بر بستر Git قرار گرفته.
برای اطلاعات بیشتر به وبلاگ و بخش wiki پروژه مراجعه کنید.
وبلاگ پروژه:
kite2d.blog.ir ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
Wiki, Source, SDK:
bitbucket.org/MrMilad/kite2d ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
هرگونه سوالي داشتيد لطفا داخل انجمن مطرح کنید و اگر قصد همکاري در هر بخش و هر نوعي داشتيد در پيغام خصوصي يا با ايميل بنده به آدرس milad_rasaneh2000@yahoo.com تماس بگيريد.
lord arthas
21-08-2015, 00:24
بالاخره تموم شد ؟ من از زمان شروعش تو خرم سافت دنبال میکردم : دی
god of war 2
21-08-2015, 04:19
از ي نظر بله تموم شد يعني به ي سطح استاندارد و قابل استفاده ايي رسيد ولي از يه جهت ديگه اين تازه شروع كاره و اپديتها و امكانات جديد در راهن :-)
AMIR REZAs
21-08-2015, 12:56
نمونه کاری باهاش انجام شده ؟ در فکر یک نمونه کار خوب باشید
god of war 2
21-08-2015, 23:01
نمونه کار در حد معرفی امکانات یه چندتایی سورس آماده تو صفحه پروژه هست اما نمونه کار در حده یک بازی کامل خودش طبیعتا یه پروسه سنگینیه و من به تنهایی از پسش بر نمیام و فکر میکنم این به عهده گسترش دهنده ها و کاربرای فریم ورک باشه که امیدوارم با توجه به لایسنس LGPL و رایگان پروژه مورد حمایت قرار بگیره.
god of war 2
25-08-2015, 15:10
ورژن 1.0.4 منتشر شد. برای اطلاعات بیشتر به وبلاگ مراجعه کنید.
god of war 2
26-08-2015, 17:28
امروز ادیتور فریمورک رو پایه ریزی کردم هرچند که وقت کافی برای همزمان کار کردن روی ادیتور و فریمورک رو ندارم اما پایه های کارو ایجاد کردم تا اگر روزی شخصی قصد کمک تو این قسمتو داشت پایه های کار براش محیا باشه. (ادیتور با Qt ایجاد شده)
تصویر ادیتور:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
S.R Download
27-08-2015, 18:50
بهتون تبریک میگم پروژه جالبی هست !
god of war 2
30-09-2015, 18:58
تقریبا بعد از این مدت نسبتا طولانی(به دلایلی که میگم در ادامه) برای ورژن جدید, نسخه آزمایشی از فریمورک به همراه Reflection امکاناتی مثل Run-Time Reflection - Dynamic Property - Delegates - Automatic Serialization روی مخزن قرار گرفت. چون هنوز تو مرحله آزمایشی قرار داره این امکانات و ویژگیهای جدیدی قراره در نسخه های بعدی اضافه بشه من روی تمام کلاسهای فریمورک اعمالشون نکردم ولی بصورت اماده و کاملا سازگار با کلاسها قرار دارن و براحتی قابل استفاده هستن. با توجه به درخواست بعضی از دوستان انجینی با همین نام بر بستر فریمورک در حال ساخته که میشه گفت این امکانات بیشتر برای انجین پیاده سازی شدن. کلاسها به دوبخش Core و Engine تقسیم شدن و بخش Assist با Core تلفیق شد.
-----
دلیل طولانی شدن این نسخه حجم نسبتا زیاد کدهای اضافه شده و از اون مهمتر پیچیدگی مطلب و کمبود اطلاعات و رفرنس راجب پیاده سازی Reflection روی زبانی مثل ++C بود البته این ویژگی توسط کتابخانه های دیگه ایی مثل boost و ... تقریبا پشتیبانی میشه ولی من قصد ندارم dependency به کتابخانه بزرگی مثل boost داشته باشیم به همین دلیل تمام بخش Reflection از پایه و بدون هیچ dependency نوشته شده ولی در موارد مشابه کاملا با نمونه هایی مثل boost.serialization از نظر قدرت و انعطاف پذیری برابری میکنه که جولوتر راجبش صحبت میکتم. بیشتر امکانات این سیستم روی بستر C++ 11 بنا شده که برای کامپایل کد حتما باید کامپایلر سازگار با C++ 11 باشه ک الان تقریبا همه ی کامپایلر های معروف از این استاندارد پشتیبانی میکنند.
خوب ی توضیح کلی هم بدم راجب این امکانات برای دوستانی که علاقه مند هستن. بجز بخش delegate (که اصلا وظیفش چیز دیگس) بقیه بخشها در قالب یک MetaData سیستم عمل میکنند که اطلاعات مربوط به انواع داده ها رو در Run-time در اختیار برنامه قرار میدن.
بهترین و معمول ترین حالت پیاده سازی meta data (اگر نمونه های مشابه رو دیده باشین) استفاده از macro ها هست و یک سینتکس تقریبا جدید رو به کدها اضافه میکنه که البته خیلی ساده و روان هست برای کاربر, ولی در پشت صحنه پیچیدگی های زیادی از نظر دستوری (و نه از نظر performance) به وجود میاد از جمله استفاده شدید از template ها. وظیفه اصلی این بخش اینه که اطلاعات مربوط به انواع داده ها رو از مرحله compile-time به مرحله run-time انتقال میده و ویژگی های جالبی رو برای کلاسهای دیگه و حتی ابزار های دیگه مثل editor فراهم میکنه. برای مثال شما میتونید برای یک کلاس property تعریف کنید و به اون property توابعی رو نسبت بدید به عنوان setter و getter (که مشابه این امکان در زبانی مثل #C وجود داره) و این property توسط اسمش در قالب string قابل دسترسی هست در هر زمانی. یا حتی یک کلاس رو به همراه تمام عضوها(حتی اشارگرها) و والد ها (در حالت ارث بری) بصورت کاملا اتوماتیک serialize و deserialize کنید ویا عملیاتی مثل property animation رو ایجاد کنید(این امکان در نسخه بعد قرار میگیره) یا اطلاعات کامل راجب یک class/struct/enum و عضوهاش, روابط ارث بریش به همراه جزئیات کامل رو در run-time بررسی کنید (کاملا مورد نیاز توسط ادیتور) و ......
اینا نمونه ایی از امکاناتیه که بر پایه این سیستم میشه انجام داد و الان در فریمورک موجوده و فقط محدود به این بخش نیست. من برای نمونه کلاس KColor رو به این سیستم پورت کردم و میتونید داخل سرفایل kgraphicstructs.h نمونه ماکرو هارو ببینید.
اما راجب delegate یه توضیح مختصر بدم. این کلاس استفاده سنگینی از variadic template ها که با استاندارد C++ 11 معرفی شدن میکنه (البته نسخه بدون نیاز C++ 11 هم در کنارش وجود داره که پیشنهاد نمیشه) و بیشتر هدفم از اضافه کردن این کلاس رهائی از Function pointer های C style بود که واقعا تعریف چنین اشارگر هایی با اون حساسیت شدید به signature و امکان خطای بسیار زیاد کار طاقت فرساییه. البته نا گفته نماند که از نظر سرعت فرقی با Function pointer های سی ندارن.
داکمنت کلاسها ناقصه و در مواردی که کلاس در حال نوشتن بوده دائما تغییر کرده یا حذف شده. به همین دلیل باید بعد از نسخه stable بعدی کلا تمام داکمنتهارو بررسی کنم.
----
در نسخه جدید (که احتمالا با فاصله زمانی مشابه همین نسخه روی مخزن قرار میگیره) امکاناتی مثل Property Animation و Class Factory (که این قابلیتو به ادیتور میده که کاملا مستقل از انجین کار کنه) و Lua Binding (صرفا برای بخش engine) اضافه میشه.
---
سوال/پیشنهاد ـی داشتین خوشحال میشم مطرح کنید.
god of war 2
26-10-2015, 14:41
ابزار جدیدی برای پویش هدر ها (مشابه UHT در unreal 4) اضافه شده. توضیحات بیشتر در وبلاگ.
آدرس وبلاگ تغییر کرد.(پست اول)
god of war 2
06-05-2016, 18:35
ادیتور به همراه تغییرات دیگر و توضیحات به وبلاگ اضافه شد. آدرس پروژه به دلیل مسائل تحریم از بستر BitBucket به Assembla تغییر کرد (توضیحات جزئی داخل وبلاگ).
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
god of war 2
11-11-2016, 20:04
تا پایان جشنواره تقریبا 8 روز مونده دوستانی که اطلاع نداشتن حتما شرکت کنن تا تموم نشده.
پیج ما ,در جشنواره ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
از قسمت "دانلود فناوري" هم ميتونيد انجينو دانلود كنيد و تست كنيد كه يك پروژه اماده هم داخلش موجوده براي تست.
داخل وبلاگ هم معمولا براي هر قابليت جديد يك نمونه براي تست ميزارم.
Elendil1
14-11-2016, 12:11
تا پایان جشنواره تقریبا 8 روز مونده دوستانی که اطلاع نداشتن حتما شرکت کنن تا تموم نشده.
پیج ما ,در جشنواره ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
از قسمت "دانلود فناوري" هم ميتونيد انجينو دانلود كنيد و تست كنيد كه يك پروژه اماده هم داخلش موجوده براي تست.
داخل وبلاگ هم معمولا براي هر قابليت جديد يك نمونه براي تست ميزارم.
واقعآ آفرین ، پروژه ی خیلی خوبیه ، کم تر شده همچین کارایی بین ایرانیا دیده بشه
Dream Walker
17-11-2016, 10:54
چرا با github کار نمیکنید؟ چندین هزار ایرانی مشتاق در github داریم.
god of war 2
17-11-2016, 12:12
چرا با github کار نمیکنید؟ چندین هزار ایرانی مشتاق در github داریم.
پروژه در github هم هست
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
اما از نظر امكانات با assembla راحتترم و فعاليت اصليمو روي assembla انجام ميدم.
Dream Walker
20-11-2016, 02:43
تبریک میگم ، بسیار عالیست ، مطمئنن در جشنواره یکی از جوایز متعلق به این اثر نفیس است.
میتونم بپرسم از sdl برای چه موردی استفاده کردید؟ در سورس اثری از sdl ندیدم و تمام کار هارو مستقیما خودتون با gl انجام داده بودید ولی در فایل کامپایل شده sdl همراهش بود.
پاینده باشید...:V12:
god of war 2
20-11-2016, 12:24
میتونم بپرسم از sdl برای چه موردی استفاده کردید؟ در سورس اثری از sdl ندیدم و تمام کار هارو مستقیما خودتون با gl انجام داده بودید ولی در فایل کامپایل شده sdl همراهش بود.
پاینده باشید...:V12:
درسته براي ترسيمات مستقيما از خود opengl استفاده شده و از sdl فقط براي بخش ورودي (mouse, keyboard, joystick, tuch screen) و ساخت gl context استفاده شده و داخل سورس هاي بخش input و window موجوده.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.