PDA

View Full Version : گفتگو: نکات مهم در ساخت بازی انلاین



Tarragon
چهارشنبه 15 خرداد 1392, 13:01 عصر
سلام
لطفا نکات مهمی که درساخت بازی انلاین از هر لحاظی مهمه رو ذکر کنید.
پیشاپیش از کمکتون ممنونم.

WOLF_MEHRDAD
چهارشنبه 15 خرداد 1392, 19:48 عصر
درود بر شما


مشابه این تاپیک در تالار موجوده ، جستجو کنید.


موفق باشید

Tarragon
چهارشنبه 15 خرداد 1392, 22:40 عصر
سلام والا جستجو کردم و نتیجه نگرفتم که به نتیجه نرسیدم اگر رسیده بودم مطمئنا تاپیک نمی زنم.

WOLF_MEHRDAD
پنج شنبه 16 خرداد 1392, 02:13 صبح
این یک نمونه در دو صفحه قبل


http://barnamenevis.org/showthread.php?400760-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%B3%D8%A7%D8%AE%D8%AA-cms-%DA%86%D9%87-%DA%86%DB%8C%D8%B2-%D9%87%D8%A7%DB%8C%DB%8C-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%A8%D9%84%D8%AF-%D8%A8%D8%A7%D8%B4%DB%8C-%D8%9F%D8%9F%D8%9F%D8%9F

MMSHFE
پنج شنبه 16 خرداد 1392, 07:39 صبح
ساخت CMS با ساخت بازی آنلاین خیلی فرق داره. یکسری نکات در ساخت بازی آنلاین هست که باید خیلی بهشون دقت کنید:
1- حتی الأمکان تصاویر، کدهای JS و بطور کلی هر چیزی که مربوط به کلاینت میشه رو اجازه بدین کش (Cache) بشه روی سیستم کلاینت
2- تصاویر بازی سمت سرور ساخته نشه و روی سیستم کلاینت باشه و فقط سرور اطلاعات بازی رو برحسب وروردیهای کاربر که دریافت میشه، بگیره و پردازش کنه و اطلاعات جدید رو بسازه و بفرسته (یعنی اطلاعات مبادله شده بین سرور و کلاینت حتی الأمکان متن باشه نه تصویر و...)
3- اطلاعات مبادله شده، درصورت امکان کدگذاری بشه تا با ابزارهایی که هدرها رو تغییر میدن، اطلاعات اشتباه به سرور منتقل نشه
4- اینجور بازیها بطور مدام درحال مبادله اطلاعات بین کلاینت و سرور هستن. پس باید خیلی روی امنیت اطلاعات و مواردی مثل Injection Attacks کار کنید.
5- معمولاً توی بازی آنلاین، پردازشهای سمت سرور سنگینه و برای همین، بهتره از برنامه های مخصوص این کارها استفاده بشه (مثلاً از MatLab برای پردازشهای پیچیده ریاضی استفاده کنید و خروجی رو ازش بگیرین و برای کلاینت بفرستین). برای این کار هم از دستوراتی مثل shell_exec و... برای اجرای برنامه های جانبی و ارسال پارامتر به اونها و دریافت جواب استفاده میش.
6- تصاویر رو با ابزارهایی مثل Advanced JPEG Compressor و... تا جایی که کیفیت پایین نیاد، فشرده کنید. مثلاً برای آیکنهای دشمنان توی بازی، چون معمولاً Transparency دارن، بهتره از GIF بجای PNG استفاده بشه (حجمش کمتره) مگه اینکه مطمئن بشین فایلهای شما Cache میشه. در اینصورت میتونید توی Loading اولیه که نشون میدین، همه تصاویر رو Load کنید و بعد به صفحه اصلی بازی منتقل بشین (برای اینکار، یک صفحه ساده Loading بسازین و تمام تصاویر رو توی اون با تگ img نشون بدین ولی با CSS مخفی کنید و با jQuery یا Javascript بعد از Loadشدن کامل صفحه، کاربر رو به صفحه اصلی بازی هدایت کنید)
7- شئ گرا کار کنید تا انجام تغییرات در کل پروژه راحتتر بشه و بتونید بخشهایی از پروژه رو درصورت نیاز بصورت کاملاً مستقل جدا کنید (تا درصورت لزوم بشه توی پروژه های دیگه هم از اونها استفاده کنید)
8- از یک DBMS سریع (مثل MongoDB) استفاده کنید.
9- از PDO برای کار با دیتابیس استفاده کنید.
10- اگه قراره با پول واقعی کار کنید، حتماً از درگاه بانک استفاده کنید نه درگاههای واسط
11- سرور اختصاصی بگیرین (VPS یا VDS یا حتی اگه آمار بازدیدتون خیلی بالاست، PS یا DS) و حتی الأمکان حتی به سرورهای اشتراکی فکر هم نکنید چون خطر لو رفتن اسکریپت و یا بلاک شدن اکانت بخاطر استفاده زیاد از منابع وجود داره
12- همیشه با ابزارهای Benchmark بهینگی سیستم طراحی شده رو مرتباً چک کنید.
13- امنیت، امنیت، امنیت و... امنیت

Tarragon
پنج شنبه 16 خرداد 1392, 22:56 عصر
سلام
تشکر بسیار زیاد.
نوع دیتابیس چه تاثیری داره؟
مثلا isamDB(اگر درست نوشته باشم.)

MMSHFE
پنج شنبه 16 خرداد 1392, 23:49 عصر
منظورم از نوع دیتابیس، خود DBMS بود نه لزوماً Engineهای داخلی اون. مثلاً تفاوت سرعت آنچنان زیادی در MyISAM و InnoDB وجود نداره ولی تفاوت سرعت بین MySQL و MongoDB و Oracle واقعاً محسوسه.

Tarragon
جمعه 17 خرداد 1392, 12:50 عصر
سلام
می شه درباره نحوه اتصال به این نوع دیتابیس ها و همچین ساخت و نرم افزار مدیریت مانند پی اچ پی مای ادمین توضیح بدید؟