کارگاه توسعه بازيساز ی

20
ی ساز ي از ه ب ع س و ت کازگاه ن لي او ت ک ر ش ران ي از ب: دگان ن( ن ک از ز گ ر ي ر ي و ي/ ن م و کا رق ي ي س د ن ه م کده س ي دا ي ي و ج ش ي دا ي م ل ع ن م ج ن ا ران ي از ب ی ساز ي از عه ب وس ت و ازی ز ف رم ا ي ت ک ر ش ادزی اس ب ن ع ه:F ازائ

Upload: phelan-orr

Post on 01-Jan-2016

70 views

Category:

Documents


0 download

DESCRIPTION

اولين. ا رائه: عباس نادري. کارگاه توسعه بازيساز ی. برگزار کنندگان:. انجمن علمي دانشجويي دانشکده مهندسي برق و کامپيوتر شرکت نرم افزاري و توسعه بازيسازي بازيران. شرکت بازيران. عناوين :. صنعت بازيسازی بازيسازي در غرب فرآيند توسعه مشاغل و فعاليتها برنامه نويس بازيساز - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: کارگاه  توسعه  بازيساز ی

کارگاه توسعه بازيسازی

اولين

شرکت بازيران

برگزار کنندگان: انجمن علمي دانشجويي دانشکده مهندسي برق و کامپيوتر• شرکت نرم افزاري و توسعه بازيسازي بازيران•

عباس نادريارائه:

Page 2: کارگاه  توسعه  بازيساز ی

عناوين:

صنعت بازيسازی• بازيسازي در غرب• فرآيند توسعه• مشاغل و فعاليتها• برنامه نويس بازيساز• تئوري موتورهاي گرافيکی•پياده سازي موتور گرافيکی•

شرکت بازيران

Page 3: کارگاه  توسعه  بازيساز ی

صنعت بازيسازي

شرکت بازيران

بازيس�ازي، بخش اعظم ص�نعت ن�رم اف�زار را •تشکيل مي دهد.

صنعت ن�رم اف�زار، از بزرگ�ترين ص�نايع جه�ان •کنف�رانس س�االنه •و چهارمين صنعت در آمدزا است. از غ�ير تم�امي GDCبه ،

ي�ک يافت�ه س�االنه ح�داقل توس�عه کش�ورهاي خ�ود در کش�ور بازيس�ازي توس�عه کنف�رانس

روي •دارند. ب�ر جه�ان، ب�زرگ از ش�رکتهاي بس�ياري رش�د علم بازيس�ازي س�رمايه گ�ذاري مي کنن�د. تولي�د قطع�ات اين جمل�ه هس�تند ش�رکتهاي از

nVidiaسخت افزاري مانند ص��نايع • مع��دود ج��زو بازيس��ازي صنعت

معي�ني ح�داکثر ن�رخ آن س�ود ک�ه قانونيس�ت ندارد و مي تواند باورنکردني باشد.

Page 4: کارگاه  توسعه  بازيساز ی

بازيسازي در غرب

شرکت بازيران

ESA نهاد رسمي کنترل فعاليت نرم افزارهاي سرگرمي )بازيها( و حمايت کننده اکثر شرکتهاي بزرگ توسعه بازيسازي در اياالت متحده

است.

سال 2007 نهايي گزارش•

سال 2006 حقايق•

Page 5: کارگاه  توسعه  بازيساز ی

فرآيند توسعه

شرکت بازيران

( pre-Production)مرحله قبل از توليد. 1در اين مرحل�ه، اي�ده ط�رح بررس�ي اقتص�ادي و توانمن�دي مي ش�ود، س�پس داس�تان کام�ل مي گ�ردد و ط�رح ب�ه ي�ک ناش�ر پيش�نهاد

مي گردد.

( Productionمرحله توليد ).2اين مرحل�ه، قس�مت اص�لي ش�روع ک�ار اس�ت، کارمن�دان تکمي�ل ش�ده، طرحه�اي اولي�ه تهي�ه مي ش�وند، برنام�ه ه�اي اولي�ه موت�ور نوش�ته

شده و مدل ها طراحي مي شوند.

(Milestonesمرحله جدول زمانبندي ).3آي�د، در واق�ع ناش�ر ط�رح دس�تمزد و ج�دول زمانبن�دي مهم�ترين قس�مت ط�رح ه�ر پ�روژه اي ب�ه ش�مار مي پش�تيباني را وق�تي ب�ه مي�ان مي آورد ک�ه ي�ک مرحل�ه از ج�دول زمانبن�دي کام�ل ش�ده باش�د. در حقيقت تم�امي ق�دمهاي اص�لي توس�عه، در ج�دول زمانبن�دي ب�ا جزئي�ات ک�اري و زمانبن�دي و س�رمايه بن�دي دقي�ق

مطرح مي شوند.

( Nearing Completion)نزديک به اتمام.4اين مرحل�ه، بيش�ترين اس�ترس ک�اري و بيش�ترين اض�افه ک�ار ب�دون دس�تمزد را ب�راي توس�عه دهن�دگان در ب�ر آي�د، در اين قس�مت ب�ه حس�اب مي ب�ازي ک�ه فرآين�دي وقت گ�ير و خس�ته کنن�ده دارد. فرآين�د تس�ت

گنجانده شده است که تفاوت ميان يک بازي خوب و يک بازي عالي را رقم مي زند.

( Completionتکامل).5مي ش�ود، يع�ني جم�ع آوري و بس�ته بن�دي ش�ده و مش�تري پس�ند مي طاليي در اين مرحل�ه، اص�طالحا ب�ازي

گردد.

( Maintenanceنگهداري).6اين قسمت براي بازيهاي کنسول وجود ندارد، اما در مابقي نقش بسيار مهمي ايفا مي نمايد.

Page 6: کارگاه  توسعه  بازيساز ی

مشاغل و فعاليتها

شرکت بازيران

مشاغل:تهيه کننده کارگردان

طراحبرنامه

نويسهنرمندآزمونگرطراح

مراحلمهندس صوتمتخصص

فعاليتها:طراحيتوسعهبرنامه

نويسيآزمون

مستند نگاريطراحي مراحلمدلسازيطراحي

داستاناصوات

ليسIت فعاليتهIاي اصIلي و مشIاغل مربIوط بIراي توسIعه يIک بIازي کامIل در اسIت. شIده آورده روبIروي در چنIIدين پIايين سIIطح هIاي بIازي نفIر يIک توسIط شIغل و فعIاليت بازيهIاي در امIا گIردد، مي انجIام سIنگين و نIوين، هIر فعIاليت و شIغل توسIط چنIدين نفIر انجIام مي گIيرد و

خود مدير دارد.

Page 7: کارگاه  توسعه  بازيساز ی

شرکت بازيران

برنامIه پروسIه يIک بIازي يIک توسIعه کIه اين فکرنIد بIر بعضIي نويسيسIت. بعضIي ديگIر بIر اين تصIورند کIه برنامIه نويسIي تنهIا جIزء کIوچکي از توسIعه يIک بازيسIت، امIا واقعيت بIراي هIر بIازي متفIاوت اسIت. در زيIر ليسIت تخصIص هIاي برنامIه نويسIي الزم

براي بازي آورده شده اند:

برنامه نويس بازيساز

برنامه نويس گرافيک•برنامه نويس فيزيک•برنامه نويس هوش •

مصنوعيبرنامه نويس صدا•برنامه نويس شيوه •

بازيبرنامه نويس رابط •

کاربربرنامه نويس ورودي•

برنامه نويس ابزار•برنامه نويس تبديل •

سکوبرنامه نويس •

پژوهشيبرنامه نويس شبکه•برنامه نويس جلوه ها•دستورالعمل نويس•بسIياري از مIوارد فIوق بIراي يIک بIازي متوسIط مIورد نيازنIد، امIا مدير برنامه نويسي•

تواننIد مي هIوش و فيزيIک گرافيIک، سIاده، بIازي يIک بIراي قسIمتهاي درگIير کننIده و مIابقي سIطحي باشIند، در حIالي کIه بIراي يIک بIازي امIروزي، تمIامي اين مIوارد در حIد کمIال خIود مIورد

احتياجند.

Page 8: کارگاه  توسعه  بازيساز ی

شرکت بازيران

در حIالي کIه بIازي هIاي دو بعIدي نيIاز چنIداني بIه ويژگيهIاي سIخت افIزاري کIارت گIرافيکي ندارنIد، بازيهIاي سIه بعIدي بIا

برابIر سIريعتر 1000اسIتفاده از سIخت افIزار مناسIب حIدود اجرا و پردازش مي شوند!CPUاز سرعت

تئوري موتورهاي گرافيکي

موتورهIاي گIرافيکي سIه بعIدي تئIوري بسIيار گسIترده اي دارنIد بIه طIوري کIه هIر موتIور چنIدين کتIاب را بIراي توضIيح

روشهاي بکار رفته در آن مي طلبد.

در اين بخش بIه تعريIف و بررسIي چنIد تئIوري موتورهIاي گIرافيکي دو بعIدي مي پIردازيم و در بخش بعIدي، پيIاده سIازي عملي يIک موتIور گIرافيکي دو بعIدي را

خواهيم ديد. ويژگيهاي مورد بررسي عبارتند از:

بfرش

پgرشدو

حافظگي

حلقه بازيگردان

فريم بر ثانيه

همزماني عمودي

Parallax

انيميشن

حرکت

تصادم

Page 9: کارگاه  توسعه  بازيساز ی

شرکت بازيران

در انتهIا يIک موتIور سIاده گIرافيکي بIا امکانIات حIداقل در مIد کIه مخصIوص 13گIرافيکي MS-DOS ديميIق بازيهIاي و

320x200x256 تفاده ازIا اسIمي را ب Turbo C ادهIپي ++سازي مي نماييم.

پياده سازي موتور گرافيکي

با تشکر

Page 10: کارگاه  توسعه  بازيساز ی

بIرش بIه اشIکالي گفتIه مي شIود کIه بIه سIبب جIايگزين شIدن فIريم بIر روي صIفحه نمIIIIIIايش ميانIIIIIIه در قبلي، فIIIIIIريم بIIIIIIا تکنولIوژي نمIIIIIIايش از اسIتفاده بIا اشIکال، اين افتIد. مي اتفIاق مIانيتور روي بIر تصIوير مرتفIIIIIIع عمIIIIIIودي همزمIIIIIIاني و حافظIIIIIIه دوگIIIIIIانگي

(Tear)برش

مي گردد. در حقيقت، برش اکثرا به دليل تغيير جزيي در زاويه ديد دوربين و تفاوتي جزئي دارد ايجاد مي گردد. به اشکال زير توجه فرماييد:جايگزين شدن صحنه با تصوير ديگري که

Page 11: کارگاه  توسعه  بازيساز ی

(Tear)برش

Page 12: کارگاه  توسعه  بازيساز ی

پIرش، بIه دليIل کنIدي انجIام محاسIبات و عمليIات گرافيIک يIک فIريم بIه وجIود مي آيIد. متوسIIIIIIط طIIIIIIور بIIIIIIه معمIIIIIIولي انسIIIIIIان فIريم در ثانيIه را تشIخيص مي دهIد. اگIر فIريم هIايي کIه در ثانيIه 24 تIا 18مابين چشIIIIIIم

کمIIIIIIتر تعIIIIIIداد اين از شIIIIIIوند مي داده نمIIIIIIايش

(Flicker)پرش

باشIند، پIرش رخ مي دهIد. بIراي از بين بIردن پIرش، بايIد بIراي محاسIبات فIريم هIا بIIIIIIازي و باشIIIIIIد داشIIIIIIته وجIIIIIIود زمIIIIIIان طوري طIراحي شIده باشIد کIه محاسIبات آن در زمIاني کIه بIرايش وجIود دارد انجIام حIIIIIIداکثر

و پذير باشد. گيرنIده ثانيIه بIر فIريم ميIان تناسIب دليIل عIدم بIه اسIت پرش همچIنين ممکن در کIIIIIه پرشIIIIIي ماننIIIIIد بيافتنIIIIIد، اتفIIIIIاق فIريم در ثانيIه( پيش 60 فIريم در ثانيIه( از صIفحه مIانيتور )24هنگIام فيلمIبرداري ) فرسIIIIIتنده

مي آيد. به تصاوير توجه فرماييد:

Page 13: کارگاه  توسعه  بازيساز ی

فريم در ثانيIه يکي از مهمIترين مقياسIهاي تخصصIي سIرعت موتIور يIک بازيسIت. يIک را صIIIIIIIفحه بتوانIIIIIIIد بايIIIIIIIد متوسIIIIIIIط Counterحداقل با نرخ به روز سازي مانيتور به روز نمايد. بازيهاي حرفه اي )مانند بIIIIIIIازي

