بررسی تخصصی پیرامون موتور بازی سازی BGT (Blastbay game toolkit)

با درود فراوان به شما خواننده گرامی،
امروز بر آن شدیم که یک بررسی اجمالی پیرامون موتور بازی سازی BGT (Blastbay game toolkit (ابزار بازی سازی گروه Blastbay studios))، به شما دوستان عزیز ارائه دهیم.

BGT چیست؟

BGT (Blastbay game toolkit) یک ابزار اسکریپت نویسی جهت ساخت بازی های صوتی میباشد که توسط گروه Blastbay studios طراحی شده است.
خود این ابزار توسط زبان اسکریپت نویسی به نام “Angel script” طراحی شده، که آن نیز توسط زبان C تولید شده است.
این ابزار در سطح خود امکانات خوبی را برای تولید بازی های صوتی به کاربران ارائه میدهد، که در این نوشتار، به بررسی نقاط و نکات مثبت و منفی پیرامون این زبان اسکریپت نویسی میپردازیم.

BGT چه ویژگی هایی دارد؟

BGT به عنوان یک موتور اسکریپت نویسی، ویژگی های متعددی را دارا میباشد که در اینجا به برخی از این ویژگی ها اشاره میکنیم:

  1. یادگیری اصول کدنویسی در این موتور بسیار ساده، و نزدیک به زبان های نوع C (C type languages) میباشد.
  2. این موتور با وجود اصول آسان برای یادگیری، از تمامی استاندارد های لازم (مانند مقایسه کردن انواع داده ها (Data types)) پیروی نمیکند
  3. BGT یک موتور شیء گرا (Object oriented) میباشد.
  4. این موتور، قادر به مدیریت تعداد بالای اشیاء (Object) نمیباشد، و با افزایش تعداد اشیاء، سرعت پردازش آن به صورت چشمگیری کاهش مییابد.
  5. از آنجا که این موتور برای تولید بازی های صوتی طراحی شده، امکان گنجاندن جلوه های تصویری در آن به صورت پیشفرض موجود نمیباشد.
    بدین منظور که بازی های تولید شده توسط این موتور، صرفا از تعامل صوتی با کاربر بهره میبرند.
  6. در حالت پیشفرض، در این موتور کتابخانه هایی جهت پخش و مدیریت صدا وجود دارد که کار با آن ها نسبتا ساده است.
  7. این موتور، از یک کتابخانه صدا با ویژگی های پایین و قدرت کم بهره می برد، که قدرت مانور بازی های نوشته شده توسط آن را بسیار کاهش میدهد.
  8. این موتور از انواع متغیر های معمول در برنامه نویسی پشتیبانی میکند.
  9. کتابخانه مدیریت شبکه (Network management) استفاده شده در این موتور، یک نسخه قدیمی و ضعیف از کتابخانه ENet میباشد، که شاید با قاطعیت بتوان گفت یکی از بزرگترین نقاط ضعف این موتور است, و قدرت ساخت بازی های آنلاین توسط این موتور را بسیار کاهش میدهد.
  10. این موتور، فقط از انکودینگ ANSI پشتیبانی میکند، که در آن قابلیت استفاده از زبان پارسی وجود ندارد.
  11. این موتور، کار های پس زمینه مانند مدیریت حافظه (Memory management) را برای شما بصورت خودکار انجام میدهد، تا شما با خیال راحت به کد نویسی بپردازید.
  12. در این موتور، سرعت اجرای حلقه ها نسبت به زبان های برنامه نویسی استاندارد پایین بوده، و علاوه بر آن این موتور از قابلیت اجرای چند رشته ای (Multi-threading) پشتیبانی نمیکند، که عملا تولید پروژه های بزرگ را غیر ممکن میسازد.
  13. استفاده از کتابخانه ها در این زبان به سادگی امکان پذیر نبوده، و حتی در صورت استفاده موفق از آنها نمیتوان از قابلیت هایشان به صورت کامل بهره برد.

