خانه » ادوبی فلش » Molehill تحولی دوباره در دنیای وب!

Molehill تحولی دوباره در دنیای وب!

امیدوارم به همان اندازه که نوشتن و جمع آوری این مطلب برای بنده جذاب بوده خواندن آن برای شما جذاب باشد.

تا به حال دنیای وب تحولات بسیاری را به خود دیده است ، از اولین مرورگر وب تا ایجاد شدن Plugin ها گسترش روز به روز وب و حرکت به سمت و سوی رانش ابری و… این بار فلش برای دومین بار بعد از ظهور خود در دنیای وب ، زمینه ای را برای ایجاد بستری بسیار مناسب برای بازی ها و برنامه هایی که بر خلاف گذشته سرعت بالایی را دارند آماده می کند ، دیگر دیدن یک بازی سه بعدی حرفه ای تحت وب تنها با داشتن یک فلش پلیر ساده ، امری طبیعی خواهد بود ، و در واقع می توان گفت این امر روزی برای توسعه دهندگان فلش مانند یک رویا بود…

در فلش پلیر جدید دیگر همه مراحل آنالیز و تحلیل تصاویر توسط CPU انجام نمی شود و بر خلاف گذشته از GPU مربوطه به کارت گرافیک استفاده می شود و این امر بار زیادی را از دوش CPU بر می دارد و نتیجه آن داشتن امکان بیشتری برای برنامه نویس است.

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

حال می توان با فلش پلیر به پنجره مرورگر به دیدی دیگر نگاه کرد …

چند سال پیش تیم فلش پلیر ویدئو را در فلش پلیر ارائه کردند ، و امروز شاهد آن هستیم که فلش پلیر تحولی در ویدئو بر روی وب ایجاد کرده است.

حال امروز از این خوشحال هستیم که می توانیم دسترسی عمومی به فلش پلیر Molehill (3D GPU accelerated) APIs که در قالب Incubator builds ارائه شده است را معرفی می کنیم.

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

اما قبل از هر چیز بهتر هست بدانیم Adobe AIR and Flash Player Incubator چیست؟

در واقع AIR and Flash Player Incubator بخشی از تیم ادوبی فلش می باشد برای به اشتراک گزاشتن ویژگی های در حال توسعه یا تجربی با توسعه دهندگان و ایجاد مشارکت برای تست و دریافت بازخورد برای بهبود عمکرد می باشد. و بستری را برای شما و دوستانی که به تست قابلیت های زمان اجرا و مشارکت در آینده در بسترهای نرم افزاری ، علاقه مند هستید. به خاطر داشته باشید که قابلیت های ایجاد شده در Incubator ممکن هست در آینده و در نسخه های بعدی پشتیبانی شود و یا پشتیبانی نشود و بخشی هایی از آن حذف یا اضافه گردد.

برای اشتراک گذاشتن اطلاعیه های جدید و رمورد انکوباتور (Incubator) وبلاگی جدید ایجاد شده است که می توانید مشاهده کنید. البته بنده هم سعی می کنم که اطلاعات را به هنگام و به روز در همین وب سایت برای شما عزیران قرار دهم.

برای هر قطره از انکوباتور جدید ، ما می بایست به ویژگی ها دقت کنیم و بازتاب نظر خود را انتقال دهیم. انکوباتور امکاناتی را در دست ساخت دارد و مواردی با توجه به تجربه کاربران و توسعه دهندگان و یا آزمایش کننده گان تولید می کند. با ارائه بازخورد در مورد ویژگی ها ، موارد استفاده ، یا آنچه شما ایجاد خواهید کرد ، می توانید به گروه برای ایجاد ویژگی های کمک نمایید.

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

نسخه انکوباتور یک واترمارک در بالاترین سطح و سمت راست و پایین استیج (Stage) قرار می دهد ، این مورد به راحتی به شما نشان می دهد که دارید از انکوباتور استفاده می کنید یا خیر.

در اینجا به دو ویژگی کلیدی در نسخه اول انکوباتور اشاره می کنیم :

  • “Molehill” ۳D APIs for Flash Player and AIR — مجموعه جدید از سطح-پایین (low-level) ، پشتبانی از شتاب سخت افزاری GPU که امکانات مربوطه به سه بعدی سازی حرفه ای در زمان اجرا (runtime) بر روی دستگاهایی که فلش پلیر دارند را ایجاد می کند.
  • Cubic bezier curves — ایجاد متد جدید cubicCurveTo برای طراحی اشکال ، توسعه دهندگان به راحتی می توانند یک مکعب را بدون نباز به هیچ کد اضافی ایجاد کنند.