Strikeبراي اينکه اجراي زنده و )

ثانيه بر Frame Per)فريم Second)

حرفIه اي داشIته باشIند، احتيIاج بIه فIريم بIر ثانيIه اي بيش از نIرخ بIه روز رسIاني مکIانيزم هIاي مهمي بIراي ثIابت نگIه داشIتن فIريم بIر ثانيIه در بازيهIا پيIاده سIازي مي (100fpsمانيتور دارند )براي مثال

بIIIIIIIIازي همچنIIIIIIIIان مشIIIIIIIIکل اين ولي سازها را با خوددرگير نگه داشته است.شIIIIIIIIوند،

Page 14: کارگاه  توسعه  بازيساز ی

دو نماينIد. مي اسIتفاده حIافظگي دو تکنولIوژي از زمين، کIره بازيهIاي تمIام گIIIIIرافيکي مشIIIIIکالت از بسIIIIIياري حIIIIIل راه اسIت حIIIIIافظگي الزم حIافظگي، دو سIازي پيIاده بIراي پرش. و بIرش جملIه از بازيهاسIت،

حافظه اي به اندازه حافظه الزمه براي صفحه

حافظگي Double)دو Buffering)

( اختصIاص داده شIود. در بIرخي بازيهIاي back buffer)نمIايش، بIه عنIوان حافظIه پشIتياسIIIIIIIIIتفاده حIIIIIIIIIافظگي چنIIIIIIIIIد از مي شIود ولي حافظIه مIورد نيIاز بIراي بافرهايIذخيره بسIيار بIزرگ بIوده و مIا را در مIIIIIIIIIدرن،

