سلام به همه ی دوستان برنامه نویس
لطف کنید چند تا موتور بازی سازی بهم معرفی کنید که با کامپیوتر های قدیمی هم کار کنه سخت افزار کمی ضعیفتر از حداقل سیستم مورد نیاز Unity هست ممنون
سلام به همه ی دوستان برنامه نویس
لطف کنید چند تا موتور بازی سازی بهم معرفی کنید که با کامپیوتر های قدیمی هم کار کنه سخت افزار کمی ضعیفتر از حداقل سیستم مورد نیاز Unity هست ممنون
جوابتو نمیدونم ولی این انجمن برای موتور unity هست که میتونه خیلی کمکت کنه
http://unity3d.ir/
من که با andengine بازی مینویسم و از برنامه های دارای GUI استفاده نمیکنم .(اصلا اون طوری حال نمیده)
قشنگ لحظه به لحظه ی بازی را با با کد نویسی پیش می برم.
حجم خیلی کمی داره . اگه اکلیپس داری به عنوان لایبرری اضافه ش می کنی و خلاص...
کتاب هم داره (PDF) اگه خواستی معرفی می کنم.
خیلی از بازی های معروف مثل construction city , greedy spider و ... هم با این موتور نوشته شدن.
Write Once, Run Anywhere
بله معلومه که میشه .
اصلا خودش یه اکتیویتی به اسم BaseGameActivity داره و اگه کلاست را ازش مشتق کنی راحت بازیت را توی اون اکتیویتی مینویسی و برای منو هم یه اکتیویتی ساده میسازی. البته با خودش منو های قشنگی میشه ساخت نیازی به لیوت ها نداره ولی اگه بخواین میتونین هر جور که خواستین بسازین . اصلا میتونین یه بازی و یه برنامه را با هم تویه یه پروژه داشته باشین (ولی کاربرد نداره)
این لینک github موتور:
https://github.com/nicolasgramlich/AndEngine
این لینک صفحه ی دانلود کتاب : (روی اون لینکی که جلوی کلمه ی download هست کلیک کنید نه buy )
http://www.it-ebooks.info/book/1745/
اگه بالا نتونستین دانلود کنین :
http://filepi.com/i/c3O7cPt
البته کتابش انگلیسیه . اگه طرفدار پیدا کرد شاید خودم یه pdf فارسی بنویسم.
البته یادگیریش طول میکشه باید صبر داشته باشین
Write Once, Run Anywhere
والا من خودمم تازه کارم .
زبونش هم جاواست.
اگه به گرافیک یا sound fx کاری نداشته باشیم و خوب یادش گرفته باشیم شاید بین 2 تا 7 روز بشه یه پازل کامل و بی نقص ساخت که مو لا درزش نره . ولی همش بستگی به برنامه نویسش داره.
------------
ویرایش:
البته یادگیریش زمان می بره و به تلاش و پشتکار شما بستگی داره.
آخرین ویرایش به وسیله dasssnj : سه شنبه 18 شهریور 1393 در 13:50 عصر
Write Once, Run Anywhere
عاقا من یه تابع نوشتم که با الگوریتم خودم string را به int تبدیل میکنه و از Integer.parseint هم استفاده نمیکنه. ولی اگه بزارمش تو تاپیک این هم کد آقای مدیر گیر میده. پس این زحمت چند ساعته م را چی کار کنم؟
Write Once, Run Anywhere
راستی بازی های اپن سورس زیادی هم با این موتور نوشته شده که می تونین تو گوگل سرچ کنین و بیشتر یاد بگیرین.
Write Once, Run Anywhere
فرض کنیم برنامه نویسش من باشم
با cocos2D هم آشنا هستی ؟ انگری بردز رو باهاش زدن
زبونش سی پلاس پلاس هست
من یه آموزش تصویری ازش دارم، خیلی سخته، امیدوارم اندانجین راحت باشه
فک کنم همینجا هم که گذاشتی آقا مدیره بیاد گیر بده
اگر فک میکنی خیلی کاربردیه به عنوان یک نمونه برنامه بذارش خب
cocos2d پایتون می خواد درسته؟ فکر کنم خیلی سخت باشه . اند انجین راحته (چون جاوا را خوب بلدم) ولی محیط گرافیکی نداره (اینطوری بیشتر دوست دارم) اگه واقعا تلاش کنی واقعا نتیجه ی خوبی میده
--------------------------------------
به عنوان یه نمونه کجا بزارمش؟
------------------------------
ویرایش :
البته باید کتابش را خوب جویده باشین.
Write Once, Run Anywhere
cocos2D رو توی اکلیپس کار میکرد
اینکه اندانجین جاوا هست و میشه با برنامه کنار هم گذاشتش، ارزش داره آدم روش کار کنه و کتابش رو بجوه !!!
----------------------------------------
اون نمونه رو نمیدونم دقیق بگم کجا بذاری، والا میترسم زیاد هم مناسب نمونه برنامه ها نباشه
با خود سعید جان صحبت کن، ببین چکارش کنی
البته من زیاد با اند انجین حرفه ای نیستم ولی اگه سوالی باشه در خدمتم.
Write Once, Run Anywhere
بازی هایی مثل clash of clans ، cut the rupe و دیگر بازی های معروف رو نمیدونید با چه موتوری درست کردن؟؟؟
مثلا چند تاشون رو خودم بگم :
subway surfers یونیتی
wild blood آنریل 3 ( UDK )
Temple Run اینم فکر کنم یونیتی بود
خب اون بازیا کار یه نفر نیست . چند تا برنامه نویس و گرافیست و صدا ساز و.... باید با هم همکاری کنن.
من اگه همون هلیکوپتر نجات را بسازم کلامو میندازم هوا
cut the rope که کار من و تو نیست آخه . نباید انتظار داشته باشی راحت بتونی مثل شو بسازی.
-----------------------------------------------
اگه می خوای کد بزنی andengine خوبه و انتظارات را برآورده می کنه . اگه می خوای بازیت بهتر باشه و کد زنیت یکم سخت تر باشه cocos2d خوبه (البته من باش زیاد کار نکردم).
اگه نمی خوای زیاد کد بزنی و با موس رابطت بهتره ()از ابزار های بازی سازی مثل unity , unreal ,.... استفاده کن(یکمی هم سیستمت را ارتقا بده)
ولی به نظر من آخرش هیچی andengine نمیشه !!!
آخرین ویرایش به وسیله dasssnj : پنج شنبه 05 تیر 1393 در 18:43 عصر
Write Once, Run Anywhere
من که با construction city خیلی حال میکنم. از صد تا بازی سه بعدی هم بهتره
Write Once, Run Anywhere
یک سوال
توی بازی سازی محدودیت حافظه چطور پوشش داده میشه ؟؟؟
مثلا الان یک برنامه ساده که میسازیم، اگر بک گراند یک عکس با کیفیت باشه یا توی صفحه چند تا عکس با کیفیت باشه ممکنه روی بعضی از گوشی ها کرش کنه
که خب این خطا برمیگرده به out of memory و بحث حافظه رم محدود هر برنامه
حالا توی بازی این اتفاق میفته یا خود موتور بازی در پشت کار بهینه سازی های لازم رو انجام میده ؟
والا من که بیست تا عکس برای اجزای بازی لود میکنم و روی هر کدوم کارایی مثل چرخش و حرکت و ... انجام میدم اصلا آخ هم نمیگه
مثلا یه عکس داشتم که باید پشت منوی بازی می چرخید . من هر 0.02 ثانیه یه درجه می چرخوندمش . حالا فکر کن دو دقیقه هر ثانیه ش 50 بار این کار انجام میشد !!! ولی اصلا یه ذره هم سرعت اجرای بازی کم نشد.
یا از انیمیشن های دارای فریم های زیاد که باید تکرار میشد استفاده می کردم توی گوشی تک هسته ای با رم 512 اصلا کمبود سرعت یا کرش ندیدم.
موتورش خوب عمل میکنه انصافا . قابلیت هایی هم که میزاره راضی کنندس برای من.
Write Once, Run Anywhere
انیمیشن گذاشتن واسه عکس باعث پر شدن حافظه نمیشه
لود کردن عکس های با کیفیت باعث خطا میشه
بازی رو روی گوشی های galaxy S3 یا htc با ورژن اندروید پایین امتحان کن ببین چی میشه
یا با جنی موشن، اندروید 2.3، رم دستگاه رو بیار بین 128 تا 256 و اندازه صفحه هم 720*1200 باشه
بعد بازی رو ران کن
سعی کن از عکس های با اندازه بزرگتر و با کیفیت تر استفاده کنی، ببین بازی کرش میکنه یا نه
اگر در این حالات کرش نکنه، من حاضر برنامه های اندرویدم رو هم با اندانجین بزنم !!!
والا من چون با گوشی تست می کنم جنی موشن ندارم
ولی بازی های موجود را میتونین تو جنی موشن تست کنین. به منم بگین
راستی توی سمپل خودش یه چیزی به عنوان بنچمارک داره که توش کلی عکس لود میکنه . اونم یه نگاه بندازین.(github)
Write Once, Run Anywhere
خب عیب نداره، مشخصات گوشی چی هست ؟؟؟
این دو تا کد رو روی گوشی اجرا کن، بعد نتیجه رو به من بگو تا بگم گوشیت قابلیت کرش کردن داره یا نداره
Runtime rt = Runtime.getRuntime(); long maxMemory = rt.maxMemory();
ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
int memoryClass = am.getMemoryClass();
Log.d("memory class", "max: " + maxMemory + ", class: " + memoryClass);
این کد اندازه حافظه برای هر برنامه رو میده
این کد هم که اندازه صفحه گوشی رو
DisplayMetrics metrics = this.getResources().getDisplayMetrics(); width = metrics.widthPixels;
height = metrics.heightPixels;
اگر اندازه حافظه برنامه کمتر یا مساوی 64 باشه خیلی احتمال کرش کردن هست
در این صورت 4-5 تا عکس با کیفیت بالا و اندازه مثلا 720*1200 توی یک فایل بازی بذار، بازی که ران کردی اگه کرش نکرد یعنی اند انجین کارش درسته
اطلاعات بیشتر در مورد کرش کردن موقع کار با عکس
اینا مشخصات گوشیم :
اکسپریا مینی پرو اندروید 4.4.2 Kitkat تک هسته ای . 512 رم . 480*320 سه اینچ صفحه . حافظه ی heap هم 128mb .
تست می کنم نتیجه را می گم.
Write Once, Run Anywhere
نه دیگه من اکسپریا زد اولترا هم دارم هیپش 512 هست . رمش 2 GB . چیزی نیست (البته با دستکاری فایل build.prop میشه هیپ را کم و زیاد کرد ولی اینا که گفتم از اول همین طور بوده)
نتیجه ی تست مینی پرو :
memory :50331648
class : 48
width : 320
height : 459 (بدون استاتوس بار و دکمه های مجازی)
Write Once, Run Anywhere
تعجب من درست بود، پس هیپ مینی پرو 128 نیست
هیپ گوشی کلاس 48 هست و به هر برنامه 50 مگابایت از رم رو اختصاص میده
هیپ زد اولترا هم من اگر درست یادم باشه 196 هست
پس چرا توی فایل build.prop جلوی dalvik.vm.heap.size نوشته 512mb ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
Write Once, Run Anywhere
ok .
فردا یه سری عکس بزرگ با اندانجین لود می کنم نتیجه را می گم. (شمام یه سری به سمپل اندانجین بزن بنچمارکشو تست کن جاش عکس های بزرگ بزار و... البته باید تو کدش تغییراتی بدی که اگه ندی کرش میکنه.)
ممنون.
Write Once, Run Anywhere
unity و ureal را بریز دور . فقط اند انجین. (نمی دونم چرا ولی خیلی بیشتر باهاش کیف می کنم.)
فردا هم تست ها را انجام میدم .
حالا عکس ها را لود می کنم نشونشون هم بدم تو صفحه یا لود کردن کافیه؟ صفحه ی گوشیم که جا نداره آخه .
----------------------------------------------------
از رام pacman که تقریبا ترکیب همه ی رام هاست و کرنل legacy استفاده می کنم.
ولی زد اولترام رامش رسمیه. (تا آپدیت داره کاریش ندارم)
Write Once, Run Anywhere
دلیلش رو توی پست های قبلی تقریبا گفتم
دنبال یک موتور بازی هستم که بشه کنار برنامه بازی ساخت
یونیتی رو نمیشه با برنامه کنار هم داشت
من که نمیدونم فرمت بازی سازی چطوریه، یه جوری نشونشون بده دیگهحالا عکس ها را لود می کنم نشونشون هم بدم تو صفحه یا لود کردن کافیه؟ صفحه ی گوشیم که جا نداره آخه .
البته کامل هم لازم نیست نشونشون بدی، همینکه توی صفحه بازی باشن کافیه
اون سمپل رو هم فک نکنم هنوز بتونم تغییرش بدم تا بتونم اجراش کنم
دوستان مژده بدید !!!
6 تا عکس خیلی با کیفیت : 2560 در 1600 را توی 5 ثانیه لود کردم بدون کرش ولی یکم سرعت گوشیم اومد پایین ولی همه را بدون مشکل نشان داد . پنج بار هم تست کردم که اتفاقی نبوده باشه.
عکس ها را با کیفیت اصلی لود کردم و هر کدوم را توی مستطیل های کوچیک نشون دادم !!!
باورت نمیشه؟ اسکرین شات را ببین.....
d.jpg
Write Once, Run Anywhere
---------------------------------------------------------------
آخرین ویرایش به وسیله dasssnj : پنج شنبه 23 مرداد 1393 در 12:48 عصر دلیل: -------------------------------------------
Write Once, Run Anywhere
فیلم های آموزشی andEngine تو یو-تیوب پره
یو-تیوب هم که از تحریم درآمد
فکر کنم آموزش تصویری بهتر باشه
https://www.youtube.com/results?search_query=andengine+tutorial
برای دانلود از این سایت استفاده کنید
http://convert2mp3.net/
این سایت هم خیلی میتونه کمک کنه :
http://www.matim-dev.com/tutorials.html