تیم فلش پلیر از نزدیک و دقیق با محبوب ترین فریم ورک های سه بعدی در اکشن اسکریپت کار کرده است ، بنابراین هر کسی می تواند کار با Molehill را شروع کند ، و نه فقط توسعه دهنگان حرفه ای سه بعدی.

در زیر موارد از فریم ورک ها که قبلا Molehill در آنها فعال شده را مشاهده می کنید :

حال به چند مورد نمونه در این زمینه می پرداریم ، بازی Zombie Tycoon که در زیر تصویری از آن را مشاهده می کند ، توسط تیم Firma Studio توسعه داده شده است ، این تیم در زمان تولید این بازی آن را برای PSP شرکت سونی ایجاد کرده است و یک نمونه هم برای وب توسط Molehill ایجاد کرده است. شما می توانید این بازی را در اینجا بازی کنید ، البته می بایست آخرین ورژن انکوباتور را نصب کرده باشید.

در ادامه چند تصویر دیگر از محیط این بازی قرار می دهم که درصد درگیری CPU را نشان می دهد.

در تصاویر بالا تعداد زیادی کارکتر در حال فعالیت و ضربه زدن هستند و تنها ۱۲ درصد CPU در این زمان درگیر می باشد.

باز در این بخش تعداد زیادی کاراکتر متحرک وجود دارد و CPU تنها ۱۱ درصد درگیر می باشد.

تصویر آخر که در رابط کاربری بازی می باشد در حد ۵ درصد از CPU استفاده می شود.

——————————————————————————————————–

شرکت Mandree یکی دیگر از شرکت های است که به سرعت خودش را با ایجاد بازی برای وب توسط Molehill به روز کرده است، و بازی زیبایی با نام NyxQuest: Kindred Spirits ، را برای کنسول Wii ساخته است که آن را برای فلش پلیر با استفاده از Molehill آماده کرده است.

تصویری از محیط بازی NyxQuest: Kindred Spirits

قدرت Molehill به بخش ۳D (سه بعدی) ختم نمی شود ، شما می بایست آن را به عنوان یک موتور رندر جدید که به پردازنده گرافیکی GPU گره خورده است بدانید. اگر شما طراح و توسعه دهنده ، وب سایت ، بازی (با استفاده از تکنیک های کلاسیک به قدرت نفوذ GPU) شما قادر به استفاده از Molehill در بسیاری از شرایط هستید. اگر قبلا شما یک بازی را روی GPU توسعه داده باشید دقیقا این مورد را متوجه می شود. شما می توانید با استفاده از sprite sheet که به پردازنده گرافیکی (GPU) ارسال شده است ، امکانی ایجاد می شود که شما می توانید فریم هایی را روی یک bitmap بزرگ قرار دهید و آن را به عنوان UV textture بر روی پلن دو بعدی استفاده کنید. و پردازش  ۲D (دو بعدی) را در پردازنده گرافیکی (GPU) استفاده کنید.

اما باز این نکته مهم توجه داشته باشید که این قابلیت جدید به بازی ها محدود نمی شود، Molehill یک موتور بازی سازی نیست! ، فقط یک API (رابط برنامه کاربردی) خالص و خام می باشد. شما می توانید کامپوننت های ۲بعدی یا انیمیشن های ۲بعدی را که به عنوان transitions روی Molehill در هر وب سایت یا برنامه ای در حال اجرا هستند را تصور کنید…

در تصاویر زیر ما تعدادی کاراکتر متحرک شده داریم که توسط فلش خروجی گرفته شده است ، یک مورد به صورت bitmap با sprite sheet ادغام شده است و بعد نمایش داده شده است ، و مورد دیگر با استفاده از display list و روش قدیمی نمایش داده شده است.

در تست بنده نمونه display list نزدیک ۵۱% CPU و نمونه Molehill نزدیک ۷% CPU را اشغال نمود ، که این موضوع بسیار عالی می باشد.

