24-08-2010, 07:00 PM | #1 |
(کاربر باتجربه)
تاریخ عضویت: May 2010
نوشته ها: 113
|
موتور رندر Leadwerks
موتور Leadwerks ابتدا فقط یک موتور رندرگر دو بعدی به همراه برخی قابلیتهای فیزیکی بود که تحت زبان Blitz Basic توسط آقای Joshua Klint توسعه یافت.
سپس توسعه این موتور توسط زبان Blitz Max ادامه یافت و سپس متوقف گردید. و از دو بعدی به سمت سه بعدی تغییر جهت داد و از API محبوب و قدرتمند OpenGL برای این کار کمک گرفت. در ابتدا موتور Leadwerks 1.0 فقط برخی امکانات پایه گرافیکی تحت OpenGL را اجرا می کرد. پس از آن برخی امکانات فیزیکی و صدا هم به آن اضافه شد و سپس منتشر شد. در سال 2008 نسخه دوم این موتور منتشر شد که باعث شگفتی عده بسیاری از هواداران این موتور و تحلیلگران قرار گرفت. چرا که تغییرات بسیار شگفتی در این موتور روی داد و قدرت این موتور چندین برابر گردید و باعث شد تا از یک موتور ساده به یک موتور قوی و قدرتمند تبدیل شود. نسخه دوم این موتور تحت OpenGL 2.1 قرار گرفت و قابلیت اجرای تکنیک های گرافیکی Shader Model 3.0 و حتی Shader Model 4.0 با سرعت خوب و عالی را هم پیدا کرد. در این نسخه نورپردازی موتور هم اندکی پیشرفت کرد امّا فقط محدود به استفاده از 8 نور در یک صحنه بود. این موتور هیچ ویرایشگر مرحله ای هم نداشت و برای ساختن مرحله باید از نرم افزار بسیار ساده 3D World Studio استفاده می شد. گفتنی است که این نرم افزار با مشارکت کمپانی The Game Creators ساخته شده است. از نسخه 2.1 رندرگر موتور تغییرات بسیاری پیدا کرد و تقریباً از یک رندرگر قدیمی به سمت رندرگر حرفه ای و جدید حرکت کرد. و نورپردازی به سمت مراحل post-processing حرکت کرد و نیاز به ورودی از بافرهای رنگ، عمق و Normal داشت. سرعت موتور تا 50 درصد افزایش پیدا کرد و محدودیت نورها هم برداشته شد. یک ابزار بسیار حرفه ای و زیبا هم به این موتور افزوده شد. یک ویرایشگر بسیار قدرتمند با نام SandBox Leadwerks که کمبود نبود یک ویرایشگر برای این موتور را به صورت کامل جبران کرد. سازنده این موتور آقای Joshua Klint می باشد که ساکن ایالت کالیفرنیای کشور آمریکا است و بعد از ساختن موتور Leadwerks یک تیم برای خودش جمع کرد و شرکتی با نام Leadwerks Software تاسیس کرد و متاسفانه با ایرانی ها هم مشکل دارد. این مشکل آنقدر است که حتی اجازه نمی دهد کاربران با IP ایرانی حتی صفحه اصلی پایگاهش را ببینند. من توضیحاتم پیرامون این موتور را به چند بخش تقسیم کرده ام که به ترتیب در مورد قسمت های مختلف موتور را برای شما توضیح خواهم داد. رندر نورپردازی: یکی از قدرتمندترین بخشهای این موتور نورپردازی آن می باشد. سیستم نورپردازی موتور قابلیت اجرای تکنیک سایه صاف soft shadows را به صورت کاملاً متحرک و RealTime دارد. به این معنی که با حرکت نور متحرک سایه صاف تولید شده در مابین شی و نور به صورت کاملاً متحرک بر روی سطح حرکت می کند. این تکنیک زیبایی و جلوه خاص بسیاری به صحنه می دهد و کمتر موتوری قابلیت چنین کاری را در جهان دارد. و هر شی حتی با بیشتر از یک میلیون مثلث هم می تواند یک سایه صاف به صورت RealTime بر روی محیط بیاندازد. سیستم یکپارچه نورپردازی موتور هیچ محدودیتی برای عمق و پیچیدگی فعل و انفعالات نورپردازی ندارد. نورها می توانند به سادگی روشن و خاموش شوند.به راحتی می توان چرخه روز و شب را به صورت کاملاً RealTime اجرا نمود. شما می توانید بر حسب نیاز نورهای مورد نظر را برای کامپایل یا پردازش حذف یا اضافه کنید و همچنین توسط ویرایشگر موتور به صورت کاملاً RealTime نورها را ویرایش کرده و نتیجه را به صورت کاملاً لحظه ای مشاهده نمایید. همچنین در نورپردازی این موتور می توان از سبک اصطلاحاً Deferred استفاده نمود. با استفاده از این سبک می توان نورها و سایه ها را در مرحله post-processing رندر کرد. و این به معنی این است که تمام قدرت و نیرو برای تحلیل نورها برای Pixel های نهایی صحنه استفاده می شود. به همین خاطر می توان نورها و سایه ها را با سرعت فوق العاده زیاد و برای مدل هایی با میلیون ها مثلث اجرا نمود. و همچنین در پایین ترین حالت اجرا شما می توانید از 12 نور به صورت همزمان در صحنه استفاده نمایید که درنوع خودش بسیار قابلیت قوی و خوبی می باشد. جلوه های Post Processing: پیشرفت درسخت افزارهای گرافیکی این اجازه را به جلوه های Post Processing می دهد که بتوانند به صورت کاملاً تمام صفحه رندر شوند. و در حقیقت می توان نمایش بسیار عریضی از جلوه های ویژه را در بازی ها ارائه کرد. شما با استفاده از جلوه های ویژه Post Processing می توانید جلوه های سینمایی به بازی تان بدهید. موتور Leadwerks با داشتن یک بافر سطح پایین و سیستم شیدر اجازه می دهد که شما انواع مختلف جلوه های Post Processing را رندر نمایید. اگرچه این کار نیاز به داشتن یک درک دقیق از شیدرها می باشد. امّا انعطاف پذیری بسیاری به شما می دهد. همچنین شما می توانید جلوه های ویژه Post Processing جدید را بدون داشتن نیاز به تغییر در اصل منبع کد به موتور اضافه نمایید. در زیر ما چند جلوه ویژه Post Processing که توسط موتور پشتیبانی می شود را به شما معرفی می کنیم. Desaturation Depth of field Motion blur Gaussian blur Bloom Screen-space ambient occlusion Volumetric light scattering لازم به ذکر است که تکنیک Screen-Space Ambient Occlusion از جمله تکنیک های بسیار پیشرفته برای شبیه سازی روشنایی سراسری به صورت Real Time می باشد. این تکنیک ابتدا توسط کمپانی Crytek و برای موتور Crysis استفاده شد و بعد از آن به موتور Leadwerks اضافه گردید. برای رندر جلوه های Post Processing این موتور از یک بافر اضافه استفاده می کند. ابتدا صحنه با بافر gbuffer رندر می گردد. سپس نورها توسط بافر postbuffer رندر می شوند. در قدم نهایی بافتهای رنگی بافر postbuffer به بافر back buffer منتقل شده و با بکارگیری Post Processing کشیده می شوند. در تصویر زیر می توانید نمای شماتیک این کار را ببینید. جلوه های پیشرفته: سیستم بافر رندر این موتور به برنامه نویسان اجازه می دهد تا مولفه های بافر را به یک شیدر انتقال داده و سپس از آن به عنوان جلوه های پیشرفته استفاده نمایند. به عنوان نمونه جلوه هایی همچون چند جلوه ویژه پیشرفته زیر: Refraction and reflection Soft particles Water effects جلوه های جدید به راحتی می توانند وارد موتور شوند حتی بدون نیاز به داشتن منبع اصلی کد و تغییر آن. Occlusion Culling: موتور Leadwerks از درخت Occlusion Culling استفاده می کند که تحت GPU کار می کند و البته از سیستم بغرنج و پیچیده درخت BSP بسیار بهتر است. مواد و شیدرها رندرشدن سطح به صورت RealTime در این موتور پس از رفتن راه های طولانی و آزمایش بافت های متفاوت و نورهای light map بدست آمده است. نورپردازی Per-pixel، جلوه های انعکاس و انکسار که همگی اکنون امکان پذیر هستند حاصل رفتن راه های طولانی و کارهای فراوان می باشد. برنامه نویس کانال های رندرگر به خوبی توانسته بر روی این موتور کار بکند. البته بعد از افزوده شدن انعطاف پذیری های فراوان باید یک بهایی هم کاربران در برابر افزوده شدن پیچیدگی بدهند. کاربران باید متقاعد بشوند که مواد ترکیبی از یک کار هنری خوب و برنامه نویسی حرفه ای هستند. موتور Leadwerks دربردارنده یک کتابخانه از جلوه های حرفه ای شیدرها می باشد که یک هنرمند می تواند آنها را انتخاب نماید بعلاوه این که این انعطاف پذیری هم برای افزودن جلوه های جدید وجود دارد. ویرایشگر: موتور Leadwerks دربردارنده یک ویرایشگر مواد به صورت کاملاً Real Time می باشد. ویرایش شیدرها همچون برخی موتورهای دیگر نظیر Torque Game Engine Advanced در یک ویرایشگر متنی خارجی انجام می شود. و سپس با فشردن دکمه Compile می توانید به سرعت نتیجه را مشاهده نمایید. همچنین می توانید از کتابخانه آماده ویرایشگر جلوه هایی همچون normal mapping, specular reflection, cube mapping, parallax occlusion mapping و... را انتخاب نمایید. شیدرها: هر ماده می تواند دو شیدر را داشته باشد. شیدر رندر شدن که می تواند برای رندر شدن مواد بر روی صحنه استفاده شود و شیدر سایه که هنگام انداختن سایه (shadow map) و رندر آن استفاده می شود. بیشتر زمان ها از fragment (pixel) shader استفاده نمی شود. پس از این که shadow map فقط در اطلاعات عمق انباشته شد یک استثنا در حالت مستقر کردن و درخت مواد وجود دارد. هنگامی که از برای قسمت های خارج شده از سایه استفاده می شود. شیدر ها در موتور تحت استاندارد زبان شیدرنویسی GL یا به صورت کلی و اختصار GL Shading Language (GLSL) نوشته شده است به همراه یک وصله مهم که در بردارنده یک کلمه دستوری keyword که می تواند در کد با دربرداشتن یک فایل دیگر استفاده شود. برنامه نویسی موتور Leadwerks از ابتدا به صورت خیلی آسان برای استفاده طراحی گردیده است بدون این که خودش را قربانی قدرت کند. این موتور هر دو dynamic linked library (DLL) و ماژول های BlitzMax را ارائه می کند و به صورت رسمی از زبانهای , C++, C#C و BlitzMax پشتیبانی به عمل می آورد و همچنین در انجمن های پشتیبانی به خوبی از Delphi و Pure basic پشتیبانی می شود. و هدرهای آن هم به C وابسته است. درصورتیکه که LEO (Leadwerks Engine Objects) کتابخانه های در یک چهارچوب شی گرایی را برای برنامه نویسان حرفه ای آماده می کند. DLL های این موتور می توانند با هر زبان مجازی دیگری استفاده بشوند. چه به صورت رویه ای یا شی گرا.فشرده سازی بسته های فایل: شما می توانید فایلها را مستقیماً از بسته فشرده شده Zip بارگذاری کنید. و با گذاشتن رمز می توانید از فایلهایتان محافظت کنید. مدل ها موتور Leadwerks از پویانمایی اسکلتی (bone animation) ، fast hardware skinning و نمونه شی ای با اجرای سریع GPU پشتیبانی می کند. سیستم مدل در این موتور قابلیت ترکیب مش های بصری (Visual) با بدن های فیزیکی و مدیریت خودکار LOD برای خلق کلاسهای اشیای ساده و موثر را که برای بیشتر اشیای بازی ه کار می روند را دارد. تمامی اشیا می توانند سایه بیاندازند یا دریافت کنند.پویانمایی: موتور Leadwerks از پویانمایی اسکلتی با fast hardware skinning پشتیبانی می کند. با متوقف کردنبارگذاری رئوس Skinning به GPU موتور می تواند تعدادی زیادی از شخصیتها را با سرعت فریم بسیار نمایش بدهد. همچنین به سادگی می توانید یک شی را به هر عضو در سلسله مراتب مش ها پیوست کنید. نمونه ساده این کار دستور EntityParent می باشد. شی می تواند با عضو والدی که به آن وصل شده حرکت کند. نمونه این کد در زیر نشان داده شده است. EntityParent( gun, FindChild( player, "r_hand" ) ); Level of Detail: موتور Leadwerks تا 16 مش LOD را به صورت خودکار مدیریت می کند. خطه لوله فرمت های گرافیکی نرم افزارهای سه بعدی: در نمودار زیر می توانید خط لوله فرمت های چهار نرم افزار گرافیکی معروف جهان یعنی را ببینید. آن طور که به نظر می رسد این موتور هم همچون بسیاری از موتورهای دیگر با نرم افزار 3D Studio Max سازگاری بیشتری دارد. به عنوان نمونه در دو خط زیر هر دو یک ماده را می توانند ارجاع بدهند. LoadMaterial( "meshesvehiclescar01.mat" ); LoadMaterial( "abstract::car01.mat" ); فیزیک: این موتور برای فیزیک از موتور فیزیکی Newton استفاده می کند و همچنین یک سری کلاس های فیزیکی پایه کنترلگر کاربر هم در این موتور وجود دارد. در پاسخ به این سوال که چرا این موتور از موتور فیزیکی Newton استفاده می کند باید گفت که این شرکت مدعی شده بعد از آزمایش گزینه های متفاوت فیزیکی این موتور فیزیکی را به خاطر سرعت و انعطاف پذیری بیشتر در میان تمامی کتابخانه های فیزیکی انتخاب کرده است. هرچند که هیچ اشاره ای نکرده است که گزینه های دیگر چه موتورهایی بوده و من احتمال می دهم که این شرکت این آزمایشات را خیلی قبل تر و در زمانی که موتورهایی همچون Physx وجود نداشت انجام داده و دیگر بعد از سالها تصمیم به آزمایش دوباره و استفاده از موتورهای فیزیکی قویتر نگرفته است. و جالب تر این جاست که صراحتاً اعلام می کند تمامی موتورهای فیزیکی مورد آزمایش آنها رفتارهای عجیب و غریبی از خود بروز می دادند و فقط این موتور فیزیکی Newton بود که بهترین رفتارها را نمایش می داد. و اشاره ای هم به موتور ODE کرده و با نمایشی نشان می دهد که موتور Newton اجرای بهتری را نسبت به ODE در این موتور داشته است. اجسام: اجسام (Bodies) به صورت پایه در فیزیک موتور Leadwerks قرار دارند. این موتور از اجسام جعبه ها، استوانه ها، مخروط ها، کره ها، کپسول ها، استوانه های کج، مش های مثلثی، convex hulls و اشیای ترکیبی پشتیبانی به عمل می آورد. دستورات این موتور به شما قابلیت کنترل مولفه های فیزیکی نظیر نیرو (forces)، شتاب (velocity)، گشتاور (Torque)، کشش و ارتجاع (elasticity)، اصطکاک (friction) و دیگر تنظیمات مهم فیزیکی را می دهد. مفصل ها: مفصل ها (Joints) در این موتور با تنوع بسیار پشتیبانی می شوند. کنترل کننده شخصیت: کلاسهای تنظیم شده خوبی برای کنترل شخصیت در این موتور نوشته شده است. هنگام تنظیم کنترل گرهای شخصیت باید برخی مسائل زیر رعایت گردد. • شخصیت نباید از یک سطح شیب دار بسیار زیاد به سمت پایین لیز بخورد. • بالا رفتن شخصیت باید بدون کم شدن شتاب باشد به عنوان مثال نباید برای بالا رفتن از نردبان کوشش بیش از حد بکند. • کنترلگرها باید توانایی اثر متقابل بر روی دیگر اجسام فیزیکی را داشته باشند. • کنترلگرها باید توانایی هل دادن به جلو سایر اجسام فیزیکی دیگر را داشته باشند. • اشتباهات و چیزهای عصبانی کننده مطلقاً در کنترل گرهای شخصیت غیر قابل قبول است، کاربر باید حین بازی کردن و کنترل شخصیت احساس روان و سیال بودن کنترل شخصیت را داشته باشد. فیزیک وسایل نقلیه: گفتنی است که این موتور در حال کار برای ساختن فیزیکی مختص وسایل نقلیه است. مسلماً با وجود همچنین فیزیکی خیلی راحت می توان بازی های رانندگی را هم ساخت. صدا صدا دومین چیز مهم در انتقال احساس است که به تجربه فراوانی نیاز دارد. در بازی ها صداها با دقت توسط کاربران موشکافی می شود و صداها باید همچون ماده ها برای محیط طراحی شوند. صدا در این موتور با استفاده از API قدرتمند OpenAL آماده شده اند.صدای سه بعدی: جهان ما سه بعدی است پس طبیعی است که صدای درون آن هم به صورت سه بعدی شنیده شود. شما با کمک OpenAL در این موتور می توانید صداهای سه بعدی تولید نمایید. جلوه های EAX: موتور Leadwerks از سخت افزارهای جلوه های EAX پشتیبانی می کند. این به برنامه نویسان اجازه اضافه کردن جلوه های طنین (echo) و reverb در بازی را می دهد. با این کار می توانید محیط های اصطلاحاً acoustic بسازید. از نمونه های طبیعی این محیط ها به عنوان نمونه می توان به صدا درون حمام یا یک غار و... اشاره نمود. عوارض زمین سیستم عوارض زمین می تواند تا 33 میلیون مثلث را پشتیبانی کند. گذاشتن لایه های بافتی به همراه افت و خیزهای یک عوارض در حالت Real Time قرار دارد. و قابلیت طراحی مستقیم بر روی عوارض و البته عوارض زمین می توانند سایه صاف را در حالت Real Time انداخته یا بگیرند.لایه های بافت: ساختن لایه های بافت و طراحی آنها بر روی عوارض یا وارد کدن محدودیت ها برای فراز و نشیب ارتفاع عوارض همگی به صورت خودکار در این موتور همچون حجاری کردن یک سنگ همگی قابل انجام است و شما فوراً تغییرات انجام شده را می بینید. لایه های مش: با لایه های مش شما می توانید بیلیون ها درخت و سبزه زر را رندر کنید. سبزه زارها به صورت متحرک در اطراف دوربین و در سرتاسر صحنه تولید می شوند بدون این که حافظه پر بشود. ویرایشگر: Leadwerks Sandbox اجازه می دهد تا شما عوارض زمین را در حالی ویرایش کنید که به صورت لحظه ای و بصری نورها و سایه ها را هم مشاهده کنید همینطور لایه های بافت را بسازید و به عوارض طرح دهی کنید یا برای عوارض زمین محدودیت هایی برای فراز و نشیب ارتفاع عواض تعیین کنید تا این موتور به صورت خودکار آن محدودیت ها را بر روی عوارض اعمال و اصطلاحاً حجاری کنید. محدودیت برای لایه های بافت توسط terrain pixel shader انجام می گیرد و در عین حال به صورت بلادرنگ و Real Time تمامی تغییرات را مشاهده کنید. صافی های فرسایشی (Erosion) می توانند با تغییر شکل یک طرح نا هنجار را برای ساختن چشم اندازهای حقیقی در اختیارتان قرار بدهند. ابزارهای موتور Leadwerks Engine SDK به شما ابزارهایی برای کنترل کامل مدیریت بازی تان را می دهد. ویرایشگر Sandbox این موتور اجازه می دهد که شما یک صحنه را با نورها و فیزیک کاملاً Real Time بسازید. ویرایشگر مواد (Material Editor) این موتور به شما اجازه می دهد تا به صورت کاملاً Real Time مواد خود را بسازید. و model viewer ابزاری خیلی کارآمد و راحت برای دیدن فایلهای .gmf (Game Model Format) می باشد. Leadwerks همچنین از گذشته تاکنون از نرم افزار 3D World Studio پشتیبانی به عمل می آورده است. اکنون به اختصار قابلیتهای مختلف ابزارها را معرفی می کنیم.Sandbox: ویرایشگر بسیار حرفه ای مرحله این موتور می باشد که قابلیت های آن به قسمت های زیر تقسیم می شود: • Model Placement: کلیک و درگ بری ساختن مدل های جدید و یک محیط واسطه سه بعدی برای ساختن موقعیت و جهت اشیا در مرحله. • Lighting: حرکت نور به اطراف و مشاهده بلادرنگ نتیجه آن، شما نیازی به محاسبه Light Map یا پردازش اطلاعات بصری ندارید. همه چیز به صورت بلادرنگ و Real Time برای شما نشان داده می شود. • Terrain Editing: ساختن لایه های بافت و طراحی آن بر روی عوارض یا وارد کردن محدودیت های فراز و نشیب عوارض برای حجاری خودکار توسط موتور. • Physics: ویرایش و تعامل با فیزیک به صورت Real Time یا ساختن سلسله واکنشهای رویدادی. فیزیک می تواند با فشردن یک دکمه فعال یا غیر فعال شود. • Mesh Layers: رندر بیلیون ها درخت و سبزه زار با سیستم لایه های قدرتمند مش انجام پذیر است. لایه های مش می توانند با عوارض زمین هم جهت شوند. Material Editor: یک ویرایشگر ماده بصری که اجازه می دهد تا هنرمندان تنظیمات خودشان را میزان کرده و شیدرها را انتخاب کنند. Model Viewer: با استفاده از این ابزار می توانید مدل های با فرمت gmf. را همراه با نورهای Real Time را ببینید. دیگر ابزارها: از دیگر ابزارها می توان به ابزارهای زیر اشاره کرد: • Phygen: تولید کننده فیزیک تصادم collision اشیا. • b3d2gmf: این ابزار همانطور که از نامش مشخص است تبدیل کننده فایلهای با فرمت .b3d به فرمت .gmf می باشد. • Leadwerks Texture Tools: تولید کننده بافت های با فرمت .dds و normal map • Unwrap3D: خروجی .gmf • GMFDump: برای تحلیل محتویات فایل .gmf منابع آموزشی مسلماً یکی از مهمترین چیز خصوصاً برای کاربران ایرانی که اکثراً مبتدی هستند منابع آموزشی است. سازنده این موتور در سال 2008 تلاش فراوانی برای ارائه آموزش به کاربران این موتور انجام داد که حاصل این تلاش مقالات متعددی پیرامون کار با بخش های مختلف و در کنار آن ارائ فیلم های آموزشی بود که نقش مهمی در آموزش کاربران این موتور دارد امّا این موتور چون حدود یک سال است که پیشرفت فراوانی کرده به خاطر همین نباید انتظار داشت که همچون موتورهای با سابقه بتوان در مورد این موتور کتب و مقالات متعدد پیدا کرد. همچنین پایگاه اینترنتی این موتور دارای یک دانشنامه خوب پیرامون موتور می باشد که آدرس آن Main Page - Leadwerks Developer Wiki است. مسلماً شاید برخی از شما بپرسید که ما این همه اطلاعات پیرامون همه قسمت های موتور دادیم امّا چرا در مورد هوش مصنوعی مطلبی نگفتیم. متاسفانه سازنده این موتور هیچ مقاله و اطلاعات خاصی پیرامون هوش مصنوعی نداده است امّا بررسی ها نشان داده که شما برای هوش مصنوعی مجبورید با زبان اسکریپتی درونی Leadwerks Script دست و پنجه نرم کنید. امّا چون موتور به صورت منبع باز ارائه نمی شود مسلماً برای شما دردسرهای زیادی ایجاد خواهد شد چرا که هیچ کد هوش مصنوعی در زبان های تفاوت مچون C++ را نمی توانید به این موتور اضافه کنید. البته اگر در تالارهای گفتگوی این موتور کمی جستجو کنید شاید بتوانید چیزهایی پیرامون هوش مصنوعی و کدهای نوشته شده با استفاده از Leadwerks Script پیدا کنید. در انتها وبلاگ این موتور را به شما معرفی می کنم. این وبلاگ جدیدترین اخبار پیرامون پیشرفت کار این موتور را در اختیار کاربران قرار می دهد که برای مراجعه به این وبلاگ می توانید به آدرس http://www.Leadwerks.blogspot.com مراجعه نمایید.نويسنده : محمد غضنفري منبع: bazisaz.com |
برچسب ها |
موتور رندر |
کاربران در حال دیدن موضوع: 1 نفر (0 عضو و 1 مهمان) | |
ابزارهای موضوع | |
نحوه نمایش | |
|
|
War Dreams Super Perfect Body Scary Nature Lovers School Winner Trick Hi Psychology Lose Addiction Survival Acts The East Travel Near Future Tech How Cook Food Wonderful Search Discommend
Book Forever Electronic 1 Science Doors The Perfect Offers Trip Roads Travel Trip Time Best Games Of Shop Instrument Allowedly