BGT, آری، یا نه؟

به طبع نمیتوان منکر ویژگی های خوب این موتور بود، اما در عین حال نیز نمیتوان از معایب آن چشم پوشید.
شاید در صورت بروز شدن این موتور، قابلیت های بهتری به آن افزوده شود، و برخی معایب آن برطرف گردد.
مثلا ممکن بود که در نسخه جدید، از یک کتابخانه صدای پیشرفته تر با پشتیبانی قابلیت HRTF، و یا از نسخه بروز شده کتابخانه ENet و یا حتی یک کتابخانه بهتر برای مدیریت شبکه (Network management) استفاده شود.
ممکن بود در نسخه جدید، قابلیت اجرای چند رشته ای (multi-threading) به این موتور افزوده شود، که همه این ها در بهبود این موتور برای ساخت پروژه های بزرگ تاثیر شایانی داشت.
اما مشکل بزرگ آن جاست که طبق گفته سازنده، این موتور بروز رسانی جدیدی دریافت نخواهد کرد، و پروژه آن به کلی بسته شده، که فرصت دریافت قابلیت های تازه و رفع مشکلات احتمالی را از آن میگیرد.
تجربه نیز مشکلات فراوانی را در پروژه های ساخته شده توسط این موتور به اثبات رسانده است، که میتوان از این میان به بازی رد اسپات (Redspot) اشاره کرد، که در ۱۳ اوت نسخه BGT آن منقضی شد، و ظاهرا سازنده آن قصد تولید آن را با استفاده از زبان دیگری دارد.

نتیجه گیری

در مجموع، به عنوان کسانی که در این زمینه فعالیت و تجربه بسیار گسترده ای دارند، این موتور را جهت ساخت پروژه های بزرگ، و یا تجاری پیشنهاد نمی کنیم.
حتی از نظر ما، آموزش این زبان به عنوان یک زبان پایه برای آموزش های ابتدایی نیز توصیه نمیشود. زیرا ذهن پس از عادت کردن به یک زبان دارای اصول ساده، به سختی ممکن است زبان های پیشرفته را درک کند و یا از سرعت آموزش های عالی کاسته خواهد شد.
با این وجود، انتخاب اینکه از BGT استفاده کنید یا خیر، به شما بستگی دارد.
خرسند خواهیم بود، در صورت تمایل، نظرات ارزنده خود را با ما در بخش نظرات به اشتراک بگذارید.

این نوشته در آموزش, اطلاعرسانی, بازی, نرم افزار ارسال شده است. افزودن پیوند یکتا به علاقه‌مندی‌ها.

2 دیدگاه دربارهٔ «بررسی تخصصی پیرامون موتور بازی سازی BGT (Blastbay game toolkit)»

  1. مهلا می‌گوید:

    سلام از اطلاعات ارزشمندی که در اختیار میگذارید ممنون از شما درخواست دارم تا برای یاد گیری برنامه نویسی راهنمایی فرمایید و از ۰ تا ۱۰۰ زبانها و برنامه هایی که توصیه میکنید رو با منابع دسترس پذیرشون اعلام نمایید.
    با سپاس فراوان

    • kianoosh می‌گوید:

      درود بر شما. در حقیقت زبانهای برنامه نویسی بسیار، و منابع اونها بسیار بیشتر هستند. شما هیچ راهنمای یاد گیری زبان برنامه نویسی رو پیدا نمیکنید که ۰ تا ۱۰۰ برنامه نویسی و منابع یک زبان برنامه نویسی رو آموزش بده. اما اگر بنده بخوام در همین کامنت زبانی رو به شما پیشنهاد بدم، زبان برنامه نویسی python اگر در برنامه نویسی نو پا هستید. اگر نه زبان برنامه نویسی C++ میشه گفت که بهترین انتخاب هست.

پاسخی بگذارید