کتاب مبانی ساخت بازیهای رایانه ای با یونیتی

در این پست قصد دارم تا شما را با اولین محصول شرکت اوژن تصویر آشنا کنم 

کتاب مبانی ساخت بازیهای رایانه ای با یونیتی : در این محصول شما را قدم به قدم برای ساخت یک بازی سه بعدی راهنمایی می کنیم در زیر می توانید پیشگفتار کتاب را مطالعه کنید در پست بعدی فهرست مطالب را برایتان ارسال خواهم کرد 

 

پیشگفتار

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

موتور کار خود را با رندرینگ (روشی برای نمایش گرافیک ها بروی تصویر و مجتمع ساختن روش کنترلی و تنظیم مجموعه ای از قوانین برای پیشبرد بازی) آغاز می کند و چیزیست که سازنده اش آنرا برای "دربرگرفتن" بازی می سازد. موتورهای بازیهای 3 بعدی پیشرفته، مجموعه کدهایی هستند که با دقت فراوان نوشته شده اند و اغلب پس از استفاده کردن از آن در هدف اصلی خود (تولید بازی رایانه ای)، فروخته و اصلاح شده و بار دیگر مورد استفاده قرار می گیرند. مثالی واضح از اینگونه موتورها، موتور مجموعه بازیهای حماسی Unreal است. این موتور در اواخر دهۀ 1990 برای یک بازی رایانه ای اول شخص به اسم Unreal ساخته شد ولی بعدها به موفقیتهای فراوانی دست پیدا کرد و توسط دیگر سازندگان در صدها بازی تجاری و شبیه سازی مورد استفاده قرار گرفت.

این نوع موتورهای تجاری، قیمت و پیچیدگی بالایی دارند و بدون داشتن مطالعات وسیع در زبانهای برنامه نویسی مختلف از جمله C++، ورورد به عرصۀ صنعت بازیسازی برای بسیاری از افراد مستعد  تازه کار امری دشوار است. بیشتر بازیهای رایانه ای و بازیهای کنسولهای مختلف، با C++ ساخته می شوند زیرا در حال حاضر، C++ از نظر سرعت محاسباتی مؤثرترین زبان برنامه نویسی است و ساختار و فرامین موتورهای بازیهای تجاری برای عمل کردن، به هزاران هزار کد برنامه نیاز دارند.

در یونیتی این کد با استفاده از کتابخانۀ Mono نسخۀ منبع باز C++ و با بهره گیری از روش کامپایل همزمان (JIT) تحویل داده می شود. با استفاده از کامپایل JIT، موتورهایی نظیر یونیتی از مزیت کامپایل با سرعت بالا برخوردار می شوند و بعنوان مثال، کدی که برای یونیتی می نویسید، درست پیش از اجراء شدن، در Mono کامپایل می شود. این ویژگی برای بازیهایی که به اجرای کد در لحظات معیّنی طی مدت زمان اجرای بازی نیاز دارند، بسیار مهم است.

یونیتی همچنین از مزایای کتابخانه های نرم افزاری دیگری نظیر موتور فیزیکی PhysX شرکت Nvidia، OpenGL و DirectX برای رندرینگ 3 بعدی و OpenAL برای صداسازی استفاده می کند. تمام این کتابخانه ها درون یونیتی گنجانده شده اند بنابراین نیازی به نگران شدن دربارۀ نحوۀ استفادۀ جداگانه از آنها نخواهید داشت و کافیست تا با آسودگی به پشتی صندلی خود تکیه داده و اجازه دهید تا آنها در یونیتی، تمام کارها را برای شما انجام دهند.

سازندگان موتورها همچنین ابزارهایی برای فرمان دادن به برنامه های کاربردی خود می سازند. بعنوان مثال، خلق یک زمینه در یک فضای باز گرافیکی، بوسیلۀ مجموعه ای از دستورالعملها انجام می شود که تعریف کنندۀ شکل (توپوگرافی) و ظاهر بصری زمینه بوده و چگونگی واکنش آنرا در برابر تغییرات شکلی صورت گرفته طی بازی، تعیین می کنند. ولی این مجموعۀ دستورالعملها، در صورت متصل نبودن به ابزاری بصری برای کنترل کردن ویژگیهای اشاره شده در بالا، بعنوان بخشی از موتور، کارایی نخواهد داشت بنابراین، به وجود یک واسط کاربری گرافیکی (GUI) نیاز است. سازندگان موتور بازیها اغلب واسطی شامل چند ابزار می سازند. این واسط از یک سو به اعضای گروه سازنده اجازه می دهد تا همزمان بر روی بخشهای مختلف موتور کار کنند و زمان فرایند ساخت را کاهش دهند و از سوی دیگر در مرحلۀ پس تولید، موتور را در دسترس خریداران بالقوۀ دیگر قرار می دهد.  همچنین یونیتی یک جمعیت کاربری بسیار بزرگ دارد که اعضای آن، ابزارهای خود را بشکل پلاگین های مختلفی برای یونیتی، با یکدیگر به اشتراک می گذارند. برای کسب اطلاعات بیشتر می توانید به بخش جامعۀ یونیتی در http://www.unifycommunity.com/wiki مراجعه کنید.  