انیمیشن ۲ بعدی که به صورت ساده توسط display list ایجاد شده است(استفاده CPU خودتان را چک کنید)

انیمیشن ۲ بعدی که با استفاده از Molehill ایجاد شده است (استفاده CPU خودتان را چک کنید)

من کاملا مطمئن هستم که برخی از فریم ورک های موتورهای بازی سازی ۲ بعدی شبیه به Cocos2D به سرعت به اکشن اسکرپپت متصل می شود و محیط کاری ساده ای برای استفاده ۲ بعدی با Molehill را ایجاد می کنند ، البته امکانات جدیدی ایجاد خواهد شد و نه فقط برای بازی ها…

نکته : اگر می خواهید با Bytecode های سطح – پایین shader ها توسط رشته متنی assembly کار کنید ، فراموش نکنید کلاس های مربوطه به AGALMiniAssembler را از اینجا دانلود کنید.


حال شاید وسوسه شده باشید ، خودتان molehill را تست کنید و توسط فلش یا فلکس خروجی flashplayer 11 بگیرید …

راهنمای افزودن فلش پلیر ۱۱ (Molehill) به لیست فلش پلیرهای نرم افزار Flash و FlashBuilder-Flex :

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

سیستم مورد نیاز برای این فلش پلیر :

موارد عمومی مورد نیاز برای فلش پلیر در وب سایت ادوبی موجود می باشد.

برای این که Flash Player Incubator عملکرد مطلوبی داشته باشد ، ما حداقل سیستم مورد نیاز را معرفی می کنیم. برای ایجاد اطمینان برای کاربران تا تجربه خوبی در کار با امکانات جدید داشته باشند :

  • ویندوز XP, ویندوز Vista, ویندوز ۷ با DirectX 9 capable card
  • مکنیتاشOSX 10.6
  • لینوکس با OpenGL capable card (نیاز به فعال سازی با ایجاد تغییرات در mms.cfg و تغییر در این مورد : OverrideGPUValidation=true)

ورژن ادوبی فلش پلیر
ورژن جاری فلش پلیر در برنامه Incubator برابر با ۱۱,۰,۰,۵۸ برای ویندوز, و ۱۱,۰,۰,۶۰ برای مکینتاش و پلتفرم لینوکس می باشد.
دانلود مستندات کامل فلش پلیر ۱۱,۰,۰,۵۸

دانلود فایل playerglobal.swc برای فلش پلیر ۱۱,۰,۰,۵۸

دانلود فایل های مربوطه به پروفایل برای افزودن فلش پلیر ۱۱,۰,۰,۵۸ به نرم افزار Flash

اگر از ادوبی Flash Professional استفاده می کنید :

شما می توانید پروفایل مورد نیاز را با توجه به نسخه فلش پلیر خود در Adobe Flash CS5 ایجاد کنید ، ابتدا این فایل را دانلود نمایید (در بالا نیز این پیوند وجود دارد) ،این فایل شامل یک فایل ساده با نام FlashPlayer11.xml می باشد ، شما می بایست آن را در مسیر صحیح که در زیر توضیح داده می شود کپی کنید.

  1. FlashPlayer11.xml کپی شود در آدرس: Adobe Flash CS5\Common\Configuration\Players
  2. فایل playerglobal.swc که کار ایجاد انکوباتور با آن می باشد را در آدرس: Adobe Flash CS5\Common\Configuration\ActionScript 3.0\FP11
  3. بعد از این مراحل نرم افزار فلش را restart (در صورتی که باز است ببندید و دوباره باز کنید) کنید ، حال می توانید از بخش publish setting گزینه Flash Player 11 را انتخاب نمایید. خروجی به صورت فایل SWF13 ایجاد می شود.

نکته مهم: همیشه به یاد داشته باشید در پارامترهای کد HTML خود متد wmode را بر روی direct قرار دهید(wmode=direct) ، در صورتی که این کار را انجام ندهید از برنامه یدکی استفاده خواهد شد.

اگر شما از ادوبی Flex SDK استفاده می کنید :

برای استفاده از Flash Player 11,0,0,58 جدید, شما می بایست نسخه swf را بر روی ۱۳ قرار دهید ، با افزودن آرگمان ویژه به کامپایلر فلکس :


-swf-version=13

