مدتی پیش پس از انتشار پستی در راستای معرفی آپادانا توسط دوستان ما در شرکت فن افزار شریف که کمال تشکر را از آن ها داریم، درخواست هایی در راستای پشتیبانی از Game Maker دریافت کردیم. در این پست بررسی فنی ابتدایی در این زمینه و میزان پشتیبانی فعلی را شرح می دهیم.

اکنون آپادانا به دو شکل قابل استفاده است. روش اول استفاده از SDK مخصوص Unity می باشد که از WebSocket برای ارسال و دریافت همه پیام ها (با استفاده از protocolی خاص و بسیار کوچک) استفاده می کند، می باشد و روش دوم استفاده از WebAPI هایی است که برای برخی ویژگی های آپادانا موجود هستند و با استفاده از JSON کار می کنند. هم اکنون این روش توسط یکی از مهمترین مشتریان آپادانا مورد استفاده قرار می گیرد. برنامه ما در باره اضافه کردن روش های دیگر بستگی به درخواست های مشتری های جدی و پروژه های آن ها دارد زیرا ما تیم بسیار کوچکی هستیم و منابع محدودی داریم. فعلا برنامه بعدی ما پشتیبانی از RUDP برای ساخت بازی های real-time در یونیتی بدون استفاده از WebSocket می باشد که برای انواعی از بازی بسیار سریع مثل Racing و FPS مناسب نیست و اولویت این قابلیت هم به پروژه های مشتریان و اولویت هایشان وابسته است. در صورت وجود مشتری جدی برای ویژگی های real-time در Game Maker پشتیبانی به شکل زیر قابل پیاده سازی خواهد بود.

استفاده از توابع شبکه GML برای ارسال و دریافت buffer هایی که از protocol ما پیروی می کنند ، پیاده سازی این ویژگی مستلزم کار بسیار می باشد و باید پروژه هایی جدی قصد استفاده از آپادانا در بازی های real-time در Game Maker را داشته باشند تا توجیه پیدا کند.

راه دیگر برای استفاده از آپادانا در Game Maker استفاده از WebAPI ما می باشد که توانایی کارهای real-time را ندارد ولی تمام توابع دیگر می توانند به آن اضافه شوند. لطفا در صورت نیاز به قابلیتی که در WebAPI وجود ندارد، به ما ایمیل بزنید تا قابلیت مورد نظر را به سرعت به WebAPI اضافه کنیم. امکان ساخت plugin برای راحتتر شدن کار با WebAPI هم وجود دارد ولی ما ترجیح می دهیم در صورت ساخت پلاگین، آن را با استفاده از TCP و binary protocol خودمان بسازیم مگر دلیل خاصی برای تغییر این تصمیم وجود داشته باشد و اولویت هایمان تغییر کند.  همچنین خوب است بدانید ما قصد پشتیبانی از GML به عنوان زبان اسکریپت نویسی در سرور آپادانا را نداریم زیرا استفاده از آن به عنوان زبانی مجزا بیرون از GameMaker نیاز به نوشتن کامپایلر GML دارد.

اولین ابزاری که خود من برای ساخت بازی با آن کار کردم Game Maker 6 بود و به دلیل میزان کاربران پشتیبانی از آن می تواند مفید باشد و میزان پشتیبانی فعلی ما برای بسیاری کار ها مثل LeaderBoard, cloud save, login, IAP verification و ... کافی می باشد. تنها مساله پارس کردن داده JSON در پروژه می باشد. تصمیم ما در این باره قطعی نیست و علاقه داریم با کاربران Game Maker در این باره گفت و گو کنیم. شما می توانید با استفاده از ایمیل یا گروه پرسش و پاسخ ما در تلگرام با ما در ارتباط باشید و یا با تلفن با ما تماس بگیرید.

لطفا این پست را به کاربران GameMaker که به استفاده از آپادانا علاقه دارند ارسال کنید تا نظرات خود را به ما اعلام کنند.