PDA

View Full Version : GameEngine Clach of Clans



abbasi.naft
دوشنبه 17 فروردین 1394, 22:25 عصر
سلام
دوستان اطلاعی دارند که این بازی با چه انجینی طراحی و کد شده ؟ (نسخه اندروید و نسخه ios)
نگارش سمت سرور
و نگارش سمت کلاینت

با تشکر

storm_saeed
دوشنبه 17 فروردین 1394, 22:36 عصر
سمت کلاینت
خودشون از بیس با زبان های c++/objective c زدن
سمت سرور جاوا

abbasi.naft
سه شنبه 18 فروردین 1394, 00:26 صبح
سمت کلاینت
خودشون از بیس با زبان های C++‎/objective c زدن
سمت سرور جاوا
ممنون
منم اینها رو توی وب نگاه کردم.
با جاواش مشکلی ندارم اما
چطوری با C همچین هنرنمایی ای کردند ؟؟؟؟؟؟
3D با C ؟؟؟؟

storm_saeed
سه شنبه 18 فروردین 1394, 00:48 صبح
با c++ نه c
با غیر از cpp میزدن که انقد بازیشون سریع نمیشد :دی بخش ارتباط با opengl es کلا با cpp هست
کلش 3d نیس ۲.۵ بعدیه

abbasi.naft
سه شنبه 18 فروردین 1394, 01:00 صبح
با C++‎ نه c
با غیر از cpp میزدن که انقد بازیشون سریع نمیشد :دی بخش ارتباط با opengl es کلا با cpp هست
کلش 3d نیس ۲.۵ بعدیه
شرمنده مهندس که سطح سوالم مبتدیه.
مگه موتورهای بازی مثل unity بر پایه ++C نیستند ؟
یعنی از پایه تمام کارها رو خودشون زدند ، بدون هیچ موتوری ؟
مگه موتورهای بازی سرعت مناسبی ندارند ؟
من هنوزم متوجه نمیشم که گرافیکش رو چطور پیاده سازی کردند ؟
2.5 بعدی ؟ یعنی چی ؟
شرمنده مهندس که هنگ هستم.

ممنون

storm_saeed
سه شنبه 18 فروردین 1394, 01:14 صبح
چرا همه انجین های موجود به غیر از تعداد کمی از cpp تو هسته انجین استفاده میکنن
یونیتی هم بر پایه cpp هست
اینجور بازی ها زدنش خیلی سخته و زدن همچین بازی ای تو انجینی مثل یونیتی کار رو دوبرابر سخت تر میکنه (از لحاظ پرفرمنس) چون که شما دسترسی به بخش رندر نهایی نداری شما اسکریپت رو مینویسی و نحوه ی رندر شدنش بر عهده انجینه
بخاطر همین سوپرسل اومد یه انجین شخصی سازی شده خودش رو زد تا بتونه بهترین پرفرمنس رو داشته باشه . درواقع زدن انجین خیلی کار سختی نیست مثلا Libgdx یه فریم ورک بازی سازی تحت جاواس که پرفرمنسش ده ها برابر از یونیتی قوی تره با اینکه جاوا بیسه ولی چون دسترسی نزدیک تر به opengl داری و کارهای رندر کردنش به عهده cpp هس خیلی پرفرمنس رو بالا میبره

۲.۵ بعدی یعنی به صورت ایزومتریک بهت داره نشون میده در واقع از تکنیک های ۲ بعدی برای ساختن اینجور بازی ها داره استفاده میشه

موتورهای بازی سرعت خیلی خوبی دارن (به غیر از یونیتی :دی) ولی نکته مهم اینه هدف اصلیشون بازی های سه بعدی چون مفاهیم و مباحث تو بازی های سه بعدی بسیار زیاده و از اول زدنش عملا وقت تلف کردنه و چون هدف اصلیشون سه بعدی تو بعضی مواقع ۲ بعدی زدن سخت میشه و اکثرشون هم خوب خروجی موبایل نمیدن یا یه سری امکانات مثل پرداخت درون برنامه ای وسینک با گوگلو چیزهای دیگه پیاده سازیش سخته

