اصطلاحات در طراحی بازی
سلام . توی این پست یک سری از اصطلاحاتی که ممکنه در طول مراحل طراحی بازی باهاش مواجه بشین رو تعریف میکنم .
Engine یا موتور طراحی بازی :
هسته ی اصلی همه بازیهاست که همه ی مراحل و برنامه ها و کدهای یک بازی رو با هم هماهنگ میکنه .
LPM :
مخفف کلمه ی low Poly Modeling به معنای مدل زدن اشیا ی 3بعدی در کیفیت متوسط یا پایین که مخصوص محیطهای بازی و real Time هستش و از حدود 27 قانون پیروی میکنه که در پست جداگانه توضیح میدم .
LOD :
مخفف کلمه ی Level of Detail به معنای سطح کیفیت برحست فاصله . در یک بازی که در محیط 3بعدی اجرا میشه CPU نمیتونه همه ی اشیای 3بعدی رو در کیفیتی ثابت Render کنه . برای همین برای هر شی 3بعدی 2 یا چند شی 3بعدی ولی با کیفیت پایینتر طراحی میشه که وقتی فاصله ی کاربر از شی زیاد شد کیفیت شی هم کم بشه و سرعت پردازش بیشتر بشه . این اصل خیلی مهمی توی طراحی بازی هست .
Emitter و Particle :
این دو اصطلاح معنی متفاوتی دارن ولی تا باهم نباشن کار نمیکنن . Particle یک ذره هست که برای نشان دادن دود یا آتش یا ... بسته به نوع محیط طراحی میشه و خیلی از حالات دینامیک و افکتها رو شامل میشه ولی به تنهایی استفاده نمیشه بلکه وقتی استفاده میشه که در Emitter جای گذاری بشه . Emitter تعداد بسیار زیادی از این ذره ها رو با یک حالت خاص به صورت اتوماتیک یا دستی تولید میکنه و جلوه هایی مثل دود و اتش و... رو پدید میاره . Emitter هم دارای یک نوع LOD هست که با زیاد شدن فاصله اولاً تعداد تولید Particle ها کم میشه و هم چنین کیفیت Particle ها مقدار ناچیزی کاهش میابد .
Next Generation of Games :
بازی هایی که با خلق ورژن سوم موتور طراحی Unreal Engine و ورژن دوم Cry engine و ورژن سوم Chrome Engine پدید اومدن و زبان سیستم سایه زنی یا Shader به این بازی ها اضافه شد . این سبک طراحی بازی در همه ی مراحل فرق داشت . مثلاً تعدادی از قوانین LPM رو نقض کرد و 17 قانون جدید به طراحی Low poly Modeling اضافه کرد . کیفیت های تکسچرینگ رو بالا برد و کلاً انقلاب بزرگی رو در طراحی بازی در سال 2003 و 2004 انجام داد که از همان سالها در امروز درحال پیشرفت بدون توقف است .
Mesh :
اصطلاح کلیی است که همه ی اشیای 3بعدی داخل محیط Real Time رو شامل میشه و Mesh به دو نوع Triangle یا 3گوشه و quadrangle یا 4گوشه تقسیم میشه که بستگی به نوع موتور طراحی بازی داره . هر نوع از این Meshهای یک سری خوبی و یک سری بدی دارن که بعداً ذکر میکنم .
Internal Files
:
به تمامی فایلها و عناصری که به صورت کامل و تمام در فایل اجرایی بازی که فرمت آن exe است میگویند که البته تعداد انها توی بازیهای حجیم و سنگین با گرافیک بالا کم بوده و فقط برای بازیهای 2 بعدی از این نوع فایلها استفاده میشه . استفاده از این نوع فایلها اجرای بازی رو کند و زمانبر میکنه .
External Files :
که مربوط میشه به کلیه ی فایلها و عناصر مورد استفاده در بازی که به صورت فایل جدا در یک پکیج ذخیره میشه و در مواقع مورد نیاز با توجه به اسم و برچسب پکیج در سیستم بازی فراخوانی میشن . این پکجها در پایگاه اطلاعات یا Database بازی حداقل با 4 شناسه ثبت میشن .
1 : نام فایل که شامل نامی که روی کل پکیج نسبت داده شده
2 : نام برچست یا Tag که به صورت کد یا عدد ذخیره میشن
3 : فرمت و حجم که معلومه کارش چیه
:ID
که یک شماره ی خواص رو برای جدولبندی داخلی پایگاه اطلاعات و کم کردن حجمش از اون استفاده میشه . شماره ها هم بسته به تعداد پکیجها معمولاً از 01 تا 99برای 99 پکیج , 001 تا 999 برای 999 پکیج و الاآخر ...
listener :
اگر با زبانهای برنامه نویسی کار کرده باشین حتماً کار اینو میدونید . ولی در طراحی بازی و Engine حمی فرق داره . Listener یک تابع حالت و یا تابع زمان هست که در هنگام وقوع یک تابع جدید رو ازاد میکنه و مهمترین فرقش اینه که با توجه به حالت یا زمان دستور به اون اضافه میکنه .
Injector :
یک عضو تقریباً مهم اجرای کدهای پایگاه داده هست که در مواقع خیلی خاص استفاده میشه و یک کد خاص یا گاهی اوقات کد تصادفی رو به داخل پایگاه داده تزریق میکنه و نتیجه ی اون رو یا در پایگاه داده نگه میداره و یا اون رو به یک عملگر نسبت میده تا کد اجرا بشه .
Debugger :
یک نوع Listener با کار مداوم هست که در تعداد کمی از Engine ها و پایگاههای داده تعبیه شده . کار Debugger انتظار برای یک خطای جزیی یا کلی در هنگام پردازش یا انجام بازیه . اگر Debugger یک خطا رو پیدا کنه بلافاصله اون رو به یک Injector میده تا Injector کدی که خطا رو برطرف میکنه بسازه و به داخل پایگاه داده تزریق کنه . اونوقت پایگاه داده یک کد تصحیح رو به قسمتی که خطا رخ داده میفرسته تا خطا برطرف بشه و یک نسخه ی خطا و کد تصحیح خطا رو در قسمت از پیش تعیین شده ذخیره میکنه تا دوباره این خطا اتفاق نیفته .
با تشکر از master game