برنامه نویس hossien014.github.io
ساختاردهی پوشه ها در پروژه بازی سازی
بسم الله الرحمن الرحیم
یکی از مواردی که در بازی سازی به نظر ساده می آید ولی اگر به آن توجه نکنیم باعث ایجاد مشکلات جدی در پروژه می شود ساختار و نامگذاری پوشه ها است .در یک پروژه بازی سازی هر چه جلوتر بروید تعداد فایل ها به شدت افزایش می یابد و اگر یک ساختار مناسب برای دسته بندی فایل ها نداشته باشید کلی وقت و انرژی اضافه از شما گرفته می شود.
اینکه ساختار پوشه ها در پروژه شما به چه صورت باشد بستگی به تیم شما و بزرگی پروژه دارد ولی امروز من قصد دارم دسته بندی بر اساس نقش اعضای تیم را برای شما شرح بدهم. البته حتی اگر به صورت یک نفره بازی می سازید می توانید از این روش استفاده کنید.
دسته بندی بر اساس تخصص اعضای تیم
خوب در این روش برای هر یک از تخصص ها یک پوشه ایجاد می کنیم یعنی اینکه یک پوشه برای برنامه نویس ها یک پوشه برای گیم دیزاینر ها یک پوشه برای طراح رابط کاربری و .... ایجاد می کنیم .
به عکس زیر دقت کنید
عکس بالا خیلی ساده همه چیز را توضیح می دهد . مثلا شما باید برای برنامه نویس هایی که روی پروژه کار می کنند یک پوشه بسازید که شامل تمام فایل هایی باشد که برنامه نویس قرار است روی آن کار کند . در مثال بالا یک پوشه به اسم scripts ساخته شده است که برای استفاده programmer(برنامه نویس) ها است و محتوای آن نیز cod است و ساختار (structure) آن بر اساس نیم اسپیس یا قابلیت ها است, اجازه بدهید این را کمی بیشتر توضیح بدهم .
مثلا شما پوشه scripts را برای برنامه نویس ساختید که محتوی آن فقط کد است حالا پوشه های و فایل های داخل scripts باید چگونه دسته بندی بشوند؟ خوب این چیزی است که شما باید مشخص کنید ولی بهتر است بر اساس قابلیت ها باشد مثلا یکسری کد دارید که مربوط به تیراندازی می باشد شما باید برای این کد ها یک پوشه در scripts ایجاد کنید .
به همین ترییت قبل از شروع پروژه تمام پوشه ها را بسازید مثلا پوشه بعدی باید برای دیزاینر ها باشد.پس یک پوشه بسازید اسمش را game بگذارید البته شما هر اسمی می توانید انتخاب کنید ولی مهم این است که این پوشه برای استفاده دیزاینر ها است پس تمام prefab ها و ابجکت های که به کد وصل هستند را در این پوشه بگذاید . نوع ساختار درون این پوشه by entity است یعنی بر اساس موجودیت یا جنس باید فایل پوشه های درون آن دسته بندی بشوند مثلا یک پوشه برای کارکتر یک پوشه برای اسلحه ها یک پوشه برای ماشین ها و ..
بقیه پوشه ها و ساختار درون آنها هم می توانید با استفاده از تصویر راهنمایی که در بالای این مطلب قرار داده ام بسازید.
این نوع ساختار خصوصا برای بازی سازهایی که به صورت تیمی کار می کنند خیلی مناسب است و مشخص بودن محتوی وساختار این پوشه ها روند آرمش بخش و تمیز پروژه شما را تضمین می کند.
نظر شما چیست؟ شما چگونه پوشه های خود را مدیریت می کنید؟
مطلبی دیگر از این انتشارات
دیزاین پترن Observer در یونیتی
مطلبی دیگر از این انتشارات
مفهوم Serialization در یونیتی
مطلبی دیگر از این انتشارات
مارک سرنی کیست؟