مسیر کار در زیر توضیح داده شده است.

  1. دانلود build 19786 از Hero Stable Builds table. (یاداشت: این مورد یک نمونه در حال توسعه از Flex SDK “Hero” و ممکن هست خطاهایی داشته باشد و یا ویژگی هایی از آن کامل نباشد).
  2. نصب آخرین ساخت توسعه Flex SDK
    1. در برنامه Flash Builder پروژه جدید ActionScript ایجاد کنید : File -> New -> ActionScript project.
    2. پنل Properties پروژه را باز کنید (کلیک راست و انتخاب ‘Properties’). مورد ‘ActionScript Compiler’ را از لیست سمت چپ انتخاب کنید.
    3. از بخش تنظیمات ‘Configure Flex SDK’s’ که در سمت راست گوشه بالا قرار دارد ، مورد Flex build 19786 را انتخاب و روی ok کلیک کنید.
  3. تنظیم کردن پروژه با مسیر دهی به SWF version 13
    1. پنل Properties پروژه را باز کنید (کلیک راست و انتخاب ‘Properties’). مورد ‘ActionScript Compiler’ را از لیست سمت چپ انتخاب کنید.
    2. به بخش ورودی ‘Additional compiler arguments’ این متن را اضافه کنید: -swf-version=13.این کار مسیر خروجی را بر روی SWF version 13 تضمین می کند. اگر شما برای کامپایل از command-line استفاده می کنید و با Flash Builder کار نمی کنید ، شما نیاز دارید که این آرگمان را به کامپایلر اضافه کنید.
    3. اطمینان حاصل کنید که Flash Player 11,0,0,58 را نصب کرده اید و عبارت واترمارک شده Incubator را در مرورگر خود مشاهده می کنید.

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

ایجاد زمینه (context) برای تصمیم گیری فلش بین openGL ، directX و رندر نرم افزاری

var context3d: Context3D = new Context3D(Context3DRenderMode.AUTO);

//Put this 3d view on the stage underneath any flash gui elements
stage.stage3Ds[0].attachContext3D(context3D);

//Generally a game will only have one context3dbut could have more than one viewport
stage.stage3Ds[0].viewPort = new Rectangle(0,0,688,528);

//Set up the buffer for double buffered rendering each frame, you swap buffers for display
context3D.setupBackBuffer(688,528,1,true);

ساخت vertex – برای این مورد می بایست کلاسی که در بالا ذکر شد را دریافت و استفاده کنید.

var av:AGALMiniAssembler = new AGALMiniAssembler();
av.assemble(Context3DProgramType.VERTEX,"m44 op, va0, vc0\n mov v0, va1\n");

// Then create a fragment program (a shader) which tells the renderer how to draw it (color, texture)
var af:AGALMiniAssembler = new AGALMiniAssembler();
af.assemble(Context3DProgramType.FRAGMENT,"mov oc, v0");

//Then upload the compiled bytecode to the 3d context
var program = context3d.createProgram();
program.upload(av.agalcode, af.agalcode);

Render loop (حلقه رندر)


// This is what gets run EVERY FRAME Clear the frame to solid black (r,g,b,a)
context3d.clear(0,0,0,1);

// tell flash which program to use (which shader to use)
context3d.setProgram(program);

// tell flash which vertex streams to use (which models to render)
context3d.setVertexStream(0,vertexbuffer,0,Context3DVertexFormat.FLOAT_3);
context3d.setVertexStream(1,vertexbuffer,3,Context3DVertexFormat.FLOAT_3);

با توجه به این که شاید دریافت این نسخه از فلش پلیر برای مرورگرها برای گروهی از کاربران به صورت مستقیم از ادوبی فراهم نباشد ، لینک دانلود مستقیم آنها را از پادشاه فلش قرار می دهم :

دانلود فلش پلیر Molehil ورژن ۱۱ برای مرورگر Internet Explorer (نسخه Debugger)

دانلود فلش پلیر Molehill ورژن ۱۱ برای فایر فاکس ، اوپرا و دیگر مرورگرها… (نسخه Debugger)

امیدوارم این مطلب برای شما کاربردی باشد و نهایت بهره را از آن برده باشید.

مطالب مرتبط :

http://www.bytearray.org/?p=2810

به نظر شما این تحول چه تغییراتی در دنیای وب ایجاد خواهد کرد؟
به نظر شما آیا کاربران دنیای وب از این امکانی که برای فلش ایجاد شده استقبال می کنند؟

