تور لحظه آخری
امروز : یکشنبه ، 9 دی 1403    احادیث و روایات:  امام صادق (ع):غِنا از خود نفاق بر جای می گذارد.
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

اجاره سند در شیراز

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

خرید بلیط هواپیما

بلیط اتوبوس پایانه

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

پوستر آنلاین

بهترین وکیل کرج

بهترین وکیل تهران

خرید از چین

خرید از چین

تجهیزات کافی شاپ

کاشت ابرو طبیعی و‌ سریع

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

قرص گلوریا

نمایندگی دوو در کرج

دوره آموزش باریستا

مهاجرت به آلمان

بهترین قالیشویی تهران

بورس کارتریج پرینتر در تهران

تشریفات روناک

نوار اخطار زرد رنگ

ثبت شرکت فوری

تابلو برق

خودارزیابی چیست

فروشگاه مخازن پلی اتیلن

قیمت و خرید تخت برقی پزشکی

کلینیک زخم تهران

خرید بیت کوین

خرید شب یلدا

پرچم تشریفات با کیفیت بالا و قیمت ارزان

کاشت ابرو طبیعی

پرواز از نگاه دکتر ماکان آریا پارسا

پارتیشن شیشه ای

اقامت یونان

خرید غذای گربه

رزرو هتل خارجی

تولید کننده تخت زیبایی

مشاوره تخصصی تولید محتوا

سی پی کالاف

دوره باریستا فنی حرفه ای

چاکرا

استند تسلیت

 






آمار وبسایت

 تعداد کل بازدیدها : 1846169969




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

چگونه ساخت یک موتور طراحی بازی را شروع کنیم؟ -


