ارسالها: 180
موضوعها: 28
تاریخ عضویت: دي 1394
سپاسها: 104
59 سپاس گرفتهشده در 37 ارسال
سلام. من میخوام یک سری از اجزای بازی حتی بعد از خروج هم به فعالیت ادامه بدن. مثل بازی کلش که مثلا معدن طلا همیشه در حال کار است و هر ساعت تولید طلا میکنه و بعد از اجرای مجدد بازی میشه طلای استخراج شده رو دریافت کرد.
ممنون میشم جواب بدید.
ارسالها: 1,806
موضوعها: 39
تاریخ عضویت: ارد 1395
مکان: Tehran , Iran
سپاسها: 1942
3302 سپاس گرفتهشده در 1474 ارسال
باسلام.)
باید بازی تحت وب درست کنید ، و به سرور ( هاست ) متصل به نت وصل کنید .
وقتی کاربر وارد بازی میشه ، اطلاعاتی که وارد میکنه برروی دیتابیس و یا برروی هاست پیاده سازی میشه و بعد از اون هم ادامه داره ...
الان ی چیزی یادم اومد ، اما خب اگر میخواید بازیتون بدون باگ و هک های آینده به مشکل نخوره بهتره از همون روش بالا استفاده کنید .
ی روش دیگه هم هست که بازی و شما ی دیتابیس بصورت پیش فرض داخل خود گوشی میسازید ، یا دیتا ...
بعد کاربر هرکاری که میکنه رو داخل اون دیتابیس ذخیره میکنید ، اما خب اگر میخواید از پرداخت درون برنامه ای و ی جوری از سکه یا ... پول در بیارید این روش رو استفاده نکنید بهتره ، چون کاربر با برنامه های زیادی میتونه به این بخش ها دست پیدا کنه و متغیر هارو تغییر بده ، مثلا متغیر 0 طلا رو بکنه 9999999 و ... .
ارسالها: 180
موضوعها: 28
تاریخ عضویت: دي 1394
سپاسها: 104
59 سپاس گرفتهشده در 37 ارسال
من میخوام یه جوری سرویس در حال اجرا باشه. یعنی بازی در بک گراند اجرا شه
ارسالها: 1,806
موضوعها: 39
تاریخ عضویت: ارد 1395
مکان: Tehran , Iran
سپاسها: 1942
3302 سپاس گرفتهشده در 1474 ارسال
دقیقا قصدتون چی هست ؟
میخواید بازی آنلاین بسازید ؟
یا ی بازی به صورت مثال زیر :
آفلاین ، اما برخی از چیز ها ( مثلا ی گردونه شانس هر چند ساعت یک بار باز بشه ) ...
؟؟
ارسالها: 180
موضوعها: 28
تاریخ عضویت: دي 1394
سپاسها: 104
59 سپاس گرفتهشده در 37 ارسال
فرض کنید میخوام یه بازی ساده بسازم که مزرعه هر ساعت 10 محصول بده یا همچین چیزی. البته میخوام بعد از خروج از بازی هم مزرعه به کارش ادامه بده
ارسالها: 940
موضوعها: 56
تاریخ عضویت: مرد 1393
مکان: مشهد
سپاسها: 338
2562 سپاس گرفتهشده در 736 ارسال
سلام
امکانش هست که بازی در این حالت هم اجرا بشه ولی دو تا مشکل داره.
۱. وقتی بازی بسته است امکان رندر وجود نداره (در نتیجه tick وجود ندارد تا در هر tick یک بار دستورات ایونتشیت اجرا شود) و فقط ایونتهای تریگر واقعی میتوانند اجرا شوند.
۲. امکان استفاده از setInterval هم وجود نخواهد داشت. کانستراکت هم برای ایونت Every X seconds از این تابع در جاوا اسکریپت استفاده میکند و این یعنی این تابع هم با اینکه تریگر است اجرا نمیشود!
اگه اجرای کاندیشنهای معمولی و همچنین شبه تریگر براتون مهم نیست و اجرا نشدن Every X seconds هم براتون مهم نیست روش رو بهتون بگم.
معجزات طبیعت هایی هستند که با آنها مأنوس نشدهایم
و طبیعت معجزهایست که با آن انس گرفتهایم
ارسالها: 180
موضوعها: 28
تاریخ عضویت: دي 1394
سپاسها: 104
59 سپاس گرفتهشده در 37 ارسال
ممنون از پاسختون. ببینید اون چیزی که لازم دارم همون تولید مزرعه است که میخوام بر اساس زمان کار کنه. ممنون میشم روش رو به من توضیح بدید. به عبارت دیگه میخوام بازی رو اجرا کنم ، مزرعه رو به کار بندازم بعد بازی رو ببندم و مثلا 3 ساعت بعد که بازی رو اجرا کردم ببینم مزرعه 30 تا محصول تولید کرده. یه جورایی یه سرویس در حال اجرا در پس زمینه میخوام
ارسالها: 1,806
موضوعها: 39
تاریخ عضویت: ارد 1395
مکان: Tehran , Iran
سپاسها: 1942
3302 سپاس گرفتهشده در 1474 ارسال
خب وقتی در توسعه بازیتون ی حالت تایمی بذارید ، که مثلا هر 1 ساعت 10 تا تولید بده ، وقتی روی سرور بره ، به فرض مثال ، توی دیتابیس همین تعریف رو بذارید ، وقتی پلیر براش بازی انجام میشه ، چون دستور رو از طرف سرور میگیره ( و سرور همیشه آنلاین هست ) یعنی همیشه در حال بازی هست ، تولید براش انجام میشه ، منتها نباید مستقیم روی گوشی خود بازیکن باشه ، یک دیتابیس خارجی داشته باشید ، اگر خواستید یک اسکریپت php بهتون معرفی میکنم برید دانلود بکنید میفهمید که مثلا چطوری تولید رو از دیتابیس میگیره ...
بعد تولید ( و انبار ) از دیتابیس گرفته میشه ، تمام بازی ها همینطوری هست .
ببینید ی مثال دیگه یادم اومد ، توی بازی آقای حیدرزاده ، چطوری وقتی شما آنلاین نیستید بهتون حمله میشه ؟
بخاطر اینکه روی سرور هست ، یعنی اکانت شما توی دیتابیس این جناب هست و بخاطر همین روی سرور به نمایش در میاره ... .
ارسالها: 701
موضوعها: 24
تاریخ عضویت: خرد 1394
مکان: شیراز
سپاسها: 753
626 سپاس گرفتهشده در 365 ارسال
سلام
میتونید با استفاده از آجاکس وقتی میخواد بازی ببنده تاریخ و زمان رو بگیرید و بعد از اینکه دوباره به بازی برگشت هم یکبار دیگه دریافت کنید تاریخ و زمان رو
حالا دریافتی دوم رو از اولی کم میکنید و با توجه به اون سکه میدین مثلا
! KEEP CALM AND LOVE CONSTRUCT 2
آرام باش و به کانستراکت 2 عشق بورز !