Print Friendly
تگ ها :
پیوند مطلب قبلی
پیوند مطلب بعدی

درباره بهروز پولادرگ

متولد : ۵ مرداد سال ۱۳۶۷ ، حرفه : ادوبی فلش ، برنامه نویسی و طراحی وب ، طراحی گرافیک ، مالتی مدیا ، نرم افزار های تحت وب

15 نظر

  1. بازم خیلی ممونون از مطالب مفید و جدابت

  2. سلام

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

    • سلام محمد عزیز
      از منابع زیادی به همراه جمع بندی بنده و تجربه اندک خودم برای نوشتن این مقاله استفاده شده
      البته امکان دارد به دلیل زمان کمی که برای نوشتن آن گزاشتم در بخش هایی گنگ باشد.
      منبع اصلی بخشی از این مطلب را می توان این مورد (http://www.bytearray.org/) دانست ، البته بنده مواردی را با توجه به آزمایش تجربی خودم با توجه به این موارد در این بخش نوشته ام. موارد دیگر هم می توان سایت ادوبی و… را اشاره کرد.

      موفق و پیروز باشید

  3. سلام بهروز خان
    سال نو مبارک
    مقاله جالبی بود… ممنون از زحمتت…
    موفق باشی

  4. عالی بود بهروز جان دستت درد نکنه

  5. سلام خوبین؟؟راستش من گیج شدم یه مدیا پلیر یا فلش پلیر واسه اجرای آهنگ توی وبلاگم میخواستم…اصلا یاد ندارم از کمکتون ممنون میشم به وبلاگم سربزنین خوشحال میشم
    اگه میشه نرم افزارشو واسم میل کنین ممنون میشم

    • سلام
      شما برای موردی که نیاز دارید می بایست سایت های خدمات وبلاگ را در گوگل جستجو نمایید
      توجه داشته باشید در مورد پخش کننده های موجود برای موسیقی در وبسایت های به صورت فلش ، فلش پلیر نیستند بلکه فلش پلیر به پلاگین مربوطه به اجرای فایل فلش گفته می شود.
      شما برای دیدن تمامی فلش ها توسط مرورگر خود نیاز به فلش پلیر (Flash Player )دارید.
      و به پلیرهایی که مورد نظر شماست را می توانید با جستجو این عبارت در وب نیز بیابید (MP3 player flash)
      موفق و پیروز باشید

  6. سلام.
    عذر می خوام، مقاله خیلی تخصصی بود و برای کسی مثل من که از برنامه نویسی و این چیزا سر در نمیاره، گیج کننده بود.
    فقط می خواستم بدونم برای اجرای سریع تر بازی های داخل Facebook مثل Farmville می تونم از این نسخه فلش پلیر استفاده کنم؟

    • سلام
      هم اکنون نسخه جدید فلش پلیر ۱۱ انتشار یافته است ، می توانید توسط Stage3D و متد جدید در فلش بازی هایی با سرعت و کیفیت بالایی درست کنید
      مانند نمونه بازی Angrybirds که توسط فریم ورک Starling و Stage3D ایجاد شده است
      البته شاید شروع به کار و استفاده از این امکان کمی نیاز به دانش اختصاصی داشته باشد که البته لازمه ساخت یک بازی هست
      موفق و پیروز باشید

  7. باسلام وخسته نباشیدخدمت شما
    من ۳نمونه فلش پلیرروی پی سی خودم نصب کردم فلش پلیرهای نسخه های ۹/۱۰/و۱۱ولی هروقت توسایت کلوب کسی درخواست گفتگومیده سایت اعلام میکنه که فلش پلیرنصب کنیدمیخواستم بدونم مشکل ازکجاست واگرمیشه لینک فلش پلیری که به سایت کلوب بخوره روبرام ارسال کنید
    باتشکراززحمات شما دوست گرامی
    موفق وپیروزباشید

ارسال جواب

آدرس رایانامه شما منتشر نخواهد شد.فیلد های اجباری علامت گزاری شده اند *

*

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

رفتن به بالای صفحه
ارتباط با ما

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

سوال، مشکل یا سفارشی دارید؟ ما دوست داریم به شما کمک کنیم!

برای گفتگو کلید ENTER را بفشارید