دهنIIIIIIIIد. مي قIIIIIIIIرار بازيسIIIIIIIIازي يIا در حافظIه کارتگرافيIک در نظIر گرفتIه RAMحافظIه پشIتي مي توانIد در حIافظهمحIIIIIIIIدوديت شود.

Page 15: کارگاه  توسعه  بازيساز ی

همزمIاني عمIودي، گزينIه ايسIت کIه در اکIثر بازيهIا از يکي عنIIIIIIIIIوان گIرافيکي بIIIIIIIIIه کIارت خIود تنظيمIات در و تنظيمIات اي بIIIIازي اگIIIIر اسIIIIت. موجIIIIود

عمودي Vertical)همزماني Sync)

بIر فIريم نمايIد، اسIتفاده از همزمIاني عمIودي، خواهIIIIIIد حIIIIIIداکثري آن داشIت کIه برابIر بIا نIرخ بIه هنگIام سIازي مIانيتور ثانيIIIIIIه

مي باشد.همزمIاني عمIودي بIدين معناسIت کIه بIافر پشIتي

هنگIIIIIIIIIام بIر روي بIافر روبIرويي کIپي شIود، تIا پIرش Vertical RetraceبIIIIIIIIIه را در شکل روبرو مالحظه نماييد:.Vertical Retاتفاق نيافتد. لحظه

