1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

موتور بازی سازی ایرانی SHM3DEngine

شروع موضوع توسط Hidden ‏23/6/13 در انجمن سایر نرم افزارها

  1. کاربر ویژه

    تاریخ عضویت:
    ‏8/4/11
    ارسال ها:
    8,384
    تشکر شده:
    4,846
    امتیاز دستاورد:
    113
    جنسیت:
    مرد
    حرفه:
    سینما
    موتور SHM3DEngine یک موتور شیئ گرا و مبتنی بر هسته است که با اضافه شدن مولفه هایی به آن باعث شده تا این موتور در زمره موتورهای قابل مقایسه با نمونه های هم سطح قرار گیرد. البته این موتور را بدلیل قابلیت رشد ، نمی توان در سطح خاصی قرار داد. این بدین دلیل است که سطح موتور با توجه به نوع استفاده برنامه نویس و نوع مولفه هایی که به آن اضافه یا کم خواهد کرد تغییر می کند.

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

    لازم است ابتدا در مورد هسته این موتور توضیحاتی بیان شود تا با پایه و اساس این موتور بیشتر آشنا شوید ، سپس به سراغ سایر بخش ها رفته و قابلیت های مولفه ای آن را ذکر خواهیم کرد.

    هسته ایجاد شده در این موتور بطور کلی وظیفه بررسی بخش های زیر را داراست :

    Start Up ، Loop ، Shutdown ، Events ، Game Play و ...

    موتور SHM3DEngine بدلیل طراحی غیر یکپارچه و وجود هسته قابلیت رشد دارد. در حقیقت هسته ، همانند سیستم عامل کوچکی است که بنیان لازم برای گسترش مولفه ای و افزودن Component را بوجود می آورد و در این هسته تنها اعمالی که جزو اعمل اصلی هستند وجود دارد.در تصویر زیر در سمت چپ ساختار موتور SHM3DEngine و در سمت راست ساختار موتورهای یکپارچه را مشاهده می کنید :



    SHM3DEngine Core

    پیاده سازی نرم افزارها با این روش باعث می شود ، تنها لایه هایی که مجاز به برقراری ارتباط با یکدیگر هستند ، تبادل پیام را انجام دهند. از دیگر مزایای این سیستم ها می توان به ویژگی هایی نظیر : واسط های یکنواخت ، قابلیت های گسترش ، قابلیت انعطاف ، قابلیت حمل ، قابلیت اطمینان و حمایت از سیستم های توزیعی نام برد.

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

    قابلیت گسترش باعث می شود که با تولد تکنیک ها و جلوه های جدید ، موتور بتواند براحتی خود را با آن سازگار کند و قابلیت ها جدید را بپذیرد.

    قابلیت انعطاف در معماری هسته ها نکته دیگری است که نه تنها می توان قابلیت جدیدی به موتور اضافه کرد ، بلکه می توان قسمت های غیر ضروری و بی استفاده را حذف کرد تا پیاده سازی کوچکتر و کارآمدتری ایجاد شود.

    قابلیت حمل باعث سازگاری موتور با انواع پردازنده ها و سخت افزار ها از طریق تعریف نوع داده با توجه به نوع پردازنده و سیستم عامل می شود.

    قابلیت اطمینان : هر چه یک محصول نرم افزاری بزرگ تر باشد تضمین قابلیت اطمینان آن مشکل تر است که با طراحی مولفه ای این قابلیت افزایش پیدا می شود.

    حمایت از سیستم توزیعی با کمک سیستم پیام رسانی که بین لایه ها و هسته برقرار می شود باعث حمایت از سیستم های توزیعی و ارسال و دریافت پیام می شود.

    همچنین بخشی در ساختار این موتور در نظر گرفته شده که وظیفه مدیریت حافظه را دارد ، این بخش 3 عمل کلی را بر عهده دارد که این اعمال عبارتند از اهداء ، نگاشت و مطالبه