abbasi.naft
سه شنبه 18 فروردین 1394, 07:19 صبح
خیلی ممنون از جوابتون.

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

storm_saeed
سه شنبه 18 فروردین 1394, 10:39 صبح
خیلی ممنون از جوابتون.

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

بستگی داره اگه میخواین سریع به محصول برسین یونیتی البته سطح کیفیت نسبتا میاد پایین
ولی باز به کلی فاکتور بستگی داره به تخصص تیم توسعه دهنده , کراس پلتفرم بودن یا نبودن , حداکثر زمان نیاز برای ساختن بازی و ...
اگه c++ بلد باشین cocos2d-x و unreal engine بهترین هستن اگه java بلد باشین libgdx بهترینه

abbasi.naft
سه شنبه 18 فروردین 1394, 20:16 عصر
بستگی داره اگه میخواین سریع به محصول برسین یونیتی البته سطح کیفیت نسبتا میاد پایین
ولی باز به کلی فاکتور بستگی داره به تخصص تیم توسعه دهنده , کراس پلتفرم بودن یا نبودن , حداکثر زمان نیاز برای ساختن بازی و ...
اگه C++‎ بلد باشین cocos2d-x و unreal engine بهترین هستن اگه java بلد باشین libgdx بهترینه
ممنون از راهنمایی تون.
صحبت من سر تیم توسعه دهنده نیست.
منظور من تصمیم شما به عنوان مدیری هست که هم منابع مالی خوبی داره و هم میتونه بر اساس انتخابش بهترین تیم رو جمع بکنه.
پس با توجه به پیش فرض جدید ، انتخابتون
1)unreal Engine
2)libgdx
3)Other

// هدف قطعا خروجی با کیفیت و با سرعت در اندروید هست //
ممنون از اینکه در این بحث شرکت کردید.

storm_saeed
پنج شنبه 20 فروردین 1394, 19:57 عصر
کلا من با توجه به همه شرایط اینا رو انتخاب میکنم:
اگه هدف بازی دوبعدی باشه libgdx بعد cocos2d
اگه هدف بازی سه بعدی باشه اول unreal بعد unity

dasssnj
پنج شنبه 20 فروردین 1394, 20:32 عصر
من برای بازی دو بعدی از Andengine استفاده می کنم اما زیاد خوب نیست . می خوام بین libgdx و cocos2dx یکی را انتخاب کنم برای بازی بعدیم . به نظرتون کدوم آسون تره و کدوم پرفرمنس بهتری داره و قوی تره ؟(زبانش برام مهم نیست)

storm_saeed
پنج شنبه 20 فروردین 1394, 23:11 عصر
من برای بازی دو بعدی از Andengine استفاده می کنم اما زیاد خوب نیست . می خوام بین libgdx و cocos2dx یکی را انتخاب کنم برای بازی بعدیم . به نظرتون کدوم آسون تره و کدوم پرفرمنس بهتری داره و قوی تره ؟(زبانش برام مهم نیست)

Andengine کلا دیگه دولاپ نمیشه

من خودم libgdx رو بیشتر ترجیح میدم با جفتشون کار کردم ولی احساس بهتری توlibgdx داشتم

cocos یه سری نکات بدی داره :
داکیومنتش افتضاحه
من تو فرومهای خارجی دیده بودم یه عده از پرفرمنسش مینالیدن
ولی نکته خوبش اینه که cpp هس و خیلی بهتر کراس پلتفرم بودن رو پیاده سازی میکنه

libgdx داکیومنتش عالیه به تازگی یه برنامه اومده به اسم overlap2d یه ویدیو داره اول سایتش اونو حتما ببین واقعا محشره این برنامه
تنها ترسی که یه عده دارن اینه که میگن جاواس و پرفرمنسش بده ولی خلاف اینه در واقع بخش رندرش از cpp استفاده میکنه من یه تستی زده بودم ۵۰۰ تا اسپرایت رو رو صفحه چرخوندم و فریم ریتش ۳۰ فریم بر ثانیه بود کلا از بابت پرفرمنس خیالت تو Libgdx باید راحت باشه . یادگیریش خیلی اسونه تر از cocos یه سری ویدیو خوب هم تو gamefromscratch هست