Page 16: کارگاه  توسعه  بازيساز ی

مي کنIترل اصIليي حلقIه يIک در بIازي، تمIامي قسIIIIمت چنIIIIد حلقIIIIه اين حياتي دارد که بدين شرحند:گIIIIردد.

(Game Loop)حلقه بازيگردان Loop Game

InputAI & FeedbackMove Enemy & AIResolve CollisionsDraw GraphicsPlay Sounds

/Loop

Page 17: کارگاه  توسعه  بازيساز ی

انيميش يIک اصIطالح کليسIت کIه بIه تغيIيرات فIريم اتالق مي گIردد، امIا در واقIع اتالق تغيIIIIIIIIيراتي بIIIIIIIIه تنهIIIIIIIIا مي شIود کIه يIک حIالت ديگIر از يIک شIي را نمIايش دهنIد، بIراي مثIال تکIان خIوردن انيميشIIIIIIIIن

ولي نيسIIIIIIIIIت، انيميشIIIIIIIIIن موجIIIIIIIIIود يIIIIIIIIIک

انيميشن

تکIان خIورد دسIتو پIاي آن بIه واسIطه تغيIير فIريم هIاي نمايشIي، انيميشIين بIه حساب مي آيد.

Page 18: کارگاه  توسعه  بازيساز ی