واضح آرشیو وب فارسی:سایت ریسک: چگونه ساخت یک موتور طراحی بازی را شروع کنیم؟ Mahdi_Rashed 23 اسفند 1389, 00:14چند نفر از دوستانم درحال برنامه نویسی موتور طراحی بازی هستند و بعضی هم قصد دارن که شروع کنن. ولی تقریباً همه اونها اشتباه شروع میکنن. منظور از شروع یک پروژه موتور طراحی بهترین روش طراحی بخشهای جداگانه موتور طراحی بازی هست تا در آخر مشکلاتی مثل نا هم خوانی بخشهای موتور با هم یا بروز مشکلات برنامه نویسی پیش نیاد. البته برای شروع هر پروژه باید اول ایده ها جمع آوری و بهترین ایده انتخاب بشه . همچنین روشها یا متدهای برنامه نویسی و ... . ولی بعد از پشت سر گذاشتن این مراحل باید چه کار کرد ؟ طبق بسیاری از کتابهای آموزش ساخت موتور طراحی و سیستمهای گرافیک 4 روش برای شروع ساخت یک موتور طراحی بازی وجود داره که هریک مراحل آغاز پروژه رو توضیح داده. روشها عبارتند از: روش Proper Programming Method روش UI-Based Programming روش Framework Programming روش Core-Based Programming یا Kernel-Based Programming هر یک از این روشها در ابتدا دارای طراحی یک الگریتم و روند پیشروی یکشکل هستند ولی اصل روش شروع کار عملی و برنامه نویسی ساخت موتور طراحی بازی هست. هر یک از این روشها رو در یک پست جداگانه توضیح خواهم داد. :green: البته یک سری روشهای دیگه هست که ترکیبی از روشهای بالاست . یعنی چهار روشی که ذکر شده اصلی هستن و میشه باهاشون چند روش ترکیبی درست کرد. من خودم از ترکیب روش اول و سوم و گاهی اوقان با چهارم استفاده میکنم. Mahdi_Rashed 23 اسفند 1389, 00:14روش Proper Programming Method : Proper Programming Method یا مناسبترین روش برنامه نویسی اولین روش شروع ساخت یک موتور طراحی بازی است . Proper Programming Method یعنی ترکیب چند متد مختلف که با هم تشکیل یک متد برنامه نویسی مناسب رو میدن و یا ابدای یک روش برنامه نویسی که برای کار پروژه مناسب باشه. یک متد برنامه نویسی وقتی مناسب گفته میشه که دارای خصوصیاتی مانند سرعت کامپایل بالا یا نسبتاً خوب باشه، آموزش اون به افراد دیگه آسان باشه، قابلیت استفاده در تمامی بخشهای موتور رو داشته باشه، قابلیت بروزرسانی هسته موتور رو داشته باشه و از همه مهمتر قابلیت تعریف زبان اسکریپت مخصوص یک موتور رو هم داشته باشه. درحال حاظر تعداد بسیار بسیار زیادی متد برنامه نویسی برای هر زبان برنامه نویسی حالا چه به صورت عمومی یا به صورت خصوصی ابدا شده که هر یک برای یک بخش از برنامه نویسی نرم افزاری مناسب هست ولی تعداد متدهایی که برای همه بخشهای برنامه نویسی نرم افزار وجود داره بسیار کم و انگشت شمار است. منظور همه بخشها در برنامه نویسی نرم افزاری یعنی مثلاً برنامه نویسی موتور طراحی بازی، نرم افزار نمایش عکس یا پخش صدا و ... . البته متدهایی که همه بخشهای برنامه نویسی نرم افزاری رو پوشش میدن بسیار مشکل هستن و یادگیری و استفاده از اونها نیازمند یک گروه چند نفره هست. در زبان برنامه نویسی C# و C#.net متد های زیادی وجود داره که مناسب ترین اون برای کار برنامه نویسی سیستمهای گرافیک و از جمله موتورهای طراحی بازی C# Advanced هست که معمولاً پکیج 2005 اون با همه نسخه های Visual Studio منتشر میشه ولی در حال حاظر دو پکیج اساسی دیگه که 2008 و 2010 هم هست به صورت standalone منتشر شده که البته رایگان نیست ولی گرون هم نیست . 2008 اون 590 دلار و 2010 620 دلار هست که لایسنس اونها مادامالعمره . من نسخه اصلی اون رو دارم و استفاده میکنم ولی تاجایی که یادمه نتونستم نسخه های وارز و غیر قانونی رو پیدا کنم که ناچار شدم بخرم. حتی روی شبکه بیت تورنت هم نبود. در روش Proper Programming Method مراحل کار پروژه و برنامه نویسی یک موتور طراحی بازی استاندارد به شکل زیر تعریف شده: ترکیب چند متد برنامه نویسی یا ابدای یک متد به عنوان متد برنامه نویسی موتور طراحی بازی. آموزش متد طراحی شده یا ترکیب شده به افرادی که در ایجاد ان نقشی نداشته اند ولی در طراحی موتور بازی نقش دارند. طراحی یک framework بر اساس متد جدید یا استفاده از یک framework آماده که متد را قبول کند ( Visual Studio تقریباً همه متد ها را قبول میکند ) طراحی هسته موتور با متد مورد نظر طراحی Database برای داده ها و اطلاعات موتور و بازی یا همسان سازی سیستمهای متن باز با هسته موتور. طراحی In-game console یا command panel درون بازی. طراحی زبان اسکریپت نویسی برای موتور طراحی بازی. طراحی سیستم مدیریت صحنه یا scene management . طراحی سیستم های زنجیره ای مانند مدیریت مرحله و ... طراحی سیستم گرافیک که شامل نورپردازی، رندر تکسچر، رندر Shader و ... است و یا همسان سازی سیستمهای متن باز با هسته موتور. طراحی سیستم پخش صدا و موسیقی یا همسان سازی سیستمهای متن باز با هسته موتور. طراحی سیستم هوش مصنوعی یا یا همسان سازی سیستمهای متن باز با هسته موتور. اضافه کردن بخشهایی که ایده طراحان بوده ( بخشهای اضافی موتور) طراحی سیستم پذیرش پلاگین در صورت نیاز. فقط طراحی رابط کاربر یا .User Interface برنامه نویسی رابط کاربر و متصل کردن و همسان سازی بخشهای موتور به هسته و رابط کاربر. پیکربندی و برنامه نویسی یک سیستم محافظ برای سورس اصلی موتور. پیکربندی و برنامه نویسی یک سیستم محافظ برای لایسنس کاربری موتور. ( اگر موتور رایگان عرضه نمیشود ). بهینه سازی همه بخشهای موتور و رفع مشکلات احتمالی. کامپایل نهایی موتور برای استفاده در رایانه های دیگر. تست نسخه Beta. رفع اشکالات احتمالی تست نسخه نهایی. کارهایی از قبیل طراحی Help برای موتور ، نمونه ، لوگو و... طراحی SDK اگرسیستم پذیرش پلاگین را طراحی کرده اید. فروش و طراحی بازی. Mahdi_Rashed 23 اسفند 1389, 15:07روش UI-Based Programming: UI-Based Programming یک متد برای اون دسته از طراحان و برنامه نویسایی هست که قصد دارن پروژه خودشون رو به روشهای متن باز codex تکمیل کنن. یعنی ایده و رابط کاربر و برخی از بخشهای مهم رو طراحی و برنامه نویسی کنن و پروژه رو با توضیحات در یک سایت نگه دارنده codex ها قرار بدن . سپس افراد زیادی هستن که ممکنه بخشی از پروژه رو طراحی کنن و از منابع متن باز برای تکمیل پروژه شما استفاده کنند. این روش دارای دو مرحله اصلی هست که اول طراحی هسته و سیستم موتور و دوم طراحی رابط کاربری است . بعد از این دومرحله شما باید پروژه رو در اختیار توسعه دهندگان قرار بدین تا با توسعه دادن هر بخش توسط یک فرد یک موتور طراحی بازی داشته باشید. پروژه های Open Source Codex یا پروژه های Open Source یک فرق اساسی دارن و اون اینکه که پروژه های Open Source بدون توسعه قابل استفاده هستن و فقط نیاز مند یک کامپایل اساسی هستن ولی پروژه های Open Source Codex باید کامل توسعه داده بشن تا آماده طراحی بشن . موتورهای گرافیکی شبیه Panda و Ogre3D ابتدا به شکل پروژه Open Source Codex بودن که پس از کامل شدن به یک پروژه متن باز قابل استفاده تبدیل شدند. Mahdi_Rashed 23 اسفند 1389, 15:07روش Framework Programming: Framework Programming یکی از روشهای خوب برای طراحی یک موتور طراحی بازی هست البته به شرطی که با روشهای دیگر هم ترکیب بشود . Framework Programming اینطور تعریف میشه که شما با استفاده از متد برنامه نویسی هر زبان برنامه نویسی که مورد نظرتون هست یک Framework مخصوص طراحی و برنامه نویسی میکنید که استانداردهای لازم برای استفاده از یک سیستم گرافیک شبیه DirectX رو داشته باشه . بعد از اون پروژه دقیقاً شبیه متد Proper Programming Method پیش میره ولی با استفاده از متد استاندارد برنامه نویسی هر زبان برنامه نویسی و بر پایه Framework طراحی شده توسط شما. این روش اگر به صورت کلی در یک پروژه استفاده بشه چند ضعف بزرگ سیستم برنامه نویسی استاندارد رو به شما نشون میده و شما رو وادار به استفاده از روشهای طراحی موتور بازی دیگه به عنوان روشهای ترکیبی میکنه . از ضعفهایی که متدهای برنامه نویسی استاندارد هر زبان برنامه نویسی دارن مخصوصاً در بخش برنامه نویسی گرافیک و سیستم گرافیک، عدم توانایی خلق برنامه های اضافی برای بهبود کیفیت مثلاً سیستم رندرینگ یا نورپردازی یا سایه زنی است. یکی دیگر از ضعفها وجود باگهای فراوان بسته اصلی برنامه نویسی هست که معمولاً باید طی چندین و چند مرحله تست حل و تعمیر بشن. مهمترین ضعف هم نیاز تغییر جامع و کلی سیستم در صورت تغییر ورژن هسته سیستم گرافیک یعنی همون DirectX یا برخی مواقع Open GL و ... است . فرق متد استاندارد برنامه نویسی DirectX 9 با وروژن بالاترش یعنی 10 انقدر زیاد هست که تغییر سیستم موتور طراحی بازی از DirectX 9 به 10 مثل برنامه نویسی یک موتور طراحی بازی جدید هست. به همین دلیل هست که متدهای استاندارد زبان برنامه نویسی که همه کتابها به همون روش آموزش دادن بیشتر به درد ساخت نرم افزارهای کوچک . بزرگ تحت ویندوز میخوره و قدرت پشتیبانی از یک موتور طراحی بازی به صورت تنها رو نداره . Mahdi_Rashed 24 اسفند 1389, 00:07روش Core-Based Programming یا Kernel-Based Programming: روش Core-Based Programming یا Kernel-Based Programming یکی از روشهای مورد علاقه برای برنامه نویسان منابع متن باز هست. Kernel-Based Programming در واقع برنامه نویسی کلی هسته موتور طراحی بازی به شیوه ای است که بعداً بتوان آن را توسعه داد. و توسعه دهنده نیز فرد دیگری هست. پس متد برنامه نویسی باید متد استاندارد برای هر زبان برنامه نویسی باشه. طراحی با روش Kernel-Based Programming بیشتر با زبان C و C++ انجام میشه چون اکثر توسعه دهندگان منابع متن باز این دو زبان رو به عنوان زبان استاندارد انتخاب میکنند. در مراحل طراحی یک موتور طراحی بازی به روش Kernel-Based Programming نباید به فکر طراحی یک Framework بیفتید چون با طراحی یک Framework اولاً روشی که استفاده کرده اید فقط Kernel-Based Programming نیست و دوماً متد برنامه نویسی شما ممکن است از حالت متد برنامه نویسی استاندارد یک زبان برنامه نویسی خارج شود . باید یادآوری کنم که Kernel-Based Programming به تنهایی برای طراحی یک موتور بازی متنباز مناسب است ولی اگر Kernel-Based Programming با روشهای دیگه به کار گرفته بشه دیگه برای یک منبع متن باز استاندارد مناسب نیست و افرادی زیادی نمیتونن اون رو توسعه بدن. پس اولین مرحله به جای ساخت یک متد جدید یا یک framework ، طراحی هسته موتور طراحی بازی هست و بعد از اون میتونید مطابق روش Proper Programming Method عمل کنید به شرطی که Kernel-Based Programming رو به یک روش ترکیبی تبدیل نکنه یعنی اگر هر یک بخشها باید طوری برنامه نویسی میشد که از متد برنامه نویسی استاندارد خارج میشد یا باید اون بخش رو حذف کنین ( پیشنهاد نمیشه ) یا اینکه سعی کنید با متد استاندارد طراحیش کنید حالا ممکنه هست که ناچار به حذف یا تغییر کاربر برخی از بخشهای اون بشید. در ضمن نوشتن سیستمهای محافظ و SDK نیاز نیست چون اولاً یک منبع متن باز باید رایگان باشه و دوماً منبع متن باز خودش یک SDK هست. smoke_unity 24 اسفند 1389, 00:34واقعا تبریک میگم.بحث خیلی خوبی رو شروع کردی.برای ما که هیچ اطلاعاتی در مورد ساخت انجین نداریم میتونه یه امتیاز خوب باشه. میخواستم چندتا سوال بپرسم.اول اینکه میشه هسته موتور رو با c# نوشت.ایا واقعا سرعت c# اونقدر نصبت به c++ پایین هست که برای نوشتن هسته موتور پیشنهاد نمیشه. برای نوشتن موتور ها میشه از تکنولوژی .net استفاده کرد.یعنی ما یه هسته مرکزی داشته باشیم و هر کس با هر زبانی که .net پشتیبانی میکنه برای موتور کد بنویسه. با وجود منابع اموزشی کم و بروز نبود کتاب در مورد dx خود شما از کجا شروع کردید. من خیلی دوست دارم یاد بگیرم ولی نه یه کتاب به روز در مورد dx هست و نه یه کتاب در مورد api win32 و من واقعا نمیدونم از کجا شروع کنم. اگه میشه در مورد پایه کار و شروع بیشتر توضیح بده.فکر کنم تاپیک پر طرفداری بشه. Mahdi_Rashed 24 اسفند 1389, 00:47کتابایی که من باهاشون شروع کردم اینا هستن. Advanced 3D game programming all in one Game testing All in one beginning Direct 3D programming 2nd edition Game & Game Interface Design 3D Game Engine programming Introduction to 3d Game Engines اینا بر پایه C++ و گاهی هم C سیستم directX رو توضیح دادن. ولی همونطور که قبلاً هم گفته بودم البته میتونین اونایی رو مطالعه کنید که به بخش مورد نظرتون در برنامه نویسی بازی یا به طور کلی DirectX مربوط میشه. من خودم اولی، سومی و چهارمی رو خوندم و به نظر خودم خیلی مناسب بوده ولی اگه میخواین بیشتر تحقیق کنید پیشنهاد میکنم که ساختارهای مختلف رو از منابع اینترنتی با یک سرچ ساده مطالعه کنید و بعد بشینید و درباره چیزی که میخواین مثلاً یک سیستم نور پردازی فکر کنید و الگوریتمهای اون رو رسم کنید . وقتی به بهترین الگریتم رسیدین همون رو در محیط برنامه نویسی به هر زبانی که بلد هستین و امکانات گرافیک 3بعدی رو داره برنامه نویسی کنید . خوبی این روش اینه که باعث میشه به روشهای کلیشه ای کتابها کار نداشته باشین و نو آوری کنین . من موتور طراحی بازی Main Core رو به صورت کامل با C# نوشتم البته با نسخه های Advanced که برای برنامه نویسی گرافیک ساخته شده . از دید من و مقایسه هایی که انجام دادم C# در بیشتر مواقع مخصوصاً خلق تکنولوژی های جدید از C++ پیشی میگیره ولی خوب باز هم هردو زبان مناسب ساخت game Engine هستن و مهم این هست که فرد کدوم رو بهتر بلد باشه . C# و C#.net کلاً یکی از بخشهای نسخه های C# Adv هستن. خود هسته موتور شاید با دات نت ها نوشته نشن ولی استفاده اون در طراحی Base نرم افزاری موتور ضروریه. smoke_unity 24 اسفند 1389, 13:47دادا اخر این سوالم رو جواب ندادی. اول اینکه میشه هسته موتور رو با c# نوشت.ایا واقعا سرعت c# اونقدر نسبت به c++ پایین هست که برای نوشتن هسته موتور پیشنهاد نمیشه. چون منبع فارسی در مورد win32 api وجود نداره میخوام برم سراغ c# و بعد هم برم برنامه نویسی دایرکت ایکس با c#. شما هم اگه بیشه بحث تون رو ادامه بدید.و تجربیاتتون رو به ما منتقل کنید. شما موتورتون رو برای دانلود نمیزارید؟(برای تست) Mahdi_Rashed 24 اسفند 1389, 14:04اول اینکه میشه هسته موتور رو با c# نوشت.ایا واقعا سرعت c# اونقدر نسبت به c++ پایین هست که برای نوشتن هسته موتور پیشنهاد نمیشه. گفتم که از دید من C# خیلی بهتر از C++ هست و من پایینی سرعت رو احساس نمیکنم . به شما هم پیشنهاد میکنم که برای نوشتن موتور طراحی بازی از طریق زبان C# یک framework طراحی کنید و از طریق اون یک موتور طراحی بازی بسازید . من هم این کار رو کردم و واقعاً نتایج خوبی گرفتم . استفاده از C++ هم خوبه ولی C# خیلی سطح وسیعی رو پوشش میده . از دید سرعت من جاهایی خوندم که C# سرعت پایینتری داره نسبت به C++ ولی من این رو قبول ندارم چون در مقایسه هایی که خودم انجام دادم C# هم سرعت بیشتری داره و هم آسونتر و بهتره. منابع فارسی هم متاسفانه خیلی کمه و اگر هم باشه یا خیلی بد ترجمه شده یا اینکه خیلی کلیشه ای و محدود آموزش داده . بهترین راه آموزش کسب تجربه از طریق نوشتن برنامه های ابتکاری هست. این تاپیک هم ادامه داره :) موتور طراحی بازی Main Core () رایگان نیست و نسخه تستی رو براش طراحی نکردیم . به همین دلیل هست که نمیتونم برای دانلود قرار بدم . در حال حاظر داریم روی نسخه 1.2 کار میکنیم که اگر بتونیم یک سری از محدودیت ها رو حل بکنیم یک نسخه Sandbox رایگان و محدود برای دانلود قرار میدیم. موفق باشید:rose: anar2010 24 اسفند 1389, 14:55عالی بود Mahdi_Rashed 26 اسفند 1389, 13:27اصول استفاده از روشهای ترکیبی: اگر قصد استفاده از چند روش رو دارین باید به مواردی دقت کنید وگر ممکنه که خروجی شما به درستی کار نکنه. هر موتور طراحی بازی به طور کلی باید دارای یک هسته و یک سیستم گرافیک برای رندرینگ رئال تایم باشه در غیر این صورت حتی با داشتن بقیه بخشهای یک موتور نمیتونه کار بکنه . پس در استفاده از روشهای ترکیبی باید یک روش که Base اون هسته و سیستم گرافیک باشه رو به عنوان روش پایه یا مادر انتخاب کنید. در مرحله بعد باید با توجه به این که محصول نهایی شما رایگان و متن باز و یا غیر رایگان است باید روشی را انتخاب کنید که در اون سیستم های متن باز ملاک باشد در غیر این صورت روشی باید انتخاب کنید که ملاک آن نوشتن سیستم حفاظت و کیت توسعه نرم افزار یا SDK باشد. در استفاده از روشهای ترکیبی معمولاً مرحله اول و دوم ملاکی برای بقیه مراحل است که انتخاب آنها به خصوصیات موتور و ابزارهای جانبی اون مرتبت میشه . البته مد نظر داشته باشید که چهار روشی که در پستهای قبل ذکر شد فقط چهار روش که روشهای مهم در طراحی موتور بازی است وگر نه تعداد روشها بسیار بسیار زیاد هست و حتی خود شما میتوانید یک روش انتکاری ابدا کنید ولی در ساخت یک روش جدید همیشه این رو در نظر بگیرین که بسته به نوع موتور اول هسته و framework را طراحی و بعد از این دو بخش شروع به طراحی بخشهای دیگر موتور کنید. همچنین در انتخاب متد برنامه نویسی در ترکیب روشها یا ابدای یک روش جدید نهایت دقت رو به کار ببرید چون اگر متدی را اشتباهی انتخاب کرده و تا وسط کار پیش برید بعد دیگه امکان عوض کردن متد یا به اصطلاح multimethod کردن پروژه عاقلانه نیست چون همیشه بخشهایی هست که دو متد جداگانه نمیتونن با هم تبادل انجام بدن و حتی برخی مواقع بوده که ضد هم کار میکنن. یعنی مثلاً متد اول یک دستور رو به هسته موتور میفرسته و متد دوم همون دستور رو از هسته موتور حذف میکنه قبل از این که حتی پردازش بشه . smoke_unity 01 فروردين 1390, 00:56دوست عزیز واقعا عالی بود. اگه میشه ادامه بده. Mahdi_Rashed 01 فروردين 1390, 20:57یک کتاب جدید درباره ساختار پایگاههای داده در موتورهای طراحی بازی خریداری کردم و مشغول خوندن هستم و قسمتهای مهم رو بعد از ترجمه قرار خواهم داد . پس منتظر باشید :wink: smoke_unity 02 فروردين 1390, 11:48واقعا دمت گرم. Mahdi_Rashed 04 فروردين 1390, 13:16بخش بعدی روند طراحی یک پایگاه داده برای موتور طراحی بازی است. اول سوال اینجاست که پایگاه داده چیست؟ پایگاه داده در موتورهای طراحی بازی نگه دارنده سه بخش مهم در روند اجرای بازیها هستن. بخش نگه دارنده داده های مقداری، بخش نگه دارنده داده های پایه و بخش نگه دارنده سورس بازی. داده های مقداری داده هایی اغلب به صورت اعداد یا Hex ها هستن که اطلاعاتی مانند مختصات و مقیاس و ... را که مربوط به نحوه اجرای trigger ها و دستورات میان بازی هست را شامل میشوند. داده های پایه کلیه داده هایی هستند که موتورطراحی بازی بعد از عملیات Compile بازی به صورت کلی آنها در در بخشی خاص از پایگاه داده ذخیره میکند تا در هنگام اجرای بازی مورد استفاده قرار بگیرند . این داده های به این دلیل پایه نام گرفتند چون بازیهایی که روی یک موتور طراحی بازی خاص ساخته شده اند برای اجرا به این داده ها نیازمندند . داده های پایه از هر موتور طراحی بازی تا هر سبک طراحی بازی متفاوتند و معمولاً برای بخش نگهدارنده آنها سیستم امنیتی جداگانه ای طراحی میشود. سروس بازی یعنی کلیه عناصر 2بعدی و 3 بعدی مورد استفاده در یک بازی که توسط طراحان در محیط بازی یا کاراکتر ها یا هر شی موجود در بازی استفاده شده . پایگاه داده پس از دریافت این سورس ها بر طبق اصولی که با آن پایگاه داده را طراحی کردند . الگوریتمهایی که برای آن نوشته اند عمل فشرده سازی در حد ممکن را بر روی سورس بازی اعمال میکند . تا حد ممکن یعنی تا جایی حجم آن را کم میکنند تا سرعت Unpack کردن آنها در بازی چه به صورت Real-time unpacking یا full unpacking از حد مجاز بیشتر نشده و معمولاً حد مجاز به صورت یک متغیر قبل از فشرده سازی توسط طراح قابل تغییر است . طبق تعاریف ارائه شده در سال 2010 در صنعت راحی بازی 4 نوع پایگاه داده اصلی داریم: Open Source Database Open File Database Regular Database Secure Database در پستهای آینده ساختار هر یک از این انواع پایگاه داده ها را ذکر میکنم و اول باید ترجمه بشه:green: amir.nemati63 04 فروردين 1390, 14:13آقای Mahdi_Rashed عزیز. به وجود دکمه ی تشکر واقفم! ولی دیشب که کل تاپیکهای این انجمن رو از اول تا اخر خوندم و بدلیل تاریخ نوشته ها نتونستم پاسخ بذارم، تاریخ به روز این نوشته رو غنیمت شمردم و خواستم از شما تشکر کنم. دیشب با وجود شما به ایرانی بودن خودم افتخار کردم. امیدوارم راهی رو که در پیش گرفتین به خوبی ادامه بدین. من خیلی به ساخت بازی علاقه دارم در زمینه های مرتبط به غیر از برنامه نویسی هم فعالیت داشتم. امیدوارم قسمتی از اموزشها و مطالبتون مربوط به ساخت بازی برای افراد مبتدی و با تکیه بر برنامه نویسی اون باشه. چون به نظرم مسائل دیگه ی اون رو میشه به صورت تقریبا مرتبط توی انجمن های دیگه پیدا کرد. براتون آرزوی موفقیت میکنم . اگر این نوشته ی من نظم تاپیکتون رو بهم میزنه معذرت خواهی میکنم و خواهش میکنم پاکش کنین. Mahdi_Rashed 04 فروردين 1390, 17:01آقای Mahdi_Rashed عزیز. به وجود دکمه ی تشکر واقفم! ولی دیشب که کل تاپیکهای این انجمن رو از اول تا اخر خوندم و بدلیل تاریخ نوشته ها نتونستم پاسخ بذارم، تاریخ به روز این نوشته رو غنیمت شمردم و خواستم از شما تشکر کنم. دیشب با وجود شما به ایرانی بودن خودم افتخار کردم. امیدوارم راهی رو که در پیش گرفتین به خوبی ادامه بدین.شما لطف دارین . من هم امیدوارم که بتونم به موقع ایت تاپیک رو به روز کنم با مطالب جدید و مفید. من خیلی به ساخت بازی علاقه دارم در زمینه های مرتبط به غیر از برنامه نویسی هم فعالیت داشتم. امیدوارم قسمتی از اموزشها و مطالبتون مربوط به ساخت بازی برای افراد مبتدی و با تکیه بر برنامه نویسی اون باشه.من هم اول خیلی به برنامه نویسی علاقه نداشتم چون واقعاً کار سختیه ولی وقتی که شروع کردم دیدم ترکیب گرافیک مخصوصاً real-time با برنامه نویسی کلاً یک مفهوم دیگه میشه و کیفیت کار رو از خیلی از رندر های software بیشتر میکنه و برای همین بود که برنامه نویسی رو هم شروع کردم و خوشبختانه تا الان (البته به نظر خودم ) موفق بودم. این تاپیک که راجع به طریقه شروع ساخت و تجزیه و تحلیل روشهای طراحی بخشهای مختلف یک موتور طراحی بازی و شامل برنامه نویسی نمیشه و علتش این هست که گوناگونی زبانهایی که سیستمهای گرافیکی رو پشتیبانی کنند بسیار زیاده و متد ها و روشهای برنامه نویسی هم که جای خود داره . ولی 99 درصد زبانها از یک سری مفهومات کلی پیروی میکنند و در آموزشها معمولاً سعی میشه این مفهومات رو ذکر کنن تا کسی که داره آموزش میبینه با توجه به اونها با زبان برنامه نویسی که خودش یاد داره کار رو درست انجام بده . این روش آموزش توی اکثر کتابهای � سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 2399]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن