تور لحظه آخری
امروز : چهارشنبه ، 5 اردیبهشت 1403    احادیث و روایات:  حضرت فاطمه (س):آن گاه كه در روز قيامت برانگيخته شوم، گناهكاران امّت پيامبر اسلام را شفاعت خواهم كرد....
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

بلومبارد

تبلیغات متنی

تریدینگ ویو

خرید اکانت اسپاتیفای

کاشت ابرو

لمینت دندان

ونداد کولر

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

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

صرافی rkchange

دانلود سریال سووشون

دانلود فیلم

ناب مووی

تعمیر کاتالیزور

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

دیزل ژنراتور موتور سازان

سرور اختصاصی ایران

سایت ایمالز

تور دبی

سایبان ماشین

جملات زیبا

دزدگیر منزل

ماربل شیت

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

آموزش آرایشگری رایگان

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

آموزشگاه زبان

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

ترازوی آزمایشگاهی

رنگ استخری

فروش اقساطی کوییک

راهبند تبریز

ترازوی آزمایشگاهی

قطعات لیفتراک

وکیل تبریز

خرید اجاق گاز رومیزی

آموزش ارز دیجیتال در تهران

شاپیفای چیست

فروش اقساطی ایران خودرو

واردات از چین

قیمت نردبان تاشو

وکیل کرج

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

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

سیسمونی نوزاد

پراپ تریدینگ معتبر ایرانی

نهال گردو

صنعت نواز

پیچ و مهره

خرید اکانت اسپاتیفای

صنعت نواز

لوله پلی اتیلن

کرم ضد آفتاب لاکچری کوین SPF50

دانلود آهنگ

طراحی کاتالوگ فوری

واردات از چین

اجاره کولر

دفتر شکرگزاری

تسکین فوری درد بواسیر

دانلود کتاب صوتی

 






آمار وبسایت

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




هواشناسی

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

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



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

پروژه بازی Deep in the Darkness -