ورود به عرصۀ بازیسازی مستلزم آموختن زبانهای برنامه نویسی دشواری نظیر C++ یا موتورهای ساخته شده با این زبان بوده و برای بسیاری از تازه کاران دشوار است. آغاز یادگیری مفاهیم، روشها و اصول طراحی بازیسازی بدون تحصیل در سطح کارشناسی برنامه نویسی یا انیمیشن رایانه ای، برای بسیاری از مشتاقان این صنعت امکان پذیر نیست. شرکت Unity Technologies، راه حلی برای رفع این مشکل ارائه کرده است. این شرکت دانمارکی فعالیتش را در سال 2001 با ساخت موتور بازی اختصاصی خود آغاز کرده و پس از آن همواره کوشیده است تا موتور بازی خود را ساده تر کند و یک بستۀ بازیسازی ساده با کاربری آسان و فراگیر ارائه دهد. مهندسان یونیتی سعی کرده اند تا بجای ساخت یک GUI (واسط کاربری گرافیکی)، کد منبع پیشران موتور را در ورای صحنه های بازی قرار داده و نگهدارند. اینکار به کاربر اجازه می دهد تا بدون نیاز به ساخت بخشهای مجزا، کد منبع موتور قدرتمند را کنترل کند. این عامل یونیتی را در میان بازیسازان تازه کار بسیار محبوب کرده و احتمالاً یک دلیل مهم شما برای خواندن این کتاب است. یونیتی با ساخت مفاهیم منطقی و رده بندی روشهای مرسوم مورد استفاده در بازیسازی، قدرت موتور خود را در دستان کاربر قرار داده و اجازه می دهد تا با کمترین تلاش، حداکثر نتیجه حاصل شود.

یونیتی برای بازیسازان جدید جذابیت زیادی داشته و چنان شکاف بزرگی را در بازار بازیسازی پر کرده که کمتر نرم افزار یا موتور دیگری قادر به انجام آن بوده است. یونیتی دارای قابلیت تولید بازیهای استاندارد حرفه ای با محیطهای 3 بعدی برای هر دو گروه رایانه های شخصی و مکینتاش است و یک وب پلیر انحصاری دارد. این خصوصیات باعث شده اند تا کمتر نرم افزاری از جنبۀ سرعت فراگیر شدن به سطح  یونیتی برسد. همچنین نسخه های مخصوص Wii شرکت Nintendo و گوشی تلفن همراه iPhone شرکت Apple و پلی استیشن و اندروید این موتور نیز در دسترسند . مفهومش آنستکه پس از کسب مهمارت در استفاده از یونیتی، می توانید علاوه بر رایانه های شخصی، برای کنسولها و گوشیهای تلفن همراه بازی بسازید.

آهنگ پرشتاب چرخ صنایع سرگرمی سازی و بازاریابی، نیازمند انجام چرخشی سریع بسوی استفاده از رسانۀ بازی رایانه ای است. همچنین، بسیاری از شرکتها اکنون در جستجوی بسته هایی مانند یونیتی هستند تا بتوانند با آنها به ساده ترین شکل ممکن، محصولات بهتری بسازند. بنظر می رسد با عرضۀ نسخۀ 2.5 یونیتی در سال 2009 که برای رایانه های شخصی طراحی شده، کاربرد این موتور- نرم افزار توسعۀ فراوانی پیدا کرده است. ولی یونیتی چیست؟ چگونه کار می کند؟ چه قابلیتهایی دارد؟ و مهمتر از همه اینکه، چگونه ظرف تنها چند هفته شما را در آغاز سفرتان برای تبدیل شدن به یک بازیساز حرفه ای همراهی می کند؟

/ 0 نظر / 69 بازدید