ويIژگي پIاراالکس، بIراي بعIد سIوم دادن بIه بIازي هIاي دو بعIدي بIه کIار مي رود، بIIIIIIIا کافيسIIIIIIIت ويIIIIIIIژگي، اين اعمIIIIIIIال نمIاييم. اين فرآينIد در ScrollتعريIف عمIق بIراي اشIياء، آنهIا را بIه نسIبت عمقشIان جهت

شکل مشخص است:

Parallox Scrolling

Page 19: کارگاه  توسعه  بازيساز ی

بهIتر اسIت حIرکت اشIياء و موجIودات بIازي توسIط موتIور فيزيIک آن کنIترل شIود، بIIIIIIوده، طIIIIIIبيعي تنهIIIIIIا نIIIIIIه حرکIIIIIIات بلکه بررسي تصادم و غيره نيز ساده تر مي گردد.بدينسIIIIIIان

(Motion)حرکت

مکIانيزم حIرکت فIيزيکي، بIا تعريIف بردارهIاي سIينماتيکي بسIيار کاراسIت، بIا اين در شIIIIIIIIIيء مIIIIIIIIوقعيت تIIIIIIIIIوان مي لحظIات قبلي را نIيز بIه راحIتي محاسIبه کIرد و بIه دسIت آورد. )جهت بIازگرداني روش صIIIIIIIIورت در قبلي مIIIIIIIIوقعيت بIIIIIIIIه تصادم(جسIIIIIIIIم

Page 20: کارگاه  توسعه  بازيساز ی

تصادم تشخيص بحث بازيسازي، توسعه در مهم شدت به مباحث Collision)از DetectionادمIIIIIIIIIIIتص تشIIIIIIIIIIIخيص اسIIIIIIIIIIIت. در بازيهIاي امIروزي، نIه تنهIا الزم اسIت بلکIه پيIاده سIازي سIريع، بهينIه و بIا دقت (

هIIIIIIIIIاي چIIIIIIIIIالش مهمIIIIIIIIIترين جIIIIIIIIIزو آن

(Collision)تصادم

موتورهاسIت. مکانيزمهIاي تشIخيص تصIادم در دنياهIاي دو بعIدي سIاده و سIريع هIIIIIIIاي بIIIIIIIازي مکانيزمهIIIIIIIاي ولي سه بعIدي، چIالش بIر انگIيز و کنIد بIه نظIر مي رسIند. دو نمونIه تشIخيص تصIادم در هسIIIIIIIتند، از معIIIIIIIIروف بعIIIIIIIIدي سIIIIIIIIه اين قرارند:سيسIIIIIIIIتمهاي

(:Z-Buffering)* بافر عمق

(:Backface Culling)* پنهان سازي روي پشتي

(:Binary Space Partitioning)* افراز دوتايي فضا