واضح آرشیو وب فارسی:سایت ریسک: پروژه بازی Deep in the Darkness Mahdi_Rashed 20 فروردين 1390, 23:32Deep in the Darkness یک پروژه شخصی هست که میخوام به عنوان اصلیترین منبع برای تست موتور طراحی بازی گروه خودم یعنی Main Core Game Engine برای نسخه 1.2 که در پایان تابستان سال 1390 منتشر میشه طراحی کنم. اول قرار بود تا این بازی به صورت Full Real-Time Strategic طراحی بشه ولی برای این که همه خصوصیات موتور در یک تست واحد وجود داشته باشه سبک بازی رو به Less Real-Time Strategic یا بازیهایی نسبتاً شبیه RPG یا Role-playing game طراحی کنیم که کاربر در استفاده در بازی محدودیت هایی رو داشته باشه که به دو دلیل برای من مهم هست . اول این که خوب در دنیا واقعی وجود ارتش چنیدن و چندصد هزار تایی از یک وسیله جنگی غیر ممکنه بنابراین شرط محدودیت باعث میشه که کاربر نبوته هر چقدر که دوست داشت نیرو تولید کنه و دویم دلیل محدودیت رایانه های نسل جاری هست. با اضافه شدن هر شی 3بعدی در محیط رئال تایم یک درصدی به پردازش CPU اضافه میشه ومقداری هم از فضای قابل استفاده ی RAM کاسته میشه و وقتی قرار باشه همه خصوصیات گرافیکی Main Core یا کلاً خصوصیات High resolution در بازیهای استراتژیک اعمال بشه این حجم پردازش چنیدن برابر میشه ولی با اعمال محدودیت از مشکلاتی شبیه کاهش FPS یا سرعت بر حسب فریم در بازی و اجرا نشدن درست کد های گرافیکی و سیستمی جلو گیری بشه . () این لوگوی اصلی و رسمی بازی Deep in the Darkness هست. () این هم لوگوی رسمی خودم هست. اونایی که من رو میشناسن میدونن که از سال 2008 که به صورت نسبتاً حرفه ای وارد کار طراحی و برنامه نویسی سیستمهای گرافیکی شدم این لوگو رو برای خودم طراحی کردم . البته اولش چون زیاد تو کار طراحی لوگو نبودم یک لوگوی خیلی ساده طراحی کردم ولی بعد خوشم اومد و از تغییر دادنش منصرف شدم. () این هم که لوگوی پروژه یا بهتر بگم مهمترین پروژه من یعنی موتور طراحی بازی Main Core و استودیوی طراحی Main Core Technology هست که با همکاری چند نفر از دوستان که خیلی در راه طراحی این موتور به من کمک کردن ایجاد شد و تا حالا خیلی از پروژه ی خودمون راضی بودیم. :green: در پستهای آینده درباره خصوصیات و داستان بازی صحبت خواهم کرد . موفق باشید AMIR_REZAs 21 فروردين 1390, 21:13سلام کارتون واقعا درسته ...:oops: من در ضمینه ی انجین های آماده تجربه ی تقریبا زیادی دارم ، اگر خواستید میتونم تو ساخت بازی کمکتون کنم.... Mahdi_Rashed 21 فروردين 1390, 21:57من در ضمینه ی انجین های آماده تجربه ی تقریبا زیادی دارم ، اگر خواستید میتونم تو ساخت بازی کمکتون کنم با تشکر از شما ولی پروژه Main Core مال خودمون هست و چون نسخه 1.2 اون در مرحله طراحی هست نمیتونیم از افراد خارج از تیم خودمون استفاده کنیم. البته این کار رو به صورت شخصی و تنهایی طراحی میکنم ولی خوب کار روی پروژه موتور طراحی بازیمون به صورت تیمی هست. Mahdi_Rashed 22 فروردين 1390, 22:00خصوصیات بازی Deep in the Darkness به سه دسته تقسیم میشن. خصوصیات درون بازی و خصویات گرافیکی و خصوصیات کلی بازی. منظور از خصوصیات بازی، روند کلی بازی و Gameplay بازی هست. خصوصیات گرافیکی هم که معلومه چی هست و خصوصیات کلی بازی هم شامل سیستم های به وجود آورنده داده های تصادفی برای طراحی مراحل بازی، سیستم هوش مصنوعی و مواردی از این قبیل هست. الان تقریباً حدود 1 ماه هست که دارم روی یک نسخه معمولی از موتور طراحی بازی خودم یعنی Main Core کار میکنم تا هسته موتور رو برای استفاده از کل حجم پردازشی گرافیک برای بازی استراتژی آماده کنم. کلاً میشه گفت: استفاده از کل حجم پردازشی GPU = بازی استراتژی با بالا ترین گرافیک ممکن ( تقریباً در حد بازیهای اول یا سوم شخص ) شاید فکر کنید که داشتن گرافیک بالا در حد یک بازی اول یا سوم شخص برای بازی ها استراتژیک چیز غیر ممکنی باشه ولی با کار دقیق روی محدودیتها در بازی و برنامه نویسی دوباره هسته با قواعد دقیق System Optimization میشه محیط یک بازی رئال-تایم استراتژیک رو به محیطی شبیه بازیهای اول یا سوم شخص یعنی گرافیک بالا و نور پردازی و رندر دقیق تبدیل کرد. یکی از قواعد محدود سازی سیستم های گرافیک یا بهتر بخوام بگم یکی از اصول و تئوری های گرافیک، تئوری همکاری موقتی یا Temporary Working یکی از تئوری های گرافیک هست که از نسخه 10 DirectX در سال 2009 ارائه شد. (Advanced DirectX 10 Programming - صفحه 140 و خورده ای). این تئوری همنطور که از معنی فارسی اون پیداست از اشیا خواهش میکنه که همکاری موقتی داشته باشن و وقتی که نیاز به نمایش اونها نیست کلاً از صفحه بازی حذف بشن. شاید بخواین بگین که فرق این تئوری با کلاس برنامه نویسی culling در طراحی بازی چیه. خوب دو دقه صبر کنید تا بگم. کلاس Culling یکی از قواعد Optimization در برنامه نویسی بازی ها و سیستم های گرایم رئال تایم هست که میتونه به کل یک شی 3بعدی یا به face های اون به صورت جداگانه اعمال بشه و وقتی که دید بازیکن در صحنه بازی فاصله زیادی نسبت به شی دارای کلاس Culling باشه، کلاس توابع حذف موقت رو اعمال میکنن. حالا یا روی کل شی یا روی Face های دارای کلاس. این کلاس در DirectX 9 یکی از مهم ترین کلاسهای بحث فشرده سازی و مدیریت حجم پردازش یک بازی به حساب میاد ولی مشکلاتی هم داره . در مراحلی که پیچیدگی طراحی زیاد هست حتی حذف موقت و نمایش دادن دوباره اون حجم پردازشی زیادی رو اشغال میکنه و باعث کاهش سرعت بازی میشه. همچنین این کلاس به Face های یک شی دارای Polygon های زیاد اعمال میشد ولی اجرا نمیشد و علت اون Overload شدن هسته پردازشی زبان برنامه نویسی در بازیها بود که به دلیل بالا رفتن حجم پردازش از اجرای اون جلوگیری میکرد. تئوری همکاری موقت یا به صورت Syntax اون رو به صورت tempwork در برنامه نویسی استفاده میکنن (گاهی هم به صورت tempobj) برای ضعف سیستم های گرافیک در توابع Culling و کلاسهای متعدد با کاربر Cull ارائه شد. فرق tempwork با culling اینجا بود که در تئوری و تابع tempwork به جای حذف یک آبجکت ( شامل همه خصوصیات ) از محیط بازی که دور از دید بازیکن یا پشت سر بازیکن قرار داره، اون آبجکت رو به صورت Temp نگه داری میکنه ولی مقدار متغیر render اون رو 0 میکنه تا سیستم رندر اون رو مجای به نمایش در محیط بازی نشناسه . وقتی یک داده به صورت temp در جایی ذخیره میشه حجم پردازش برای حذف و نمایش دوباره اون بسیار بسیار کمتر از تابع Cull هست. البته این خصوصیت میتونه از طریق Option های بازی فعال یا غیر فعال بشه. به همین دلیل هست که موقع نصب یک بازی که از DirectX 10 و 11 پشتیبانی میکنه، به شما میگه که بازی (مثلاً) 10 گیگابایت فضای ثابت و دو گیگابایت فضای دینامیک نیاز داره. این دو گیگابایت فضای دینامیک همون temp مربوط به کلاس و تئوری همکاری موقت یا temporary working هست. معمولاً این فضای دینامیک از قبل محاسبه میشه ولی اگر باز هم حالتی پیش اومد که این فضای دینامیک پر شد یا مثلاً حافظه شما بیشتر از حد بود، سیستم DirectX و کلاس tempwork به صورت خودکار اشیای سنگین تر رو از طریق temp در بازی حذف و نمایش میده و اشیای سبک تر رو از تکنیک کلاس Culling حذف و نمایش میده. Mahdi_Rashed 22 فروردين 1390, 22:00مهمترین ویژگیهای گرافیکی بازی: نورپردازی کاملاً دینامیک و پیشرفته + Real-Time Global illumination برخی از جلوه های ویژه محیطی شبیه Bloom و Glow و Lens Effect سایه زنی دینامیک Soft و Hard سیستمهای Timing برای شبیه سازی روز و شب و زوایای تابش نور خورشید سیستمهای شبیه سازی اب و هوا و سیستم دینامیک شبیه سازی باد سیستم رندر پیشرفته متریالها + تکنیکهای HLSL و Global Language برای متریال سیستم Animated Level of Detail و تئوری Temporary Working تکنیک های Morph و Animated Morph توابع شبیه سازی عناصر طبیعیت + ساخت داده های تصادفی ( درخت، گیاه، کوه و دشت و ... ) شبیه سازی چمن از طریق متریال مخصوص DirectX 10 (متریال Real-Time Fur Rendering) سیستم پیشرفته رندر سیستم های ذره ای + سایه زنی دینامیک سیستم ذره ای تکنیکهای Deferred Rendering و سیستم Rapid Fire Engine + متریال ( سیستم پیشفرض DirectX 10 و کلاس های اون ) چندتا خصوصیت دیگه که مهم نیست Mahdi_Rashed 23 فروردين 1390, 14:06مهم ترین ویژگی های کلی بازی: دینامیک کامل در محیط بازی برای همه عناصر ( اشیا، سیستم ذره ای، کاراکتر ها ) سیستم متغیر دینامیکی ( برای شبیه سازی خرابی های و آسیب ها به صورت دینامیکی ( فرو ریختن دیوار و یا آسیب به وسایل ) سیستم کامل Rag-Doll برای کاراکترها در بازی سیستم هوش مصنوعی مخصوص Main Core که کار گروه خودمون هست ( Mass AI calculation, Goal Driven, Crowd و چند نمونه دیگه ) تکنیک هوش مصنوعی Web AI Calculation برای جلوگیری از انجام اعمال تکراری توسط کاراکتر و عناصر تبعیت کننده از سیستم هوش مصنوعی تکنیک Sub AI برای شبیه سازی منطق و کلاسهای Logic برای طبیعی تر شدن اعمال انجام شده توسط تبعیت کننده های سیستم هوش مصنوعی سیستم ساخت مناظر طبیعی به صورت تصادفی ( ساخت کوه و صخره و ... با روش lindermayer و روشهای Displacement map ) تکنیکهای rigid body و soft body برای دینامیک بهتر تکنیک on surface dynamic از سیستم DirectX 10 برای دینامیک بهتر آب ( حرکت کشتی ها روی آب و یا برخورد گلوله ها در آب ) چند نمونه دیگه که مهم نیستن Mahdi_Rashed 24 فروردين 1390, 14:54داستان بازی: توجه داشته باشید که گفتن داستان بازی به صورت کامل و جزییات ممکن نیست داستان بازی در سال 2149 میلادی انتفاق میفته یعنی زمانی که همه کشورها از انرژی خورشید به عنوان منبع اصلی انرژی استفاده میکنن و همه کارخانه ها و وسایل نقلیه جنگی و غیر جنگی توسط انرژی برق حاصل از نور خورشید حرکت میکنند. البته یک گروه هم هستن که هنوز از انرژی های فسیلی استفاده میکنند و به همین دلیل همیشه با بقیه شهرها در حال جنگ هستن. داستان بازی به 6 دوره تقسیم میشه که هر کدوم دارای تعدادی مرحله هستن. دوره اول: اوج قدرت خورشید دوره ای که باید با گروه خاص بجنگید و از شهر خودتون ( که از شهرهای خیلی بزرگ روی زمین هست ) دفاع کنید. در همین دوره هست که نوری که از خورشید به زمین میرسه به تدریج کم میشه و در آخرین مرحله این دوره کلاً خورشید خاموش میشه. دوره دوم: خاموشی سراسری، نابودی سراسری موجودات فضایی که باعث تاریک شدن نور خورشید شدن به زمین حمله میکنن و در عین حال وضعیت شهرها هم خوب نیست. در نبود انرژی برق و درنیتجه نبود دارو و غذا مردم هرج و مرج میکنن و بین شهرها و کشورها جنگ اتفاق میفته. شما در این دوره اول باید وضعیت شهر خودتون رو با تقسیم درست منابع باقی مونده به حالت اول برگردونید و در حمله دشمن جلوگیری کنید و بعد یک عده رو برای مذاکره به پایگاه گروه ذکر شده ( که به دلیل داشتن منابع فسیلی ) بفرستید تا برای نابود کردن بیگانگان متحد بشید. قابل ذکر هست چون انرژی برق حاصل از خورشید دیگه وجود نداره هیچ وسیله نقلیه جنگی هم کار نمیکنه و حالا این گروه قوی ترین ارتش رو داره چون به جای برق در وسایل نقلیه از بنزین و سوخت فسیلی استفاده میکنه. دوره سوم: بازگشت به تکنولوژیهای گذشته در این دوره بسیاری از شهرها و کشورهای روی زمین به دلیل حمله بیگانگان یا جنگها داخلی از بین رفته. شما باید با استفاده از نیروهای خودتون که دیگه دارای وسایل جنگی هم هستید از مرزهای شهر خودتون دفاع کنید و از شهر های اطرافتون که هنوز نابود نشدن دفاع کنید. به دنبال منابع غذایی و سوختی برید و مناطقی که بیگانگان حضور دارند رو نابود و بازپس گیری کیند. دوره چهارم: افشاء در پی پیدا کردن مردم در شهرهای مختلف، در یکی از شهرهای بزرگ به مدارکی میرسید که اطلاعات بسیار مهمی رو داره و از شناسایی سفینه های فضایی و فعالیتهای غیر طبیعی روی زمین خبر میده و اطلاعات بسیار مهمی در مورد سلاحها و ادوات جنگی بیگانگان در اختیار شما قرار میگیره. دوره پنجم: انقلاب صنعتی در این دوره به تکنولوژی هایی دست پیدا میکنید که باعث میشه تا سلاحها و منابع سوختی جدیدی رو اختراع و کشف کنید و برای حمله نهایی و نابودی کامل بیگانگان فضایی آماده بشید. همچنین با استفاده از اطلاعات به دست اومده از دوره چهارم میتونید سلاح بزرگی رو بسازید تا دوباره خورشید رو روشن کنه. دوره ششم: اخراج بیگانگان همه چیز برای یک حمله اساسی به بیگانگان آماده هست ولی اول باید استراتژی درستی رو اتخاب کنید و بعد با کمک متحدانتون که در دوره های قبل با اونها متحد شدین بیگانگان رو اخراج کنید و بازی رو به پایان برسونید. داستان این بازی که خیلی ساده و پیش پا افتاده هست توسط من، امیر تهرانی ( دوستم ) و جواد ( یکی دیگه از دوستان ) نوشته شده. Mahdi_Rashed 28 فروردين 1390, 00:06تقریباً از 3 روز پیش در تلاش حل همه مشکلات نسخه آزمایشی 1.2 موتور طراحی بازی بودیم که خوشبختانه حدود 2 ساعت پیش با موفقیت انجام شد و نسخه آزمایشی 1.2 موتور طراحی بازی Main Core با موفقیت به ساختار هسته و سیستمهای نسخه 1.1.4.00 متصل شد . البته این نسخه آزمایشی هست و نسخه اصلی در September سال 2011 منتشر میشه. توی این دوره دو سه روزه من هم هسته موتور رو مطابق همون چیزی که خودم لازم داشتم تا باهاش یک بازی با مشخصات ذکر شده بسازم تغییر دادم. و از یکی دو روز آینده شروع به طراحی سیستم Terrain generator و Texture placement برای صفحه و فضای بازی میکنم. اگه این دو مورد که الان گفتم خوب از آب در بیاد در نسخه 1.2 هم به صورت رسمی قرار خواهد گرفت. حالا چطوره یکم از موتور خودم تعریف کنم ؟ :spam::snap: عکسی که میبینید در طی یک هفته گذشته مدام به صورت کد در command console سرور موتور Main Core وارد شد. یک سیستم کد خوانی ساده که توسط یکی از دوستان به صورت یک پنل کنترل سرور از طریق کد نویسی طراحی شده و همون اوایل که سرور خوریداری شد روی سرور پیاده شد. این کنترل پنل کلید دسترسی به کلیه فایلها و عناصری هست که روی سیستم عامل سرور (ویندوز) قرار داره. شامل کلیه فایلهای کامپایل شده و سورسهای موتور Main Core و سیستم مدیریت کاربری موتور که خودش شامل اطلاعات کاربرای فعلی و فایلهای log سرور و کاربرا هست. این سیستم تماماً توسط خودمون طراحی شده و بر پایه برنامه نویسی های Sharp Coding ( من نمیدونم چیه ) و زبان C++ نوشته شده. سیستم امنیتی اون هم از یکی از قوی ترین کامپوننتهای متن باز امنیت نرم افزاری استفاده شده که نمیتونم اسمشو بگم چون نمیدونم اسمش چیه فقط میدونم توی سورس فورج برای دانلود هست و اگه پیداش کردین دانلود کنید و در پروژه های خودتون استفاده کنید. ( قسمت سرور و برنامه نویسی این سیستم توسط امیر تهرانی صورت گرفته و من زیاد در مورد ساختار برنامه نویسیش اطلاع ندارم ) . میخوام با چندتا از کدهای ساختار سیستم مدیریت سرور Main Core آشناتون کنم. البته مهمها رو نمیتونم بگم چون از نظر امنیتی ممکنه تعدادی باگ داشته باشه هنوز که از طریق برخی کدها قابل نفوذ هست. پنل مدیریت Main Core بر روی سرور دارای سه سری دستور ساده هست که ساختار برنامه نویسی دارن. به جز سه سری دستور 1 سری دستور اجرایی هم داره که زیاد مهم نیست. سری اول و دوم دستورات متصل شدن به بخش مدیریت سرور و مدیریت پنل و محتوای پایگاه داده سرور هست که نمتونم در موردش صحبت کنم. سری سوم شامل کلیه دستورات مدیریت محتوای سرور هست که یک سری از اونها رو در بالا مشاهده میکنید. مثل دستور load که با جستجوی فایلی که فراخوانی کردیم اون رو به یک لیست اضافه میکنه که ما اسمش رو لیست دستور جاری یا Current Program list گذاشتیم. این لیست بعد از هر دستور اجرا کننده و اجرای صحیح اون خالی میشه ( از نظر امنیتی مهم میباشد ) . با دستور load یک فایل در لیست قرار میگیره که دارای تگها مختلف هست که هر تگ مجموعه دستورات برنامه نویسی شده رو داره. این تگ ها هم با load شدن فایل آماده استفاده میشن. بعد از Load دستور run رو میبینید که اون تگها رو فراخوانی میکنه و در صورت نیاز اجرا و یا به زیر شاخه های برنامه نویسی متصل میشه . به صورت کلی در برنامه نویسی های موتور main core تگها به این صورت طبقه بندی میشن. پیشوند mc : از اصلیترین پیشوندهای برنامه نویسی در سیستم موتور طراحی بازی ما هست و فرمت اصلی فایلهای موتور هم mc یا مخفف Main Core نامگذاری شده. پیشوند i و s : در برنامه نویسی های ما مخصوصاً در بخش سرور S موتاه شده System یا set هست و I بسته به محل قرار گیریش به برای Input و Interface نقش ایفا میکنه. اگر از I به تنهایی استفاده بشه به یعنی inject یا install کردن یک دستور در جاهای مختلف ولی اگر i قبل از s قرار بگیریه input خونده میشه و از یک تابع میخواد تا input مورد نظر در System مورد نظر رو شناسایی و فراخوانی کنه. شبیه core_i_s_update_link_12 که میگه از تابع core که اینجا تگ مجموعه برنامه نویسی core موتور طراحی بازی هست input دستور link رو دریافت کن و دستور update رو با مقدار 12 روی اون اعمال کن. 12 یا 1.2 یک فایل هست که برای نسخه 1.2 روی سرور آپلود شده و دارای همه دستورات و زیر مجموعه های مورد نیاز به روز رسانی هسته و ساختار موتور هست. این دستور از مجموعه ی Core داده ی link رو میگیره و با گرفتن دستور update همون داده های رو از مجموعه دستورات فایل 12 پیدا میکنه و مقادیر دستورات قبلی رو مطابق فایل 12 تغییر میده . یا دستور core_i_s_emulate_core_12 هم میگه که از مجموعه سیستم core برو و input به اسم core رو پیدا کن از از طریق emulate یا همسان سازی مقادیر رو با فایل 12 مقایسه و تصحیح کن. در ساختار موتور وقتی input همون مجموعه دستورات بشه تابع update عمل نمیکنه چون باید یک بخش عظیمی از دستورات به روز بشن و این کار از طریق همسان سازی انجام میشه تا فقط بخشهایی که تغییر کردن به روز رسانی بشن. اگر i بعد از s مورد استفاده قرار بگیره interface خونده میشه و کل رابط یک دستور با کاربر رو به داخل حافظه فراخوانی میکنه. رابط استفاده از دستور شامل قواعد تغییر دادن مقادیر و اجرای زیر مجوعه های دستوری به صورت جداگانه هست. در دستور run mc_s_i_core_develop_kit از دستورات اصلی که با پیوند mc مشخص شدن خواسته میشه تا با مراجعه به سیستم core همه ی inteface های kit زیر مجموعه develop رو فراخوانی و آماده کنه. اگر هم s به صورت تنها به معنای set هست که تغییر دو مقدار به هم یا تغییر داده ها در مجموعه دستورات هست. پیشوند m : پیشوند m در بعضی جاها به معنای master یا اصلی هست که جاکننده نوع دستور یا مجموعه دستور در یک فایل load شده میباشد. وقتی نوشته شده compiler_m منظور اصلی ترین کامپایلری هست که بقیه کامپایلرها زیر مجموعه اون هستن. این دستور در زبان C# به صورت _all نوشته میشه. دستور get : این دستور هم که معرف حضور برنامه نویسهای هست. دستوری رو دریافت میکنه و مطابق خواسته برنامه تغییر میده. در دستور core_get_i_s_dll_s_12 از سیستم خواسته شده تا input تابع dll رو از سیستم core در فایل 12 بگیره. اینجا چون قصد ما گرفتن یک دستور از یک فایل هست از get استفاده کردیم . s اینجا مخفف یکی از دستورات امنیتی هست که از ذکرش صرفه نظر میکنم. متصل کننده to : دستور to دو تا تابع رو به هم متصل میکنه یا ارتباط بین اونها رو با توجه به یک دستور قبلی برقرار میکنه. البته توی عکس دستوراتی بود که نمیشد نشون داد ولی خوب دو دستور امنیتی یا بعضی مواقع دستورات اجرایی رو به هم تبدیل یا نسبت به دستورات داده شده تغییر میده. در آخر هم سری دستورات اجرایی هست که شامل دستورات execute و launch و دستورات دیگه ای هست که در اکثر زبانهای برنامه نویسی وجود داره. این دستورات به دو دسته تقسیم میشن که یک دسته شبیه execute زیر مجموعه های دستوری و برنامه های داخلی رو اجرا یا آماده اجرا میکنن و بعضی دستورات هم شبیه launch در آخر نوشته میشه تا کل برنامه ی نوشته شده اجرا بشه. میدونم اطلاعات به درد نخوری بود ولی خوب گفتم گفتش ضرر نداره :green: Mahdi_Rashed 31 فروردين 1390, 11:54تقریباً بخش engine سیستم terrain generator رو تموم کردم . کلی سیستم با زبان اسکریپت Main Core یا MCscript نوشته میشه که بخشی از موتور طراحی خودمون هست. ترکیب زبانی C# و جاوا هست و یک زبان اسکریپت نویسی توی موتور طراحی بازی Main Core رو ارائه داده. در حالت کلی زبان اسکریپت نویسی Main Core به سه دسته تقسیم میشه . یکی اسکریپت نویسی تحت Listener هست که در command console موتور طراحی بازی استفاده میشه . یکی single-file script هست که شامل اسکریپتهای خیلی سبک با ساختار و کارایی ساده هستن و معمولاً 50 یا 60 خط بیشتر نمیشن. و آخر packaged script که شامل یک بسته حاوی چندین فایل اسکریپت هستن که توسط یک فایل مخصوص در موتور فراخوانی و اجرا میشن و اسکریپتهای سنگین و پیچیده رو با اینها مینویسیم. اسکریپتهای سنگین در فایلهای mcz یا main core zip نگه داری میشن و اگر یک نرم افزار شبیه winrar داشته باشید میتونید اسکریپتها رو مشاهده و تغییر بدین . در بخش engine سیستم terrain generator چند بخش define یا تعریف میشن . و در تعریف از طریق داده های قبلی یا تعریف شده یک تابع جدید تولید میشه. شبیه lodmorph توی عکس که توسط تابع movement تعریف شده و از تابع های پیشفرض دیتابیس main core شبیه transfer و مقادیر پیشفرض شبیه directly استفاده شده. در اسکریپت بالا vertex ها که چهار تاشون به صورت مقابل هم تعریف شدن به عنوان یک دسته object تعریف شدن و در تعریف مشخص شده که a 1 همون vertex هست که در سطح بعدی lod ورتکس b 2 نام داره و با تغییر اونها به هم فرآیند تغییر لایه های lod دارای حرکت و morph هست . مقادیر سرعت و دقت و خطا و ... توسط مقدار directly تعریف میشه که برای تغییر باید به بخش مربوط به خودش در database موتور طراحی مراجعه بشه . ,در ساختار mcs سعی شده تا از ساختار زبانهای اسکریپت نویسی شبیه max script و unreal script استفاده بشه و معمولاً ساختار همه شبیه هم هست. یعنی توابعی که استفاده میشه . keyword ها و ... شبیه هم هست. یعنی اگر کسی max script رو یاد داشته باشه به راحتی میتونه unreal script یا همین mcs رو یاد بگیره . Mahdi_Rashed 03 ارديبهشت 1390, 14:05تقریباً اسکریپت نویسی terrain generator تموم شده. البته هنوز یک بخشهای جزیی از L-System ( که قبلاً توضیح داده بودم ) مونده. آخرین مرحله هم متصل کردن فایلها توسط یک فایل اصلی و چندتا Dll به هم هست. و بعد تست و رفع اشکالات احتمالی. سیستم terrain generator میتونه روی صفحات چهار گوش و دایره ایجاد بشه و فعلاً براش محدودیتی در ایجاد کردن Face ها اعمال نکردم . نوع پردازش Terrain ها هم از طریق سیستم Mask Rendering و LOD Layer Rendering هست که توضیحاتش رو در پستهای آینده خواهم داد. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




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

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

bt

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







-


گوناگون

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


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