بهترین چیزی که میشه گف اینه کا جاواس همونطور که میدونی جاوا کد زدن تو پروژه های بزرگ دیباگینگ و نگهداری و حجم کد رو کاهش میده
یه خوبی دیگم هم داره اینکه در واقع نحوه ی کد زدنش برا اندروید اینطوریه که خودش یه اکتیویتی مخصوص داره تو اون میای لوپ بازیت رو پیاده میکنی و خیلی خیلی راحت میتونی iap یا admob و هر نوع لایبرری دیگه رو روش پیاده کنی حتی میتونی از libgdxبرا اپ هم استفاده کنی چون از libgdx میشه تو فرگمنت ها هم استفاده کرد در کل کلی حرکت باحال میشه باهاش زد
در کل جفتشون خوبن ولی برای دو بعدی به نظرم libgdx یه سرو گردن بهتره

dasssnj
جمعه 21 فروردین 1394, 00:14 صبح
ممنون . پس واجب شد برم سراغ یادگیری libgdx .

حالا که بحث بازی سازی شد آیا مرجعی برای پیدا کردن گرافیک UI و Element بازی هست ؟ ساختن گرافیک های بازی خودش خیلی مهمه و بعد از موتور بازی سازی اولویت داره . اگه سایتی می شناسید که UI بازی ها و یا آموزش هایی برای ساختن شون داره معرفی کنید

storm_saeed
جمعه 21 فروردین 1394, 00:24 صبح
راستش UI بازی خیلی کمه اکثرا پولین نسخه free چیزی زیاد نیست باید پولیارو تو تورنت سرچ کنی
ولی برا المنت و اینا کلا سایت مرجع خاصی نیست کلا پخشه باید مثلا چیزی که مد نظر داری رو سرچ کنی ولی یه سری سایت هستن که اسپرایت اینا میدن ولی کلا باید سرچ کنی

roboman78
جمعه 21 فروردین 1394, 02:24 صبح
سلام ببخشید storm_saeed عزیز
توی رندر شما گفتی که سی پلاس پلاسه
ببخشید سوالم مبتدیانس ما خودمون باید سی پلاس پلاس بزنیم

یه سوال دیگه هم دارم ورژن جدید libgdx با گردله و تو اندروید استودیو هم میشه کد زد دیگه؟
نظر شما کدوم ide هست؟

storm_saeed
جمعه 21 فروردین 1394, 11:14 صبح
ببین اینطوریه که شما با جاوا کد میزنید اون جاهایی که قراره کار سنگین مثل رندر کردن انجام بده خودش از cpp استفاده میکنه یعنی شما کار خاصی انجام نمیدید

کلا پیشنهاد خودش اندروید استودیوس البته اگه به غیر اندروید بخوای خروجی بگیری مثل دسکتاپ intellij یکم بهتر از اندروید استودیوس هم استیبل تره هم فیچرهای بیشتری رو ساپورت میکنه

abbasi.naft
جمعه 21 فروردین 1394, 12:19 عصر
کلا من با توجه به همه شرایط اینا رو انتخاب میکنم:
اگه هدف بازی دوبعدی باشه libgdx بعد cocos2d
اگه هدف بازی سه بعدی باشه اول unreal بعد unity
خیلی ممنون مهندس storm_saeed عزیز
برای بازی Clash که به گفته خودتون 2.5 بعدی هست ، انتخابتون چی هست ؟؟
سازندگان اصلی این بازی از موتور libgdx استفاده کردند ؟؟ یا خودشون با ابتکار خودشون ، از پایه ، با جاوا کد زدند ؟؟

از اونجایی که پیشکسوت و استاد هستید ، لطف میکنید بیشتر توضیح بدید ، که من درست فهمیدم یا که
(چیزی که من فهمیدم) libgdx قدرتمنده ، ولی این قدرتش رو مدیون اون قسمتش که با cpp پیاده سازی شده ، درسته ؟؟ :متفکر:
پس انتخاب اگر 2 بعدی باشه ، انتخاب شما مشخصه . همینطور اگه 3 بعدی باشه ، بازم مشخصه (بر اساس کیفیت خروجی و سرعت محصول)
اما برای 2.5 بعدی ، اولین و تنها انتخا شما هست ................ :قلب:

dasssnj
جمعه 21 فروردین 1394, 12:59 عصر
خیلی ممنون مهندس storm_saeed عزیز
برای بازی Clash که به گفته خودتون 2.5 بعدی هست ، انتخابتون چی هست ؟؟
سازندگان اصلی این بازی از موتور libgdx استفاده کردند ؟؟ یا خودشون با ابتکار خودشون ، از پایه ، با جاوا کد زدند ؟؟

از اونجایی که پیشکسوت و استاد هستید ، لطف میکنید بیشتر توضیح بدید ، که من درست فهمیدم یا که
(چیزی که من فهمیدم) libgdx قدرتمنده ، ولی این قدرتش رو مدیون اون قسمتش که با cpp پیاده سازی شده ، درسته ؟؟ :متفکر:
پس انتخاب اگر 2 بعدی باشه ، انتخاب شما مشخصه . همینطور اگه 3 بعدی باشه ، بازم مشخصه (بر اساس کیفیت خروجی و سرعت محصول)
اما برای 2.5 بعدی ، اولین و تنها انتخا شما هست ................ :قلب:


clash را نه با جاوا نوشتن و نه با موتور libgdx . این بازی یه موتور اختصاصی از شرکت سازنده داره و با سی ++ نوشته شده .

abbasi.naft
جمعه 21 فروردین 1394, 13:48 عصر
clash را نه با جاوا نوشتن و نه با موتور libgdx . این بازی یه موتور اختصاصی از شرکت سازنده داره و با سی ++ نوشته شده .
خیلی ممنون استاد
در سی پلاس پلاس بودنش ، هیچ بحثی نیست ، ولی
در چه محیطی؟با چه کامپایلری؟

roboman78
جمعه 21 فروردین 1394, 13:53 عصر
دوستان عزیز و بزرگوار که پاسخامونو کامل میدید تشکر
یه سوال دیگه هم دارم منبع آموزشی خوبی سراغ دارین لینک ی و ت ی و ب ی
گشتم توش پیدا نکردم

storm_saeed
جمعه 21 فروردین 1394, 15:34 عصر
خیلی ممنون استاد
در سی پلاس پلاس بودنش ، هیچ بحثی نیست ، ولی
در چه محیطی؟با چه کامپایلری؟

کامپایلش با NDK اندرویده محیطشم فرقی نداره


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

کافیه تو گوگل بصورت انگلیسی سرچ کنید

abbasi.naft
جمعه 21 فروردین 1394, 21:03 عصر
کامپایلش با NDK اندرویده محیطشم فرقی نداره


ممنون مهندس عزیز
حالا که میفرمایید محیط فرقی نداره ، این جمله زیر رو در نظر بگیرید

Objective-C یک زبان برنامه نویسی شیءگرا می باشد که برای برنامه نویسی Mac و برنامه های iPhone و iPadاستفاده می شود.

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

C‎/objective برای استفاده NDK و خروجی اندروید میتونه ، اولین و قوی ترین گزینه پیشنهادی در این زمینه باشه ؟؟
ممنون

storm_saeed
جمعه 21 فروردین 1394, 22:51 عصر
نه دیگه NDK برا اندرویده برخاطر همین اونا هم cpp زدن هم objective c تا بتونن جفت سیستم عامل هارو ساپورت کنن

abbasi.naft
جمعه 21 فروردین 1394, 23:20 عصر
نه دیگه NDK برا اندرویده برخاطر همین اونا هم cpp زدن هم objective c تا بتونن جفت سیستم عامل هارو ساپورت کنن
عالی بود مهندس ، خیلی خیلی از اطلاعات ارزشمند شما و دیگر عزیزانی که در بحث شرکت کردند استفاده کردم .

با آرزوی بهترینها برای شما عزیز بزرگوار و خانواده محترمتون.