PDA

نسخه کامل مشاهده نسخه کامل : تحقیق و بررسی در خصوص تولید بازی های رایانه ای مبتنی بر وب



silsin
07-10-2011, 20:41
منبع : سیستم مدیریت پایان نامه های دانشگاه پیام نور مشهد

سایت :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


مقدمه

بازیرایانه اینوعی سرگرمی تعاملی است که توسط یک دستگاه الکترونیکی مجهز بهپردازشگر یا میکرو کنترلر انجام می‌شود. بسیاری از بازی‌های رایانه‌ای به دلیلتولید تصویر متحرک با قابلیت نمایش روی صفحه تلویزیون یا نمایشگر رایانه، بازیویدئویی نیز محسوب می‌شوند.تعداد مخاطبان بازی‌های رایانه‌ای در سال‌های گذشتهافزایش چشم گیر داشته و این بازی‌ها به یکی از پر هوا دار ترین سرگرمی‌های موجودتبدیل شده‌اند.
بازی‌های رایانه‌ای بر اساس شیوه انجام بازی و حالت گرافیکیبه گروه (ژانر)‌های زیادی از جمله موارد اشاره شده در فهرست زیر بخش می‌گردند:
اموزشیEducational
اتومبیل‌رانیDriving games
مسابقه اتومبیل‌رانیRacing
راهبردStrategy
راهبرد نوبتیTurn Based Strategy
راهبرد بی‌درنگReal Time Strategy
اکشن - ماجراییAction-Adventure
مخفی کاریStealth Action
Survival Horror
اینترنتیOnline games
سکوییPlatformers
تیراندازیShooters یاShoot'em Up
تیراندازی سوم شخصThird Person Shooters
تیر اندازی اول شخصFirst-person shooters
شبیه‌سازیSimulation
شبیه‌سازی فضاییSpace simulation
ضرباهنگیRhythm games
ماجراییAdventure
مبارزه‌ایBeat 'em up/Fighting
معماییPuzzle
نقش افرینی (ایفای نقش)Role-Playing Games (RPG)
نقش افرینی غربی، امریکایی یا کامپیوتریComputer RPG
نقش افرینی کنسولی یا ژاپنیJapanese RPG
ورزشیSports
هزارتو (لابیرینتی)Maze games

اهمیت بازی های رایانهای:
تاثیر گذاری: تأثیر گذاری بالای این گونه بازی روی مخاطب، این بازی‌ها را به یکابزار با استعداد بسیار بالا برای اموزش، اگهی، ترویج مذاهب، سو استفاده سیاسی،شستشوی مغزی و... تبدیل کرده‌است. بسیاری از دولت‌ها بازی‌های رایانه‌ای را به دلیلاحتمال تحریک کودکان و نوجوانان و ترویج خشونت محدود کرده‌اند.
سود اوری: امروزه صنعت تولید بازی‌های رایانه‌ای به یک عرصه سود اور تبدیلشده‌است و شرکت‌های بزرگ تولید کننده این گونه بازی‌ها هر سال سود هنگفتی به دستمی‌اوردند، به گونه‌ای که در سال ۲۰۰۴میزان سود خالص سالانه به دست امده از صنعتبازی‌های رایانه‌ای به مرز ۱۰میلیارد دلار رسید و سود حاصل سالانه به دست امده ازهالیوود (نه و نیم میلیارد دلار) را پشت سر گذاشت.
سر گرم کننده بودن: بازی‌های رایانه‌ای بر خلاف بیشتر سر گرمی‌های دیگر، تعاملیبوده و از این رو جذاب تر هستند.
اعتیاد: عده‌ای از محققین بازی‌های رایانه‌ای را اعتیاد اور و خطرناک قلمدادمی‌کنند. هر چند این مساله ثابت نشده است؛ اما شواهد موجود نشان می‌دهد تعدادی ازعلاقمندان به بازی‌های رایانه‌ای به طرز غیر طبیعی به این سرگرمی وابسته شده و اززندگی عادی خود بازی می‌مانند.

گروهیاز مردم، انجام یک بازی کامپیوتری را جزء لذت بخش ترین تفریحان خود می دانند حال انکه گروهی دیگر(که تعداد ان ها به مراتب کمتر از گروه اول است) خلق و طراحی یک بازیکامپیوتری را سرگرم کننده و جالب تر می دانند. مطمئنا شما نیز که در حال مطالعه اینمتن هستید جزء همان گروه محدود و خاص هستید که تصور تبدیل رویاهایتان به واقعیت (هرچند از نوع مجازی) شما را بیش از هر چیز به وجد می اورد.

یک بازی کامپیوتری قبلاز هر چیز در ذهن سازندگانش شکل می گیرد و از این اولین جرقه تا عرضه محصول نهایی،راهی بسیار طولانی اما فوق العاده جذاب طی می شود که به ان "ساخت بازی" می گویند.ساخت یک بازی کامپیوتری بیش از هر چیز به خلاقیت، قدرت تصور، هوش و پشتکار احتیاجدارد. به خاطر داشته باشید که سالیانه هزاران عنوان بازی کامپیوتری تولید می شوندکه از میان ان ها تنها تعداد محدودی (کمتر از مجموع انگشتان دو دست) به عنوان بازیهای موفق شناخته می شوند. مسلما اولین وظیفه یک طراح بازی، بررسی بازی های پرفروش وعلل موفقیت ان ها و در عین حال بررسی علل شکست و ناکامی دیگر بازی ساز هاست و درسگرفتن از این نقاط ضعف و قوت می تواند ریسک شکست را تا حد چشمگیری کاهش دهد.

درادامه به بررسی اصول اولیه طراحی بازی های کامپیوتری خواهیم پرداخت. اصولی که درنظر گرفتن تمامی ان ها می تواند احتمال موفقیت شما را افزایش دهد و در عین حال تخطیاز هر یک از ان ها می تواند بازی را با شکست کامل مواجه کند.

سرگرم کننده بودن

اولین و مهم ترین قانون درطراحی یک بازی کامپیوتری، توجه به جنبه "سرگرم کننده بودن" ان چیزی است که خلق میکنید چه مشغول ساخت یک بازی کوچک باشید که انجام ان تنها چند دقیقه وقت کاربررامی گیرد یا بازی با عظمتWorld Warcraft را طراحی می کنید که زمان لازم برای اتمامان بیش از یک هزار ساعت است، به خاطر داشته باشید که هدف نهایی شما تنها یک چیزاست: "سرگرم کردن مخاطب"
فریب ظاهر ساده این عبارت را نخورید. سرگرمی برای هرفرد تعریف متفاوتی دارد. خرید از فروشگاه ها، رانندگی در جاده، گوش کردن به موسیقی،تماشای فیلم، مطالعه کتاب و ... همه و همه تنها بخشی از سرگرمی های متداول مردمجهان هستند که هر یک از نمایی کلی مشابه به نظر می رسند. تماشای فیلم می تواندسرگرمی میلیون ها نفر باشد اما تفاوت نوع فیلم هایی که هر کس تماشا می کند، سرگرمیاو را از دیگران متمایز می کند. ان چه مسلم است، مخاطبان بازی ، حداقل در یکمورد توافق نظر دارند و ان هم استفاده از بازی کامپیوتری به عنوان یک سرگرمیاست. حال این بازی کامپیوتری باید توقع ان ها را در حد معمول براورده کند تا ازشکست رهایی یابد. مطمئنا به عنوان طراح یک بازی کامپیوتری نمی توان رضایت "تماممخاطبان" را به دست اورد، چرا که سلیقه ها بسیار متفاوت است اما حداقل کاری که میتوان انجام داد، این است که با انجام برخی کارها، سعی کرد توقع درصد بیشتریاز مخاطبان را براورده کرد.شناخت مخاطبان، مهم ترین کار است، این کار چندان هم مشکل نیست، به خصوص زمانی که قصد انجام نواوری در سبک ها رانداشته باشید و قرار باشد بر پایه سبک های موجود، بازی طراحی شود. برایشناخت مخاطبان باید ابتدا ان ها را پیدا کرد، بسیاری از بازی ها، سایت هایطرفداران خاص خود را در اینترنت دارند، در این سایت ها می توان نظرات مخاطبان هربازی را مشاهده کرد که چه چیز این بازی، ان ها را به خود جلب کرده است، کدامنواوری بازی، ان ها را به وجد اورده است و ... ،از همه این ها می توانیاری گرفت.

در این میان تنها به یک نکته باید توجه داشت : به نظرهایی که بیش ازحد امیخته با احساسات (چه مثبت و چه منفی) هستند، اهمیت چندانی ندهید. نگرش مغرضانهبه یک بازی می تواند فکرتان را درباره ان چه قرار است انجام دهید، تحت تاثیر قراردهد، به خاطر داشته باشید که قرار است بازی ای طراحی کنید که "اکثریت" از ان لذتببرند و نه فقط یک یا دو نفر.

به منظور نگاهى مختصر به وضعیت بازى هاى ویدئویى ورایانه اى در سطح بین الملل، مواردى گزیده ودر زیر اورده ایم:

- در ۷۵درصد از خانه هاى امریکا سیستم بازى هاى کامپیوترى وجوددارد.

- عمده استفاده کنندگان از بازیهاى رایانه اى در امریکا بین ۷تا ۳۴سال سن داشته و اغلب مرد هستند.

- در حال حاضر اغلب بازى کنان بازى هاىرایانه اى را پسران ۱۵-۲۴سال سن تشکیل مى دهند.

- یک جوان ۳۰ساله چینى که۶سال قبل شرکت بازى هاى ان لاین راه اندازى کرد هم اکنون دومین مرد ثروتمند کشورچین با یک میلیارد دلار دارایى به شمار مى رود.

- فروش بازى هاى ویدیویى درفصل اول اقتصادى سال ۲۰۰۵تقریباً ۲۳در صد بیش از سال قبل بوده و این افزایش بهبیش از ۲/۲میلیارد دلار رسیده است. که این افزایش به دلیل استقبال چشمگیر مردم ازدستگاه هاى بازى ویدئویى قابل حمل است.

- فروش دستگاه هاى بازى در سال ۲۰۰۵به بیشتر از یک میلیارد دلار رسیده است.

- اولین دوره مسابقات جهانى بازىهاى ویدیویى و رایانه اى در تابستان سال ۲۰۰۲در ژاپن برگزار شد جایزه اول ان صدهزار دلار بود و امتیاز پخش تلویزیونى ان نیز به فروش رسید هر کشورى با امکاناتکافى مى تواند متقاضى میزبانى باشد.

- بازى میست در سال ۱۹۹۳بیش از ۱۰میلیون نسخه و سرى بازى هاى سیمز نیز حدود هشت میلیون نسخه فروش داشته است.

- در سال ۲۰۰۳ارزان ترین محصولى که از سوى شرکتGame Cube عرض شد، مبلغ ۹۹دلار بوده است.


فصل اول-طراحی بازی


بخش اول :ساختار اسناد طراحی

مقدمه:هدف اسناد طراحی، بیان دید بازی، شرحمحتویات و اماده کردن یک طرح برای اجرا می باشد. اسناد طراحی به طور کلی یک کتابراهنما برای تولید کننده می باشد تا با کمک ان به هدف برسد، در این اسناد از ایدههای طراحی قهرمان تا انواع تکنیک ها و مهارت های ان برای هنرمندان و برنامه نویساننوشته شده است امّا متاسفانه این اسناد در بیشتر اوقات نادیده گرفته می شود و یا دررسیدن به اهداف این سند کوتاهی می شود که این کوتاهی می تواند توسط تولیدکننده،طراح بازی، برنامه نویس یا هنرمند انجام پذیرد.

هدف اسناد:هدف اسناد طراحی، ارتباط دیدن درجزئیات کافی با ابزارهای اجرایی است. این اسناد باعث حذف اشتباهات و ناشی گریطراحان، برنامه نویسان و هنرمندان در حین تولید و طراحی در اینده می شود و انهادیگر نخواهند پرسید که به عنوان مثال چرا این کار باید انجام شود؟ در حقیقت اسنادطراحی باعث ماندن برنامه نویسان یا دیگر اعضا در حیطه یک جعبه می شود.

اسنادطراحی چیزهای متفاوتی برای کاربران متفاوت یک تیم دارد، برای یک تولید کننده ایناسناد بسیار با اهمیت و همراه با نکات مهم برای ادامه کار می باشد. این اسناد یککتاب راهنما برای راهنمایی کردن و ارائه تمامی نکات لازم می باشد،و اگر نتواندنکات لازم را به طراحان گوش زد کند یا انرا برای اعضای تیم بخواند در اینده برایانها بی ارزش می شود.

در کل اسناد طراحی مجموعه ای کامل از وظایف، هنرها و کدها می باشد. اسناد طراحی تلاش یک تیم میباشد، و تمام تیم بزرگ بازی کنندگان بازیسهم بزرگی از طراحی را دارند.

استفاده از راهنما: توافق بر روی یک راهنمای ویژهمنفعت و سود بزرگی برای تمام پروژه می باشد، این کار باعث حذف اغراق در پروژه می شود و پروژه را واضح تر می کند. در زیر به برخی مزایای راهنما اشاره شده است:

روشنی و اطمینان: راهنما باعث واضح تر شدن و بهتر شدن اطمینانبه پروژه می شود. این مساله باعث ساخته شدن اسنادی است که خیلی راحت تر خوانده شودو همچنین اسنادی که راحت تر بتوان ان را نوشت،نویسنده اسناد می داند که تیم چهانتظاری از او دارد.

راهنما از فرایندهای معین یا روندی که در حال تعقیب توسعهاسناد است مراقبت می کند.

اماده کردن اسان جداول و طرح های ازمایشی: اسناد طراحییک سری راهنماهای ویژه ای را دنبال می کنند که خیلی راحت وظایف را به جداول ترجمهمی کند. لیست های اسناد مربوط به هنر و صدا نیازمند به هنرمند و اهنگساز است. وقتیداستان در قسمتی از مرحله قطع می شود طراح مرحله باید لیستی از اشیای مورد نظررا ثبت و توضیحات ان را بنویسد. تشخیص سطحهای برنامه و طرز عمل برنامهنویس، تشخیص عناصر بازی، ویژگی ها و تضمین کیفیت عملکرد تیم باید در هنگام اجرای یکطرح ازمایشی افزوده گردد.

راهنما برای ایده بازی: یک سند ایده بازی(game-concept) بیان کننده هسته ایده بازی می باشد. ایده باید بسیار مختصر و کوتاه باشد و جریانی ازایده ها را جاری کند.

به طور معمول تمام ایده به کارگردان محصول در حال توسعه(یا مدیر اجرایی) داده می شود،کارگردان می تواند تصمیم بگیرد که ایا ایده شایستگیکافی را دارد یا ندارد و سپس منابع کافی برای توسعه بازی را بدهد و ممکناست از ایده خوشش بیاید امّا درخواست تغییراتی را در ان بدهد.

یک ایده بازی بایدویژگی های زیر را داشته باشد.

• مقدمه • پس زمینه(اختیاری)

• تشریح و توصیفات • ویژگی های کلیدی

• سبک •سکو(Platform)

• طرح هنری ( اختیاری )

اکنون هر کدام از این قسمتها را که در حقیقت ساختار یک ایده را شکل می دهد توضیح می دهیم:

مقدمه:مقدمه ایده بازی محتوی چیزهایی است که شاید از مهمترینجملات کل ایده باشد، این جملات در حقیقت می تواند ضامن فروش سند به خریدار باشد.مقدمهدربردارنده عنوان، سبک، جهت، تنظیمات، edge، platformو دیگر چیزهای معنی دار، طوریکه خواننده حتی برای رسیدن به جمله بعد صبر نکند و تمام کلمات را با اشتیاق و دقتبخواند.Edge چیزی است که برای مجموعه بازی و صرف نظر از دیگر بازی ها در سبکشانتعریف می شود به عنوان نمونه:

Man or Machine یک بازی تیرانداز اوّل شخص برایPC است که از موتور Quake II استفاده می کند برای فرو بردن بازیکن به داستان یک ادماهنی فضایی-دریایی که در حال یک حماسه رزمی در میان ستارگان و جنگی مابین 37 کشوراست.

مقدمه باید گاهی اوقات با چندین جمله به منظور پذیرفتن قطع گردد، طولانی شدن بیش از حد مقدمه ایده ابکی بودن دید ایده پرداز را نشان میدهد.

پس زمینه (اختیاری): پس زمینه ایده بازی جایی است که باید رویدیگر محصول، پروژه ها، مجوزها یا دیگر مشخصه هایی که به ان اشاره خواهیم کرد را بسطبدهد، این قسمت اختیاری است. قسمت پس زمینه به طور طبیعی چیزی جدا ازمقدمه ایده بازی می باشد و خواننده می تواند از خواندن ان صرف نظر کند و سراغ قسمتهای بعدی برود، اما قسمت پس زمینه برای مشخصه های مجوز بسیار مهم است و نفوذ زیادیرا برای رها شدن عنوان خصوصاً در برخی سبک ها را دارد.

تشریح و توصیفات: در چند پاراگراف یا صفحه ،تشریح بازی به خواننده واگذار می شود. از دید دوم شخص استفاده کنید. داستان را طوریبسازید که به شکل یک تجربه به خواننده القا گردد و این شامل تمام عناصرکلیدی است که باید برای تعریف هسته اصلی روند بازی(Game Play) به کار برد وبه بیان بهتر این همان چیزی است که کاربر در حین بازی می بیند و همان کاری است کهکاربر در حین بازی انجام می دهد، یعنی خواننده همان شخصیت بازی شود. سطح جزئیات مرحلهنباید با یکGUI در تعامل باشد برای نمونه اینطور نوشته شود: (تاکتیکهای رادار را بررسی کنید و دو تا از دیوهای تربیت شده را که امده اند بردارید) به جای ان که بگویید: بر روی دکمه رادار تاکتیکی کلیک کنید تا پنجرهpops up ظاهر شود و سپس دو تا از دیوها را بردارید.

ویژگی های کلیدی: قسمت ویژگی هایکلیدی ایده بازی ،یک لیست از ایتم های نقاط، اصطلاحاً (گلوله) است که می تواندصرف نظر از دیگر اهداف برای بازی تنظیم شود، به بیان بهتر یک خلاصه از ویژگی هایی که در تشریح و توصیفات به ان اشارهشد را داشته باشد. ایننقاط می توانند قبل از جعبه بازی ظاهر شوندکه دربردارنده برخی جزئیات پشتیبانی است.

تصمیم بر این که در لیست ویژگی های بازی چه چیزهایی باید باشد یک کاربسیار حساس و بر اساس توازن است، لیستی که فقط یک یا دو ویژگی کلیدی در ان باشدیک لیست بد است. اگر هر چیزی را پیچیده تر از یک پازل در لیست قرار دهید ولیستی بیشتر از یک صفحه را ارائه دهید این مساله اشاره به این می کند که این پروژهیک کار بسیار دشوار و سخت است و کارگردانی که می خواهد ان ایده را به بازی تبدیلکند از پیچیدگی ها و دشواریهایی که ویژگی های ان دارد، می ترسد! لیستی که بسیار کوچکباشد، نشان از یک طرح کوچک دارد و همچنین لیستی که بسیار زیاد و ابکی باشد ویک پروژه بسیار بزرگ و قدرتمند را نشان دهد هر دو غلط است. نیازی به یک لیست ویژگی های معلوم ندارید همچون (گرافیک بزرگ،موسیقی موثر) . گرافیک بزرگ، موسیقی موثر و... اهداف رسیدنی در هر پروژه بازی میباشند.

سبک: در چند جمله کوتاه، تعیین سبک بازی و سلیقه بازی باید مشخص شود، برای این کار می توان از یک دسته بندی سبک های بازی در کتاب ها یا مجلات کمک گرفت ، نمونه هایی در مقدمه ذکر شده است.

Platforms: در چند جمله کوتاه، لیستی ازPlatform های هدف مشخص شود. اگر فکر می کنید ایده بازی در چندینPlatform قابل اجرا است بایدPlatform اوّلیه یا برتر را مشخص کرد و اگر ایده بازی از چندکاربره بودن تحت اینترنت پشتیبانی می کند و... تمام این مسائل باید در اینقسمت قرار بگیرد.

طرح هنری (اختیاری): هنر به فروش ایده بازی کمکمی کند و خواننده را در یک مسیر درست قرار می دهد. استفاده از هنر، ایده را به صورتجامع و بی همتا در می اورد.

اشتباهات عمومی:در زیر به برخی اشتباهات عمومی و راه حل ان ها اشاره کرده ایم.

• درمورد منابع، اسناد سوالات گیج کننده ای را همراه خود دارد، باید سعی کنید ایدهتان را با مشخصه ای که بتوان دوباره از ان کمک گرفت بسازید. محدودیت اصلی ایده ها این است که باید ان را برای یک زمان محدود و بودجه معقول نوشت وبتواند با یک تکنولوژی محدود تجربی کار کند. نمی توان از کمپانی انتظار داشت یک چرخش ناگهانی به سمت یک هوش مصنوعی جدید وپیشرفته بکند یا از یک موتوربروز و بسیار پیشرفته سه بعدی استفاده کند.

• اسناد گنجایش و حجم ندارند و نبایددر توضیحات مطالب کش دار نوشت.

• بازی یک تفریح نیست، یک تمرینکاربردی است که توسط ان کاربر به تمام خواسته هایش (نظیر: تیراندازی، فرمان، دویدن،خریدن، ساختن و دیدن) می رسد و خیالبافی می کند که چگونه بازیکن هرکدام از انها راانجام می دهد.


بخش سوم-داستان نویسی برای ساخت بازی

هنگامی که صنعت بازی سازی جوان بود داستان نویسی فقط مخصوص بازی های با سبک ماجرایی Adventureبود. سپس بازی های با سبک نقش افرینی role-playing gamesوارد صحنه شد و عناصر بسیار قوی وارد داستان های بازی شدند. اکنون داستان نویسی وارد تمامی سبک های بازی از جمله strategy actionو حتی sims(بازی های شهر سازی) شده است. یادگیری برخی مهارت های اصولی در زمینه چگونگی بیان یک داستان بسیار مهم است که به برخی از ان ها اشاره می کنیم.

طرح (شامل سه ساختار اصلی) :ساختار پایه باید شامل یک طرح خوب باشد که پیدا کردن این طرح مفید احتمالا زمان زیادی را می گیرد. یک داستان باید سه ساختار داشته باشد: ابتدا ، میانه و انتها.

ابتدا: می توان داستان بازی را با قطعه کوچکی از روند بازی(Game Play)شروع کرد بطوری که بازیکن چیز زیادی را نمی داند اما باید کار کوچکی انجام دهد . در کل روند بازی برای یک داستان نویس جوان که تاکنون فقط داستان می نوشته کار سختی است چرا که باید با این طرز تفکر داستان را بنویسد که خواننده باید بدون خواندن توضیحات او از تمامی داستان مطلع شود. در حقیقت باید یاد گرفت که چگونه داستان را شروع کرد و این کار فقط با تمرین و کسب تجربه بدست می اید .

میانه: هر چه که داستان جلوتر می رود بازیکن باید اهداف بزرگ تری داشته باشد و موانع بزگ تری جلوی او گذاشته شود.در بهترین داستان ها معمولا کار قهرمان ، چیره شدن بر کشمکش های درونی است و تنها پس از این کار است که می تواند به اهداف خود دست یابد. در حقیقت یک بازی ساز پیش از این که بخواهد صدها مانع در بازی بگذارد باید کاستی هایی را هم در بازیکن قرار بدهد، همه چیز نباید وقف مراد بازیکن باشد، او باید از کاستی هایی که در او وجود دارد بترسد و ترس از این کاستی ها نگذارد که او از موانع بگذرد و این خودش بیشترین هیجان را در بازیکن وارد می کند ، این در حالتی است که اگر او تلاش کند مسلما می تواند از این کاستی ها عبور کند.

انتها:پایان داستان وقتی است که قهرمان یا شخصیت اصلی داستان همه مشکلات و موانع را حل می کند.قسمت سوم بازی باید مانند پایان یک قطعه موسیقی باشد، پس از این که قهرمان داستان توانست به تمام مشکلات درونی و موانع غلبه کرد اماده می شود تا با مشکل خارجی داستان مواجه شود که معمولا این مشکل خارجی در شکل یک شخصیت اصلی منفی ظاهر می شود.در هر داستانی باید یک نوع کشمکش وجود داشته باشد باید یک شخص یا چیزی نگذارد قهرمان داستان با موفقیت به خواسته اش برسد و قهرمان با یک مبارزه بزرگ سد اصلی اهدافش را از جلوی راهش برداشته و به اهدافش می رسد.

محیط: یک داستان نویس احتیاجی به ازمایش طراحان هنری ندارد چرا که ان ها کار خود را خوب بلدند، ان ها هر روز تصاویر فوق العاده ای تولید می کنند و مسلما پیشرفت سخت افزار ها در کار ان ها تاثیر زیادی دارد.یک داستان نویس نباید فقط محیط بازی را معرفی کند بلکه باید نوع بازی را معرفی کند. به عنوان مثال بگوید که این بازی یک بازی تخیلی می باشد که می توان از عناصر جادویی در طراحی بازی استفاده کرد و یا یک بازی افسانه ای اما علمی باشد که به عنوان مثال می توان یک سیاره دور باقوانین غیر عادی طراحی کرد.

توسعه شخصیت های بازی:شخصیت های بازی،بیشتر، قسمت فریببنده بازی هستند. رویدادهای و اتفاقات انها برای مردم کاملاً جذاب وجالب توجه است. داستان های بسیاری تاکنون گفته شده اما بیشتر مردم شخصیت های اصلیداستان را بیشتر از سایر قسمت ها دوست دارند چرا که این شخصیت ها محرک داستانهستند و داستان بدون شخصیت همچون صفحه اخبار حوادث یک روزنامه می ماند.

بسیاریاز طراحان نمی خواهند که یک شخصیت را به عنوان شخصیت اصلی بازی طراحی کنند چرا کهباور دارند بازی باز باید همان شخصیت اصلی بازی باشد، امّا این کار باعثقدرتمند شدن بازی شما نخواهد شد. بازی های موفق دارای قهرمان هایی با شخصیتهای معین بودند. و این طور به نظر می اید که به عنوان مثال بازی بازها بسیار خشنودبودند که پاهایشان را در کفش های شخصیت هایی همچونDuke Nukem ، Lara Croft ، Max Payne ،James Bond و... می گذارند.پس باید تلاش کردتا برای داستان بازی شخصیت هایی ساخته شود که تا مدت ها در خاطر بازی بازباقی بماند.یکی از اصلی ترین ارکان شخصیت سازی تشدید تعقیب در پیداکردن مابینکشمکش و ارزو است و ان شخص که بیننده است بتواند مابین این دو انتخاب ایده الشرا برگزیند. قهرمان به کسب تجربه در جدال با کشمکش ها و برای رسیدن به ایده الهایشنیاز دارد، در چنین راهی است که می توان شخصیت هایی بسیار حرفه ای و محبوبساخت.

رشد شخصیت:در ادبیات سنتی ارزشیک داستان در رشد شخصیت ان شناخته می شد. چه تغییراتی قهرمان را با راه بدبختی وبیچارگی و سقوط شکل می دهد؟ چه می کند تا به تغییر زندگینزدیک شود؟ چه می کند که یکدفعه او می چرخد و به سمت یک شخص متفاوت حرکت میکند؟ هرچند در برخی داستان ها قهرمان تغییری در همه حال نمی کندو خمش وقایع بهخواست او انجام می شود. در بازی های امروز شخصیت ها بسیارکم رشد می کنند. امارهای انجام شده در بازی ها این مطلب دیده می شود که رشد شخصیتفقط در چیزهای بسیار ساده و ابتدایی نظیر افزایش مهارت و... است، زیراتوسعه شخصیت در یک رسانه خطی همچون فیلم مردم را در حالتی پر دغدغه و پریشانی میگذارد و صادقانه نمایش می دهد که چه کسی صادقانه برای ساخته شدن انتخاب شده است،امّا در بازی نمی توان با شخصیتی که زیر دست کاربر است چنین کاری کرد چون باعث میشود که در ساختن یک شخصیت تعاملی با مشکل مواجه شویم.

البته ذکر این نکتهضروری است که ممکن است برخی ها رشد شخصیتی را که در اینجا گفته شد با رشد شخصیت دربازی های با سبکRPG اشتباه بگیرند. رشد شخصیت در بازی های با این سبک در جهت تعاملی و مطابق با سلیقه کاربر برای بهتر طی کردن روند بازی صورت می گیرد، در صورتیکه رشد شخصیتی که در اینجا از ان صحبت کردیم در داستان اتفاق می افتد و باعث میشود که شخصیت در طی داستان به کلی تغییر کند و اخلاق و روحیاتش عوض شود که این با روح داستان نویسی برای بازی که باید شخصیتی کاملاً تعاملی و در زیر دست کاربر ساختنمی گنجد.

تعاملی:درخواست تعاملی کردن بازی با استفاده از داستانیکی از چالش برانگیز ترین قسمت های کار میان طراحان بازی و داستان نویسان است. دررسانه های سنتی مولف اقدام به کنترل داستان می کند و بدون هیچ مقاومتی جذب انتخابیمی شود که او ساخته است ولی در بازی ها یک کشمکش مستقیم میان ازادی که باید بهکاربر بدهیم و خطی بودن ساختار داستان وجود دارد. حل این مشکل در این است کهمحیط هایی ساخته شود که کاربر در ان ازادی داشته باشد و سپس بصورت سلسله مراتبی اینمحیط ها با هم دیگر در یک سری خطی قرار بگیرند. به عنوان مثال در بازی های باسبکRPG همچون یک سری محیط های جغرافیایی یا ماموریت ها، در بازی های با سبکAdventure این توانایی به کاربر داده می شود که بیشتر از یک معما برای کار در یکزمان بگیرد.

این ایده هم وجود دارد که کاربر با چالش های محدود مواجه شود و بطریقی در یکداستان بزرگ گنجانده شود. در این لحظه داستان نویس شروع به یک سریدستورالعمل های ماموریت های جدید می کند و شاید از میان صحنه های قطع کننده بازی کهاصطلاحاً به انcutscene می گویند، نتیجه اعمال مرحله را نشان دهد و کاربر را بهسمت چالش بعدی به جلو براند. به عنوان مثال: یک محیط را تصور کنید که در وقتغروب کاربر باید خود را به یک مسافرخانه برساند. امّا او باید از میان یک رودخانهبگذرد. او می تواند به خوبی سرتاسر رودخانه را شنا کند. یا بر روی درختان تاب بخوردو یا اینکه غول نگهبان پل را شکست دهد و از روی پل رد شود. امّا چیز مهم این است کهاو پیروز شود و تا پایان روز زنده بماند. کاربر به طور یقین از کل جزئیات داستانمطلع می شود، امّا ریسمان اصلی داستان در دستان مولف است. مسلماً کاربر می گوید:این قوه ابتکار او بوده تا ما با یکی از این رویدادها خود را به مهمانخانه برسانیم،امّا غول های جدید را برای فردا اماده کرده است و قهرمان از بازگشتش بهقلعه خوشحال خواهد شد.

این تکنیک در انواع سبک های بازی قابل اجرا است. با یکداستان خطی و یک محیط باز ، کاربر با راه های متفاوتی برای طی کردن بازی مواجه استدر عین حال مولف هم در حال کنترل کردن سیر خط داستان در بازی است و گذاشتنچند راه در یک بازی مزایای فراوان دیگری هم دارد که در مبحث طراحی مرحله به قدرکافی به ان اشاره شده است.

ابزارهای تجارت: این روزها طراحی بازیخیلی به نمایشنامه نویسی شباهت دارد و باید در ابزارهای ساخت فیلم حرفه ایباشیم. این مساله وقتی بیشتر خودش را نشان می دهد که موظف به ساختن برش صحنه هاcutscene و توضیحات متنی وقایع در بازی باشیم یا هرچیزی که برای دیالوگ هااستفاده می کنیم.

گذاشتن کلمات در دهان بازیگران و توصیف رفتارها برای حرکت او، نباید شبیه به یک رمان باشد. به عنوان مثال یک داستان نویس نباید در داستان بازی به توصیف حالات و روحیات درونی شخصیت ها بپردازد بلکه باید این توصیفات درونی را با نمایششخصیت در صحنه نشان دهد و برای این کار باید از دیالوگ ها و رفتارهای شخصیت در حینبازی یا فیلم، این حالات روحی نمایش داده شود، فراموش نکنیم که داریم برای یکبازی داستان می نویسیم و کاربر به هیچ عنوان نوشته ها را نمی خواند بلکه نوشتهها را می بینید پس باید همه چیز بر اساس دیدن حالات و رفتارها باشد نه خواندنو نمی توان در داستان نوشت فلان شخصیت یک فرد پرخاشگر است بلکه بایدنوشت فلان شخصیت با حالت پرخاشگری فریادی زد و با خشم به سمت شخصیت مقابل دوید.

برش صحنه:برش صحنه قطعه فیلمهای بسیار کوتاهی هستند که در حین، ابتدا و انتهای بازی به نمایش در می ایند،دران همچونیک طراح بازی باید هم یک نمایشنامه نویس بود و هم کارگردان و عکاس در تمامداستان. داستان همراه خودش مسئولیت می اورد، هر کس که بازی را بازی می کند ازدیدن تلویزیون و فیلم به سمت بازی رشد کرده است و هر کاربری برای خودش یک محککیفیتی پیرامون دیالوگ ها، محل دوربین، ایفای نقش ها و رفتارها دارد.

هر صحنه ای باید یک هدف ویژه داشته باشد. ایا این یکتوسعه شخصیت است، معرفی یک محیط جدید است، پیشرفت نقشه است یا تمام شدن اهداف مرحلهو رفتن به قسمت های بعدی است. طراحی صحنه در همکاری با حرفه ای ها است (معمولاًنویسنده ها و طراحان)، کسانی باید به شما برای رسیدن به اهدافتان کمک کنند کهبیشترین صرفه جویی را بکنند، این دارای دو مزیت می باشد، اول کاربر تنها از زحماتطراحان در پیشبرد داستان قدردانی نمی کند و دوم این است که به بودجه کار کمکبسیاری می شود و از صحنه های بسیار زحمت اور و پیچیده که هزینه های زیادی را بر جایمی گذارد و از همه بدتراز خستگی زیادی که به جای می گذارد جلوگیریمی شود.

توضیحات رویدادها:توضیحات رویدادها، سکانسهای کوتاهی در داخل مراحل است که معمولاً رهایی از برخی چیزهایی است که کاربران ها را انجام می دهد (اگر چه می تواند به همان اندازه بر پایه زمان باشد چهاین یک دیالوگ کوچک باشد یا یک کار بسیار کوچک. دو بازیMedal of Honor وHalo که با سبک جنگی هستندنمونه های بسیار خوبی در ارائه توضیحات رویدادها می باشند.

دیالوگ:یک صدای دیالوگ خوبحرفی است که منظم گفته شود. در دنیای واقعی ما گاهاً در حین صحبت کردن اشتباه میکنیم یا اصطلاحاً تپق می زنیم و سعی می کنیم تا گفته های اشتباهمان را تصحیح کنیم، امّا در بازی ها و فیلم ها، دیالوگ ها بسیار بهتر از دنیای واقعی هستند. نبایدوقت کاربر را با ارائه جملات اضافه هدر داد. هر خط از دیالوگی که می نویسیم بایددوبرابر وظیفه اش کار کند که این کار واقعاً به تجربه و تخصص نیاز دارد زیرا کاربربیشتر دوست دارد بازی کند تا مثل یک فیلم دیالوگ ها را بشنود.

در اینجا چندنکته در دیالوگ نویسی را قرار می دهم و پیشنهاد می کنم بازی های روز و موفق دنیا راگرفته و به دیالوگ های ان دقت کنید.

• هرگز چیزی را که کاربر می داند بادیالوگ تکرار نکنیم زیرا با این کار وقت او را هدر داده ایم.

• در اطلاع دادنخیلی دقت کنیم، اطلاع دادن به کاربر هرگز نباید طوری باشد که کاربر از طریق حرف زدن یک کاربر دیگر اطلاعاتی را پیرامون یک شخصیت دیگر که خودش می داند و به اناگاهی دارد را دوباره بشنود. به عنوان مثال هیچ چیز همچون این یک خط دیالوگ نمیتواند مبتدی بودن نویسنده را به کاربر ثابت کند: همانطور که می دانی، طلسم لرد ولدران وقتی می تواند کار کند که تو این سه جادو را سر جایشان قرار بدهی.

• در نوشتن دیالوگ ها سعی کنیم جملات را به صورت عامیانه بیان کنیم یعنی به همانصورتی که خودمان و همه برای مکالمه استفاده می کنند، به عنوان مثال از دیگراننمی پرسید: به کجا می روید؟ بلکه می پرسید: کجا می روی؟

پایان قهرمان:پایان بازی باید با قهرمان باشد. به طور یقین ابتدای داستان با امدن روند بازی می باشد امّا به طور قطع همواره می توانیم یک روند بازی بهتر را برای اطراف داستانبسازیم، هر سبک محدودیت های خاص خودش را دارد که باید به انها توجه کنیم .در کل در تمامی جریاناتبازی و به خصوص در ماموریت ها یا انتهای مراحل باید دو پایان نوشت پایان اوّلمربوط به پیروزی بازیکن و رسیدن او به هدفش است و پایان دوم مربوط به شکست است.البته در برخی بازی ها با نوشتن جمله بازی دوباره و تصاویری از جسد بازیکن یاحالتی که نمایش دهنده شکست او است را نمایش می دهند و مسلماً خود کاربر هم می فهمدکه در پایان شخصیت به اهدافش نرسیده و شکست خورده امّا در پایان اوّل که مربوطبه پیروزی است هم می توان برش صحنه از پایان موفقیت امیز و نتایج کار قهرمان رانشان داد یا با کلمه مرحله با موفقیت به اتمام رسید کار را تمام کرد امّا مسلماًنمایش برش صحنه تاثیر زیادی بر زیبایی و درک بیشتر داستان دارد.


— فصل دوم- توسعه بازی

بخش اول



برای شروع ساخت بازی باید از کجا شروع کرد؟

ازکدام دسته اید؟

در صنعت توسعه بازی اگر بخواهیم بهصورت کاملاً کلی بازی سازان را تقسیم کنیم انها به دو دسته سازندگان ابزارهای موردنیاز ساخت بازی (همچون سازندگان موتورهای بازی و...) و همچنین استفاده کنندگان ازاین ابزارها برای ساخت بازی تقسیم می شوند. به دسته اوّل توسعه دهنده ابزارهای ساختبازی و به دسته دوّم توسعه دهنده بازی می گویند. در حال حاضر بازی سازان کشور مافقط از دسته دوم هستند و هنوز دسته اوّل به صورت کامل ایجاد نشده است.دسته دوم یعنی استفاده کنندگان ازابزارها هم خود به دو دسته هنرمندان و برنامه نویسان تقسیم می شوند. مسلماً از ناماین دو دسته مشخص می شود که چه کارهایی انجام می دهند. برنامه نویس ها بیشتر به کار کدنویسی و اسکریپت نویسی در محیطهای متنی می پردازند و هنرمندان هم به کارهایی نظیرطراحی دو بعدی، مدل سازی سه بعدی (به عنوان مثال یا کمک برخی نرم افزارها همچون 3D Studio Maxطرح های دو بعدی را به یک مدل سه بعدی در فضای سه بعدی تبدیل می کنند) و سایر کارها نظیر طراحی مراحل و... مشغولند. ابتدا از شروع کار مدل ساز ها شروع می کنیم و سپس به شروع کار برنامهنویس ها خواهیم رسید.

شروع کار مدل ساز ها

یکی از راه های خوب برای مدلساز شدن استفاده از تصاویر برخی اشیا بهعنوان مرجع و کمک از انها برای ساختن مدل سه بعدی ان می باشد، این تصاویر می تواندبر اساس طرح هایی باشد که بر اساس تخیل بر روی کاغذ کشیده ایم یا تصاویریباشد که توسط دوربین از اشیا گرفته ایم. برای شروع می توان ازکتب مختلف اموزش مدلسازی در بازار استفاده کرد. بهترین نرم افزار مدلسازی برایتوسعه دهندگان که محبوبیت بسیاری هم دارد 3D Studio Max است البته علت هایی دیگریهم از استفاده وسیع توسعه دهندگان از این نرم افزار وجود دارد است همچون این که خروجی بسیاری از موتورها دراین نرم افزار بسیار قوی تر و بهتر کار می کند، البته نباید از قدرت نرم افزارMaya غافل شد ، نرم افزارMaya هم می تواند گزینه دوم و خوبی برای شروعمدلسازی باشد، نرم افزارهای دیگری هم هستند امّا چون منابع اموزشی برای ایندو نرم افزار بیشتر از سایر نرم افزارها است من یکی از این دو را به شما توصیه میکنم، هرچند که نرم افزارZbrush که برای ساخت و طراحی شخصیت به کار می رود سر و صدایزیادی به پا کرده و از کار با ان نباید غافل شد.

شروع کار برنامه نویسها
کدام دسته: توسعه دهندگان ابزاریا بازی

در صنعت توسعه بازی عموماً برنامهنویسان ساخت بازی به دو دسته توسعه دهندگان ابزار و توسعه دهندگان بازی تقسیم میشوند. تفاوت اصلی این دو دسته در این است که توسعه دهندگان ابزار متشکل از برنامهنویسان متخصص و با تجربه ای هستند که به ساختن ابزارهای مورد نیاز برای تولید بازی می پردازند. امّا توسعه دهندگان بازی کسانی هستند که از ابزارهای ساخته شده توسطتوسعه دهندگان ابزار استفاده می کنند. هر دو این گروه یک هدف دارند ساخت شدن بازی.اما توسعه دهندگان ابزار شاید در عمرشان حتی یک بازی کامل هم نسازند و اگر هم چیزیبسازند در حد یک نمونه کار اجرایی با موتور می باشد و همچنین به خاطر تخصصی بودنکار و نیاز به دانش بالا در علوم برنامه نویسی و ... کار این افراد بسیار سخت، امّااز نظر خودشان شیرین و لذت بخش می باشد. در ایران هم عده ای توسعه دهنده ابزارهستند اما در اقلیت هستند و بیشتر بازی سازان ایرانی توسعه دهنده بازی هستند. هنوز کسی را در ایران مشاهده نکرده ایم که یک موتور کامل ساخت بازی ایرانی را طراحیکند، البته کسانی بوده اند که با تلاش و پشتکار زیاد توانسته اند یک رندرگر ساده یا یکویرایشگر مرحله بسازند امّا هنوز تا رسیدن به یک موتور کامل راه بسیار زیادی در پیشاست و بازی بازهای ایرانی نباید فریب برخی شیادان که ادعای ساخت موتور بازی را میکنند امّا از کوچکترین اطلاعات فنی برخوردار نیستند را بخورند. تنها راه پیشرفتکشور توسعه دادن ابزارهای ساخت بازی مانند موتور بازی است و این توسعه دهندگانابزارهای ساخت بازی هستند که اینده این صنعت در کشور ما را تعیین می کنند مسلماًاگر توسعه دهندگان ابزار در صنعت جهانی ساخت بازی نباشند هیچ توسعه دهنده بازی نمیتواند هیچ بازی ای را بسازد، ساخت یک بازی نباید هدف باشد بلکه هدف باید رسیدن به علمساخت بازی باشد و اگر تا ابد هم یک توسعه دهنده بازی باشیم و با موتورهای امادهاقدام به ساخت بازی بکنیم نمی توانیم به دانش ساخت بازی ان هم به صورت کامل دستپیدا کنیم. امّا کسی که تجربه اندکی در علوم برنامه نویسی دارد نمی تواند و یا سختمی تواند برای ساخت یک موتور فعالیت کند و باید ابتدا با یک موتور منبع بازاماده کار کند و ان را توسعه دهد و وقتی که توانست نمونه های گرافیکی و یا حتی یکبازی توسط این موتور ها بسازد انوقت می تواند اقدام به تلاش برای ساخت یک موتوربازی اختصاصی بکند. عده دیگری هستند که سعی می کنند از نرم افزارهایی که بصورتکاربردی(Application) برای ساخت بازی طراحی شده استفاده کنند. این افراد هیچ علم ودانشی از برنامه نویسی ندارند و فکر می کنند که ساخت یک بازی یعنی چند کلیک موشوارهو ساخته شدن بازی است امّا این مساله اصلاً صحیح نیست و برای ساخت بازی باید زحماتفراوانی توسط یک گروه کاملاً مجرب و با تجربه در برنامه نویسی انجام گردد و کسی کههنوز مقدمات علم برنامه نویسی را نمی داند مسلماً نمی تواند یک بازی ساز خوب شود.برخی از افراد هم فکر می کنند که با نوشتن چند خط کد اسکریپت ساده در نرم افزارهای بسیار ساده ساخت بازی ( نظیر Game Maker یا 3D Game Studio ) به یک برنامه نویس تمامعیار بازی تبدیل شده اند این در حالی است که هیچ کدام از بازی سازان بزرگ دنیا بااسکریپت نویسی ساده در این نرم افزارها بزرگترین بازی های دنیا را نساخته اند کهاکنون این افراد می خواهند با توسل به این نرم افزارهای ساده بزرگترینبازی ها را بسازند بلکه این نرم افزارها فقط برای شروع کار مفید است و کاربر به محضاین که توانست با کمک این نرم افزار یک بازی ساده را بسازد باید سریعاً از کار باان دست کشیده و به سمت ابزارهای قوی تر و بهتر برود.کسانی که کاملاً مبتدیهستند باید علم برنامه نویسی را یاد بگیرند و می توانند در کنار یادگیری یک زبانبرنامه نویسی علم برنامه نویسی را هم یاد بگیرند. شخصی که می خواهد یک بازی سازبشود ابتدا باید یک برنامه نویس متبحر شود و به نوعی پیش نیاز بازی ساز شدن برنامه نویس شدن می باشد که باید با مباحث عمومی علم برنامه نویسی نظیر متغیرها، ارایهها، رشته ها، توابع و همچنین با مباحث شی گرایی نظیر ارث بری، چند ریختی، کلاس هاو... اشنا باشد.

بخش دوم

بازی های انلاین چیست و چگونه ساخته می شوند؟

مقدمه:امروزه کمتر بازیPC در بازارپیدا می شود که یک بخش نسخه انلاین یا تحت شبکه را در کنار بخش تک کاربره ان قرارنداده باشد. بازی های کنسولی هم اکثراً سعی می کنند به شبکه مخصوص ان کنسول متصلشده و به کاربرانشان امکانات بازی تحت شبکه با سایر کاربران در یک محیط مجازی رابدهند. امروزه برای وصل شدن به شبکه حتی دیگر نیازی به استفاده از کابل شبکه نیست وشما کافی است که با کمک کنسول یا رایانه به اینترنت وصل شوید و این بازی ها راتجربه کنید. حتی برخی از بازی های امروز فقط مخصوص بازی های انلاین و تحت شبکهعرضه می شود و شما در بازی هیچ قسمت تک کاربره را مشاهده نخواهید کرد(مانند بازی khanwars). این بازی هایک فضای مجازی را در اختیار کاربران قرار می دهند که کاربران به صورت زنده و انلاینمی توانند در ان فضا بگردند و بازی کنند.

در این قسمت می خواهیم مسائل زیررا مورد بررسی و ارزیابی قرار دهیم:

• انواع مختلف بازی های شبکه ای

• معرفی تکنولوژی شبکه

• انواع ساختارهای بازی های شبکه (ساختارPeer to Peer وClient/Server)

• انواع پروتکل های شبکه( UDPوTCP/IP)

• انواعAPI های شبکه(Berkeley Sockets وWindows Sockets (WinSock) و DirectPlay)
• دراعماق طراحی مراحل بازی های چند کاربره

انواع مختلف بازی هایشبکه ای

قبل از شروع هر بحث اینمساله بسیار مهم است که شما بدانید در کل بازی های تحت شبکه به چند نوع و چند سبکتقسیم می شود. هر یک از دو نوع بازی شبکه ای که در ادامه معرفی می شود خودشان بهچند سبک تقسیم می شوند،در کل بازی های شبکه ای به دو نوع تقسیم می شوند که این دونوع ساختار و اهداف کاملاً متفاوتی دارند.

1.بازی بر پایه قسمت Session based video games

2.جهان مجازی مداوم (Persistent virtual worlds)

بازی بر پایه قسمت:در محیط های بر پایهقسمت، هر بازیکن دارای یکClient در رایانه اش می باشد و از یک شخصیت که در بازینمایش داده شده و موقعیتی را می گیرد استفاده می کند. این شیوه بیشتر برای بازی هایاستراتژیکی استفاده می شود، در این بازی ها در یک قسمت بازیکن می تواند حرکت کند،چیزی را برای دیگر کاربران ارسال کند و تا زمانی که حرکت کنند صبر کند. اگر یک نوبتکامل شد اطلاعات لازم درون یک بسته شبکه گذاشته شده و برای تمامClient های مشترکدر ان قسمت ارسال می شود یا یک کار بهتر می تواند صورت بگیرد یک سرور نوبت بازی راتحلیل کرده و نتیجه رویدادهای لازم بازی را برای نوبت و چرخش بازی بعد رها کند.

دربازی های به صورت رایانه ای یا بازی هایplay by email (PBEM) ممکن است چند روز طولبکشد تا نوبت بازی تمام کاربران و بروزسانی انها، تا نتیجه سناریوشان کاملشود.

دراضافه بسیاری از بازی ها هستند که تمام کاربران می توانند در یک زمان یکسان در چرخهباشند بدون این که احساس کنند چرخه بازی دارای زمان خاص است. نمونه ای از این بازیها تیراندازهای اول شخص است.

بیشترین شهرت سبک های بازی بر پایه قسمت این است کهانتهای بازی تا جایی است که به هدف مشخص رسیده باشیم. ( یا تا جایی که تمام کاربرانبه حد کافی بازی کردند و می خواهند از بازی خارج بشوند) سپس بازی به اتمام می رسد ومی تواندrestart شود. امّا هیچ اطلاعاتی در سرور به استثنای ذخیره بالاترینامتیازات، انباشته و ذخیره نمی شود. اگر بازیکن بازی جدیدی را شروع کرد این بازیهیچ ارتباطی با قسمت های بازی که در گذشته، بازیکن ها ان را تجربه کردند ندارد ووضعیت هایی که او در قسمت های قبل داشته به هیچ عنوان برای قسمت های جدید ذخیره نمیشود به عنوان مثال وضعیت سلامتی، اسلحه ها، مهمات، دارایی ها و... که در قسمت جاریبرای قسمت های قبل و بعد در جایی ذخیره نمی شود و فقط در همان قسمت استفاده میشود.

این نوع بازی خود به سه سبک تقسیم می شود. 1. حریف کشی 2. تیم و شراکتی 3.گرفتن پرچم
حریف کشی:بازی سبک حریفکشی به این صورت است که گروهی از سرور ها برای اجرای بازی ابتدا از یک نقشه یامرحله شروع می کنند و تعدادی کاربر در ان نقشه یا مرحله تا زمان رسیدن به اهدافمرحله یا طی کردن زمان خاصی در ان مرحله می مانند. این کاربران هر کدام به صورتاصطلاحاً یکClient به سرور متصل می شوند و اگر اجازه دسترسی به بازی از طرف سروربه انها داده شود انها به شکل یک کاربر در مرحله یا نقشه بازی ظاهر می شوند و میتوانند بازی شان را شروع کنند. سرور همچنین می تواند تعدادی کاربر را که توسط هوشمصنوعی رایانه کنترل می شوند و اصطلاحاً به انbot می گویند را در بازی بفرستد. هدفسبک حریف کشی کاملاً واضح است. کاربران باید در این بازی سعی کنند سایر کاربران دربازی را از پای دراورده و بکشند، به این کار علاوه بر کشتن، اصطلاحاًfrag هم میگویند. بازی پس از یک دوره زمانی خاص به صورت خودکار به اتمام می رسد که این زمانمی تواند چیزی در حدود 5 دقیقه تا 1 ساعت باشد. امّا بازی می تواند در صورتی کهتمام بازیکن ها به غیر از یک نفر که برنده است کشته بشود یا این که شما تعدادحداکثری برای کشته شده ها تعیین کنید که به عنوان مثال اگر بازیکن های کشته شده بهفلان مقدار حد نصاب رسید بازی به پایان برسد. بازی هایQuake Arena وUnreal Tournament پرشهرت ترین بازی ها از این نوع سبک محسوب می شوند.

تیم و شراکتی:دربازی های با سبک تیمی یا مرحله گروهی سرور یکbackground را اجرا می کند.

بازیکن هاهمچون سبک حریف کشی از هر جای جهان وارد سرور شده و اصطلاحاًlog in می شوند و دربازی شریک می شوند. با این تفاوت نسب به سبک قبلی که هر کدام از این ها وارد یک تیممی شوند که این تیم ها در ضدیت با یکدیگر ساخته شده است و تنها کاربران نمی توانندهم تیمی های خودشان را بکشند. نوع شراکتی که تا حدود شبیه به نوع تیمی است هم بهاین صورت است که در نوع شراکتی شما عضو تیم های یکسانی می شوید که تیم مخالف شما درحقیقتbot هایی هستند که توسط رایانه کنترل می شوند و شما باید به همراه هم تیمهایتان که کاربران همچون خودتان هستند با اینbot ها بجنگند.

مشهورترین نمونهبازی بر پایه تیم بازیBattlefield 1942 می باشد. در این بازی کاربر می تواند یکتانک، جیپ، کشتی، زیردریایی و هواپیما را کنترل کند. کنترل اسلحه مرکزی تانک وکنترل مسلسل یا فقط راه رفتن در بازی در نوع حریف کشی تیمی و با هدف بیرون انداختن سایر دشمنان در صورت امکان است و در برخی حالات گرفتن پرچم دشمنهم جزئی از هدف می شود. البته در طراحی بازی و به خصوص بافت زنی لباس کاربرانخیلی مهم است که توسعه دهنده بازی هم بتواند طوری طراحی کند که دوستان و دشمناندر بازی قابل تشخیص باشند به عنوان مثال هر گروه لباسی با رنگ خاص داشته باشد و یاهر طرح دیگری که به ذهن می رسد. یک عیبی که سبک تیمی دارد ظاهر شدن اشخاصی استکه اصطلاحاً به ان کشنده تیم یاteam killers می گویند، این ها کاربرانی هست که همتیمی های خودشان را می خواهند بکشند و از ادامه بازی محرومشان کنند، زیرا اینها تحتپوشش کاربرانی از تیم مخالف هستند یا اینکه انها نمی دانند که بازی چگونه کار میکند و یا نمی دانند چه کسانی هم تیمشان است و نیست،برای همین تعداد زیادی از بازی های تحت شبکه تحت این سبک دارای تنظیمات بی اثر کردناتش دشمن می باشد که باعث می شود دیگر هیچ کاربری نتواند به کاربر دوستش اسیب بزند، هر چند که این روش باعث ایجاد یک حالت غیر طبیعی می شود که کاربر بتواند با اسلحه به راحتی به دشمنان بتازد در حالی که نگران اسیب دیدن هیچ کدام از هم تیمی هایش دراین اتش بازی و تاخت و تاز نباشد. راه دیگری هم هست و ان این است که یک مدیر درسرور نظارت کند و هر کاربری را که به هم تیمی اش شلیک کرد و او را تعمداً از پای دراورد او را از بازی حذف و نام کاربری اش را ببندد هرچند که این کار به صورت خودکارتوسط خود سرور هم شدنی است.

کشتن هم تیمی در هر جنگ سنگینی ممکن استرخ بدهد. پس می توان یک میزان حداکثری از کشته شدن هم تیمی تعیین کرد و وقتیکه به ان میزان رسید دستور رسیدگی و ملاحظه را توسط سرور داد، به عنوان مثال دربازی مذکور یعنیBattlefield 1942 بسیاری از مردم به خاطر رسیدن به اسلحه ای خاص همتیمی خودشان را می کشتند، یعنی زمانی که شخص و هم تیمی شان به سمت یک اسلحه حرفه ایمی رفتند و هر دو هدفشان یکسان بود یعنی برداشتن ان اسلحه خاص جنگی بین ان دو در میگیرد که مسلماً یکی از انها ان یکی را کشته و به هدفش یعنی رسیدن به ان اسلحه خاص می رسد. همچنین برخی از هم تیمی ها چون می خواهند کنترل یک ماشین را بدست بگیرند همتیمی راننده را برای رسیدن به این کار می کشند!

گرفتن پرچم:در این نوع بازی ها، بازیکن ها در تیمسازمان یافته هستند، هر تیم دارای تعدادی پرچم یا میله پرچم می باشد که باید از اننگهبانی کند و وظیفه بازیکنانlogin شده در سرور این است که به محل نگهداری پرچمسایر تیم ها بروند و پرچم انها را مورد سرقت قرار دهند و پرچم را به دوش گرفتهبه سمت یک میله پرچم ببرند و هر بار بازیکنان باید پرچم دزدیده شده را تا میله پرچمخانه خودشان مدیریت کنند و در نتیجه این کار امتیازی دریافت می کنند. اگر بازیکن درحین حمل پرچم ان را در فضای مجازی گم کند این پرچم می تواند توسط یکی از اعضای دیگرگروه یا گروه دشمن پیدا شود و برداشته شود.

پایان این نوع بازی ها معمولاً پس ازیک دوره معین از زمان یا زمانی که تعداد مشخص پرچم دزدیده شده به حد نصاب برسد، میباشد. چند نسخه از انواع متفاوت این بازی ها منتشر شده که می توان به سری بازی هایDelta Force اشاره نمود.

جهانمجازی مداوم:بعد ازمعرفی سه سبک نوع بازی بر پایه قسمت اکنون می خواهیم نوع دوم بازی ها را یعنی جهانمجازی مداومPresistent virtual world را توضیح دهیم. مدیریت بانک اطلاعاتی سرورتمام کاربران را برای بازی معین ثبت می کند، برای ثبت نام در بازی، نیاز به ریختن پول در حدود 5 الی 15 دلار در ماه است، سپس اجازه پیدا می کنید که بازیرا در 24 ساعت هر روز ان ماه بازی کنید. کاربر همچون یک انسان واقعی در یک محدودهشهری بزرگ، قاره یا حتی یک سیاره در جهان مجازی مداوم زندگی کرده و با گذشت زندگی،تجربه کسب می کند. همچون زندگی واقعی، در ان یک سیستم سیاسی بعلاوه سیستم اقتصادیقرار دارد و بازیکن باید رهبری گروهی از انسان ها را به عهده بگیرید.

این نوعکاملاً با نوع بازی بر پایه قسمت متفاوت است. در یک بازی با نوع جهان مداوم اطلاعاتدرباره کاربر (همچون نشان های شخصیت، سلامتی، تجهیزات و...) هر بار در خود بازیاجازه ذخیره شدن می گیرند. هنگامی که بعد از گذشت چند ساعت، روز یا هفته دوبارهشروع می کنید به بازی شخصیت شما همانی است که قبلاً با ان بازی می کردید و با همانمشخصات و قابلیات. در کل این نوع از بازی دو مولفه مرحله بندی و اطلاعات مداوم داردکه جداگانه انها را بررسی می کنیم.

مرحلهبندی:مرحله بندی بازی در حقیقت نوعی وجه های شخصیت ها را با یک سیستمهوشمند از قدرت ها و نشانه ها، کاربر را از انجام چیز خاصی از بازی بهبود می دهد. تنظیم کردن تمام این قدرت ها و نشانه ها به کلاس های خاص ، وظیفه زمان بری است.

اطلاعات مداوم:اگر بازیکن در جهان مجازی مداوماجازه دهد تمام قدرت شخصیت ذخیره شود، سخت افزار سرور تمام اطلاعات را در دیسکبانک اطلاعاتی قرار می دهد و این کار تا زمانی که سرور در حال اجرا و کارمی باشدانجام می گیرد. تمام اطلاعات بازی در حالت مداوم قرار دارد. از این رو جهان مجازیبه موجودیت و بازشدن خودش ادامه می دهد زیرا هزار بازیکن دیگر همچنان در حال بازیدر این جهان هستند. مشکل اینجاست که کاربرانی که در بازی جدی نیستند به زمان بیشتریبرای دست یابی به مراحل یکسان با سایر افرادی که مشغول بازی امّا جدی تر و چند ساعتدر روز هستند نیاز دارند،که این می تواند کاربرانی را که نمی توانند بیشتر بازیکنند نا امید کند. در این حالت برخی بازی هایی که محیط شان این چنین مشکلی داشت ازچند راه حل استفاده کردند، یکی از راه حل ها این است که بازیکن هایی که نمی توانندخیلی زیاد انلاین باشند و بازی کنند می توانند با سرعتی ضعیف تر قدرت خودشان رازیاد تر کنند و راه دیگر که در برخی بازی ها استفاده شده، این است که بازیکن می تواند در قبال دادن پول در دنیای واقعی به بازی ساز در قبال ان قدرت و اشیای لازم در جهانمجازی را بگیرد.

RPG در مقابلMMORPG: بازی های با سبکRole-Playing Game بازی هایی هستند که در یک محیطoffline بازی می شوند. امّا به صورت جهان گستر قابل استفاده است. همچون نوع جهانمجازی مداوم می توان ابعاد و احتمالات جدید را به ان اضافه نمود که باعث بزرگترشدنان می شود و در نتیجه این کار و فراخوانی قابلیت انلاین و چند کاربره، سبک جدیدی بانامmassive multiplayer online role playing درست می شود.

دستان میلیون هاانسان که بخواهند یک عنوان بین المللی را با موفقیت امتحان کنند چیز ساده ای نیست.بیشتر مردم کسانی هستند که انلاین هستند و به یک سرور واحد متصل هستند و بیشتروظیفه جامع تیم مدیریتی، این است که بازی با حداکثر سرعت و توانایی اجرا گردد. اینسوال است که چرا یک بازی واحد نمی تواند در یک سرور واحد اجرا شود؟ بسیاری ازاستراتژی ها از شکافتن وظایف درون قسمت مدیریت حکایت می کند. امّا عمومی ترین راهاین است که یک نمونه چند کاربره را بر روی چندین سرور اجرا نماییم طوری که کاربرنتواند شخصیتش را از این سرور یک سرور به دیگری ببرد.

حهان مجازی برای این کهچند بار نمونه های خاص بازی را اجرا کند به هر کدام از دیگری متصل نمی شود. اگر می خواهید به صورت انلاین با دوستتان بازی کنید باید ابتدا مطمئن شوید که تماماعضای تیم از یک سرور یکسان استفاده می کنند. هنگامی که در حال ساختن شخصیتتانهستید می توانید سرورتان را انتخاب نمایید، دیگر استراتژی که می توان از ان استفادهنمود استفاده از اقلیم متفاوت یا سیستم سیاره ای است. در این نوع سیستم هر قسمت ازجهان در یک سرور اجرا می شود. هنگامی که کاربر می خواهد از گوشه ای از جهان به گوشهای دیگر که در سروری دیگر قرار دارد برود باید یک بارگذاری کوچک را ببینید و تحملکند. در پس زمینه در حقیقت اطلاعات شخصیت از این سرور در حال انتقال به سرور دیگراست، برتری این روش در این است که تمام کاربران در یک جهان مجازی کاملاً یکسان قراردارند.

Lag :اخرین چیزی که باید در اینفصل در مورد بازی های چند کاربره بدانیمLag می باشد. اگر همواره یک بازی اکشنانلاین را بازی کرده باشید می خواهید بیشتر در مورد این اصطلاح بدانید زیرابیشتر مردم از توابع پیام استفاده می کنند.Lag،به سرعت خیلی کم سرور برمی گردد وبدترین حالت و موقعیت می باشد. اگر یک نفر تایپ کند:"Laaaaaaaaaag" او به ایناشاره می کند که اتصالش به سرور بسیار ضعیف است. زیرا اتصال ضعیف در حقیقت یک توقفکوتاه در بازی یا موقعیت و محل بازیکن است که باید این موقعیت و محل بازیکن هر چندثانیه تغییر کند و کاربر تخمین می زند که حرکتش کاملاً توسط سرور به درستی محاسبهنمی شود.

Lag دسته ای از رکود در بازی است، در حقیقت این مشکل زمانی اتفاق میافتد که بسته های اطلاعاتی نیاز به گردش از سرور بهclient را دارند. تنها راه حلمشکلlag این است که مساله انتقال اطلاعات چه از طریق اینترنت یا شبکه داخلی درست شود و خطی با سرعت بیشتر گرفته شود، بیشتر این مشکلات ناشی از سرعت کم انتقالاطلاعات ازclient می باشد. اگر ارتباط به شکلpeer to peer است که تمام بازیکن هابه نوعی باید این مشکل را تحمل کنند. هرچند که گاهی اوقات این احتمال هم وجود داردکه مشکلlag شدن به خاطرoverload شدن سرور با برخی ازclient ها باشد. در این حالتتعویض سرور می تواند مشکل را حل کند.

ساختارشبکه

ساختار پایه سیستم شبکه میتواند بر دو دسته تقسیم شود: 1.Peer to Peer2.Client/Server اینجا بحث بر سرچگونگی اتصال فیزیکی رایانه به شبکه نیست امّا چگونگی اتصال رایانه به دیگری مطرحاست. هر رایانه را می توان به دو صورتPeer to Peer یاClient/Server با سایر کاربران به صورت شبکه ای اجرانمود. تنها موجود واحدی که به شبکه متصل می گردد فقط برنامه ها هستند، همچون یکClient بعلاوه یک سرور یا یکpeer که بیشتر از یک نرم افزار نیست. حتیمی توان دو بازی تحت شبکه تیرانداز اوّل شخص را در عوض یکی بر روی رایانه اجرا نموده و با کمک دو مانیتور مشغول بازی شد. اکنون به تفصیل هر دو صورتPeer to Peer وClient/Server را توضیح خواهیم داد.

Peer to Peer :در یک شبکهPeer to Peer هرClient به تمام دیگرClient ها متصل است. این قاعده باعث می شود که هرClient مستقیماً با دیگران اتصالداشته باشد. در این حالت به هیچ سروری برای اتصال میان این دو نیازی نیست. شکل زیرساختارPeer to Peer را بهتر نشان می دهد:


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

مزیت این نوع ارتباط:

• هر کاربر در هر زمان که بخواهد میتواند براحتی از شبکه خارج شود بدون این که موجب اختلال یا اشکال در ارتباط سایرکاربران شود.

معایب این نوع ارتباط:

• این نوع ارتباط دارای ترافیک زیاداست زیرا، اگر بخواهیم پیامی به تمامClient ها ارسال کنیم باید هرClient پیام رابهClient دیگر ارسال کند.

• عدم تمرکز در کنترل، اینجا مکان اشکاری برایذخیره لیست بالاترین امتیازها، لیست کاربرانband شده، لیست تنظیمات بازی و... وجودندارد.

• به طور عادی در میزان حداکثری کاربران به دلیل وجود ترافیک محدودیتوجود دارد.

Client/Server :در شبکههایClient/Server یک موجودیت یاentity یک سرور است و گروهی بازی یا هر ابزار کاربردی شبکه(client) نیز وجود دارد، که در شبکه اجرا می شود. دیگر موجودیت ها که می خواهند قسمتی ازشبکه باشند می توانند به سرور متصل شوند،و اگر این دسترسی را بگیرند، Client ها درشبکه قرار می گیرند. اگر یک پیام نیازمند ایجاد فرایندی مابینClient ها است یکClient اجازه ندارد که ان پیام را مستقیماً بهClient مورد نظر ارسال نماید و اصلاًچنین چیزی غیر ممکن است چون انClient اصلاً اتصالی باClient مورد نظر ندارد. درعوض تمام پیام ها به سمت سرور ارسال می شود و ان سرور پیام را به تمامClient ها یاان Clientکه باید پیام به دستش برسد ارسال می کند. برای درک بیشتر تصویر زیر راببینید:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

در این حالت از بازی های رایانه ای،سرور وظیفه ای در اجرای بخش مجازی بازی ندارد. سرور می تواند نمونه بازی را فقطشروع کند و به کاربران اجازه بازی بدهد. بنابر این سرور نیازی به محاسبه خروجیگرافیکی بازی ندارد. در عوض سرور در پراکندن پیام ها و محاسبهCollision detection (تشخیص تصادم) و چیزهایی مانند این درClient متمرکز می شود. البته می توان به سرور اجازهداد تا خروجی مجازی بازی را هم ارائه دهد در این حالت سرور می تواند یک نمونه ازبازی را هم در خودش اجرا کند.

تکنولوژیClient/Server معمولاً در بیشتر بازی هایرایانه ای استفاده می شود، مخصوصاً در بازی های تحت شبکه بسیار بزرگ نظیر بازی هایسبک MMORPG.سرور تمام نیازهای خودش در بانک اطلاعاتی را به کار می برد و با تماماطلاعات مداوم کار می کند زیراClient اجازه دسترسی مستقیم به اطلاعات را ندارد. پس هکرها می توانند کدهای یکClient را الوده کنند و کارهایی را کهنباید انجام بدهند را انجام دهند و باید مراقب این مساله هم بود.

اکنون میخواهیم مزایا و معایب این نوع از اتصال شبکه ای را برای شما توضیح دهیم:

مزایایشبکهClient/Server:

• این نوع شبکه برای بازی های شبکه بزرگ که از بانک هایاطلاعاتی استفاده می کنند بسیار مناسب است.

• هرClient فقط با یک موجود درشبکه کار می کند که ان موجود سرور است.

• این نوع شبکه دارای یک ارتباطمتمرکز و قوی مابینClient ها است.

• امنیت بالا، Client ها به اطلاعات مرکزیبازی دسترسی ندارند.

معایب شبکهClient/Server:

• اینجا یک نقطه شکست وجوددارد (اگر سرور قطع شود در حقیقت تمام شبکه قطع شده است).

• سخت افزار خاصیبرای سرور نیاز است.

• سرور به قدرت نیاز دارد.

تکنولوژی شبکه

بهطور اساسی، تنظیمات سیستم ارتباط شبکه ای با استفاده از کابل های مسی یا فیبرهاینور انجام می گیرد، و کاملاً شبیه به تلفن است که صدا را ارسال می کند.صدا در فرایندی قرار گرفته و مورد انتقال و مبادله با یک تلفن قرار می گیرد و صدا برای کسی که در حال صحبت با ان هستید بازپخش می شود، همچون کار اینسیستم اگر قسمتی از سیستم را دریافت کنید باید بدانید که چه نوع فرمت اطلاعاتیدر ان است.

کاربردهای یکسان برای یک شبکه رایانه ای استفاده از پروتکل های شبکه است. اینپروتکل ها تعریف می کنند که چگونه اطلاعات وارد شونده سازماندهی شوند؟ و اطلاعاتدارای چه محتوایی مورد سفارش ما باشند؟

مشهورترین پروتکل های شبکه عبارتند از:IPX/SPX، NETBEUI وTCP/IP (که برای اینترنت استفاده شده) هستند. البته بسیاری ازپروتکل های دیگر هم هستند که ما می توانیم در مورد ان ها در ادامه بحث کنیم امّاترجیح می دهم اوّلین بحثم را ازOSI Model شروع کنم که قسمتIP پروتکلTCP/IP میباشد.

OSI: مدلی از توسعهفرایند ارتباطات است که نام کامل انOpen System Interconnection می باشد و در سال 1970 توسط سازماناستاندارد جهانی(OSI) پایه گذاری شد. مدلOSI بر پایه 7 لایه ساخته شده است. یکفرایند ارتباطات همواره در بالاترین لایه اغاز می شود و به سمت پایین تا هفتمینلایه که پایین ترین لایه است کار می کند.

پس از این که اطلاعات از شبکه ارسالشد، اطلاعاتی که وارد مقصد می شوند باید از میان تمام هفتلایه دوباره عبور کنند. فقط در حالت معکوس، هنگامی که انها دوباره به بالاترین لایه میرسند کار اجرایی که انتظار ان می رود را می گیریم. در طی این روند هر لایه بااطلاعاتی که به کار ان می اید و به ان نیاز دارد کار می کند. یک تصمیم مهم در لایه چهارم باید انجام بگیرد، این تصمیم به این صورت است که باید تعیین کردبسته اطلاعاتی ایا به صورت بستهUser Datagram Protocol (UDP) ارسال شود یا به صورتTransmission Control Protocol (TCP) .تمامی لایه ها در تصویر زیر نشان داده شدهاست.

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

لایه 7Application : لایهApplication لایه ای است که در انجا کاربران راه های ارتباطی را تنظیم میکنند. اینApplication همان ابزاری است که با ان کار می کنید همچون ابزارEmail ، FTP Client یا حتی مرورگر اینترنتی، هر ابزاری که از پروتکل شبکه برای انتقال اطلاعات در شبکه استفاده می کند حتماً این لایه را به عنوان لایه هفتم وبالاترین لایه خودش استفاده می کند.

لایه 6Presentation : اینلایه، هسته معرفی اطلاعات است. به این مفهوم که ایا این اطلاعات برای حمل و نقل درشبکه رمز گذاری شده اند؟ ایا اینها فشرده هستند؟ و از این قبیل مسائل، اگراطلاعات رمز گذاری و فشرده سازی شده اند در صورت لزوم باید اطلاعات ورودی بازشده واز حالت فشرده شده خارج شوند.

لایه 5Session : این لایه تعیینمی کند که چگونه اتصال مابینClient وServer شروع یا تمام گردد. این لایه همچنینهمزمانی ارتباطات شبکه ای را بررسی می کند و ابزار را برای ارسال اطلاعات دراتصالات اجرایی توانا می کند.

لایه 4Transport : یک لایهTransport خطاهای اطلاعاتی را که باید ارسال بشوند را بررسی می کند و بسته ها را دریک مسیر سریعتر و راحتتر انتقال می دهد، در اضافه این لایه بررسی می کند که وضعیتجاری شبکه بسته های اطلاعاتی را صحیح ارسال و دریافت می کند و مهمترین کاری که اینلایه انجام می دهد تعیین نوع بسته ها بر اساس دو نوعUser Datagram Protocol (UDP) یاTransmission Control Protocol (TCP) می باشد.

لایه 3Network : برای ارسال بسته ها به مقصد درشبکه ، این لایه انها رابه یک ادرس مجهز می کند جایی که در مقصد می توانند پیدا بشوند. در این لایه کدها و سیگنال ها تحت یک پروتکل اینترنتی که اختصاراً به انIP می گویند نام گذاری میشوند و برای انهاIP تولید می شود.

لایه 2Data-Link : بررسی اعتبار ایمنی هر بسته قبل از ارسال با این لایه است. این لایه همچنیناتصال مابین دونقطه حقیقی سخت افزاری در شبکه را اماده می کند و بسته های اطلاعاتیرا به قطعه های کوچک که می تواند برای هر شخص ارسال شود تبدیل می کند.

لایه1 Physical : در نهایت لایه فیزیکی، لایه ای است که قطعه های کوچک را برروی کابل شبکه ارسال می کند و انها را بر اساس سیگنالHi/Lo تغییر می دهد. این بیتها به صورت فیزیکی به مقصد الکترونیکی (یا نوری) ارسال می شوند اطلاعات در این سطحرا اصطلاحاً (بر روی سیم) می گویند.

پروتکل ها

بدون پروتکل ها، ارتباطات شبکه امکانپذیر نیست. مشکل یکسانی کهاز ارتباطات شبکه ای می اید این است که رایانه می بیند که اطلاعاتی وارد شد امّااگر نداند که از چه پروتکلی استفاده شده است نمی تواند اطلاعات را تفسیر کند. رایانه باید بداند که اطلاعات چگونه به صورت تکه و کوچک شده گذاشته شده است. همچنینباید بداند که از چه قطع کننده ای برای شکستن اطلاعات به بسته ها و قطعه های کوچکاستفاده شده است. اگر از یک پروتکل یکسان برای ارسال و دریافت اطلاعات استفاده نشود سخت افزار نمی تواند بیت ها و بایتها را با هم در پیامش بگذارد و به شبکه به صورت صحیح ارسال کند. همانطور که قبلاً اشاره شد پروتکل های متفاوتی برای شبکه وجوددارد امّا در اینجا قصد دارم دو پروتکل مشهورتر و مهم تر در همه زمینه های شبکهاز جمله بازی های تحت شبکه را توضیح بدهم که ان دو پروتکلTCP وUDP میباشد.

UDP : UDP بی شباهت بهTCP ،یک راه غیرخطی برای ارسالاطلاعات می باشد که توانایی ان در اتصال مداوم کاربر به شبکه، پایدار نمی باشد از اینرو مقصد اطلاعات باید هربار که اطلاعات ارسال می شود نامگذاری شود. همچنین یکپروتکل بی ضمانت می باشد زیرا پس از ارسال اطلاعات لینک مابین منبع و مقصد بریدهشده و بازخوردی ندارد که ان را بررسی کند و ببیند که ایا بسته ها به سمت مقصد ایمن وبدون هیچ مشکلی و کامل ارسال شده اند یا نه.

از جمله مزایای استفاده از اینپروتکل این است که با از قلم انداختن بررسی ثبات و صحیح بودن ارائه اطلاعات سرعتبالایی را پیدا می کند. در یک بازی رایانه ای و زمانی که باید 20 بار در ثانیهموقعیت هر کدام از اشیایی که حرکت می کند را ارسال نمود اگر دو یا سه بستهگم شد مشکل خیلی خاصی نمی تواند ایجاد کند و Client می تواند در اخرینموقعیتی که قرار داشته باقی بماند.می توان یک بررسی کننده امنیتی برایUDP گذاشت،و هنگام ارسال بستهاز هر دو شیوه غیر ضمانت شده برای ارسال پیام های غیرمهم همچون اطلاعات مربوط به موقعیت و همچنین می توان از شیوه امنیتی برای پیام های مهم بازخورد از مقصد، همچون گلوله خوردن یک شخصیت استفاده نمود. همچنین می توان از هر دو پروتکلUDP وTCP استفاده نمود. می توان برای پیام هایی که گم شدن شانایراد اساسی در روند بازی ایجاد نمی کند ازUDP استفاده کرد همچون پیام های مربوطبه مختصات و موقعیت شخصیت ها، و برای پیام های حیاتی که بسیار مهم هستند همچون باختنشخصیت ها یا تیر خوردن انها می توان ازTCP استفاده کرد. امروزه موتورهایی وجود دارند کهاز هر دو این پروتکل ها استفاده می کنند به عنوان نمونه می توان به موتورTorque Game Engine اشاره نمود که در بخش شبکه از هر دو پروتکل استفاده میکند.

TCP/IP : پروتکلTCP که مختصرTransmission Control Protocol می باشد یک پروتکلاتصال محور یاConnection-Oriented می باشد. این پروتکل تنها در صورتی اجازه ارسالاطلاعات را می دهد که یک اتصال پایدار بین منبع و مقصد وجود داشته باشد، سپساین اتصال بعد از نگهداری تا زمانی که به طور واضح پایان پیدا کرد و کاربر ان را بست ادامه پیدا می کند، از این رو این اتصال تا زمانی که برنامه در حالت اجرا استپایدار باقی مانده و هیچ خطایی نباید در سخت افزار رخ دهد.TCP یک پروتکل ضمانت شدهاست زیرا هر بسته اطلاعاتی که ارسال می شود به صورت درونی تایید شده و در شکلی ازبازخورد مقصد است. اگر این بازخورد در داخل مقدار معینی از زمان بعد از ارسال پیاموارد نشود ارسال کننده به صورت خودکار دوباره پیام را ارسال می کند. TCPازاینرو یک چهره و وجه ضمانت شده ای را از خودش در زمینه ارسال و دریافت بسته هایاطلاعاتی دارد. هیچ بسته اطلاعاتی نیست که گم بشود زیرا اگر بسته اطلاعاتی گم بشودیک رونوشت از ان دوباره ارسال می شود. هیچ خطایی رخ نمی دهد زیرا تمام بسته هایزاید نادیده گرفته می شوند. دیگر مزایایTCP این است که بسته های اطلاعات خرد شدهرا به شکل سفارشی دریافت کرده و انها از قبل به صورت سفارشی به شکل یک بسته دوبارهسازی می شوند و به سمت مقصد ارسال می شوند. در عین حال شما می توان میزان کارکرد ان را دید، اما این پروتکل یک ترافیک اضافی ایجاد کرده و زمان کار شبکه را به پایینترین حالت ممکن پایین می برد امّا در عوض مطمئن هستید که هیچ کدام از بسته های اطلاعاتیشما گم نمی شود.



API هایشبکه

ما تمام ابزارهای 7 لایه مدلOSI را در اختیار نداریم زیرا بیشتر این لایه ها همواره در سخت افزار کار می کنند پس برایدسترسی بیشتر به لایه ها و سخت افزار نیاز به کار باAPI داریم. APIلایه ای ارتباطی بین برنامه نویس و سخت افزار است که برنامه نویس با کمکان می تواند به سخت افزار دسترسی و کنترل داشته باشد. در زیر می خواهیم لیستی ازAPI های مفید تحت شبکه را که دسترسی اسان به سخت افزارهای شبکه را می دهندمعرفی نماییم.

Berkeley Sockets :Berkeley Sockets اولینAPI بود که برای تعریفTCP/IP استفاده شد. در 1986 اینAPI برای نسخه های متفاوت سیستم عامل ها در دسترس بود کهالبته بیشتر، سیستم عاملUNIXاز ان استفاده می کرد. در 1991 نسخه 4.3 اینAPI اوّلین نقطه شروع برای توسعه دهندگان تحت ویندوز ان بود. امروزه اینAPI بیشتریناستفاده را در سیستم عاملLinux وUnix دارد و حتی به یکAPI استاندارد تحت شبکهبرای این سیستم عامل ها تبدیل شده است.

Windows Sockets: اینAPI قسمت کاملی از سیستم عامل ویندوز می باشد. بهطور جاری نسخه 2 ان در دسترس است و خیلی شبیه به نسخه قبلی اش می باشد واستانداردهای یکسانی باAPI قبلی یعنیBerkeley Sockets دارد. همچنیناگر برنامه تحت شبکه را با کمک اینAPI بنویسید برنامه می تواند با دیگرAPI هاکامپایل شود.

WinSock دارای چهره هایی است که ان را نمی توان درBerkeley Sockets پیدا کرد. ساختن یک برنامه تحت شبکه در ویندوز ان هم به اسانی هر چه تمام تر، که می تواند پیام های بر پایه تکرار را در سوکت های غیر همزمان بالا ببردکه این مکانیزم باعث می شود تا سوکت ها وقایع را به شما اعلام کنند. (مانند واردشدن اطلاعات جدیدWinSock ) یکAPI بسیار کارا و موثر که استفاده از ان اسان است امّا مانندتمامAPI های سطح پایین باید با توابع سطح پایین و استانداردها و معیارهایمتعارف یکنواخت دست و پنجه نرم کرد.

DirectPlay : یک مولفه از بسته مشهور و محبوب DirectX.DirectPlay کتابخانه ای است که از سوی مایکروسافت ارائه شده است و بیشتر برای پشتیبانی ازتوسعه دهندگان ابزارهای تحت شبکه به قصد ساخت بازی ساخته شده است. در این کتابخانهمقدار زیادی توابع سطح بالا وجود دارد همچون محلی برایLogin شدن بازیکن ها دربازی های شبکه و یک مسیریاب پیام و اتصالگرهای متفاوت. اگر به اسناد کمکی این کتابخانه نگاه کنید یک راهنمای جامع که بیشتر وظیفه اش تامین نیازهای کسیاست که می خواهد با کمک این کتابخانه یک بازی تیرانداز اوّل شخص تحت شبکه رابسازد ، وجود دارد.

اشکالی که در کتابخانهDirectPlay وجود دارد این است که فقط برایویندوز در دسترس است و فضاهای سرورهایMMORPG نمی توانند تحت ویندوز اجرا بشوند وباید حتماً تحتLinux یاUnix اجرا بشوند. همچنین اگر از اینAPI استفاده شود باید یک برنامه سرور جداگانه با استفاده از یکAPI شبکه دیگر تکمیل شود یااگر از اینAPI استفاده شد باید فقط از سرور ویندوز استفاده شود. ذکر این نکتههم ضروری است که چون اینAPI از یک پروتکل اختصاصی استفاده می کند به خاطر همیناتصال، یکClient که ازDirectPlay استفاده می کند به یک سرور غیر ازDirectPlay بسیار سخت می باشد. در هر صورت به عنوان حرف اخر از هر پروتکل، API و ابزارهایتحت شبکه که معیار استفاده فقط افزایش کارایی، سرعت و دقت باشد. فراموش نشودکه انتظار یک بازیکن تحت شبکه از بازی ساز مسلماً این نیست که بازی با بالاترینکیفیت گرافیکی ممکن ارائه شود بلکه با توجه به این که سرعت اتصالات اینترنت درایران در ضعیف ترین حالت ممکن قرار دارد و از طرفی رایانه هایی که در کافی نت هاقرار دارند ممکن است از سرعت و قدرت کافی برای شبکه داخلی برخوردار نباشند این استکه در کمترین سرعت ممکن هم بازی بتواند بهترین جواب را بدهد و سرعت انتقال بسته هایاطلاعاتی مابین رایانه و سرور یا اگرPeer to Peer استفاده می شود مابین رایانه هادر بیشترین حد ممکن باشد و در حقیقت سعی شود معیارها اوّل بر اساس سرعت بیشترو بعد بر اساس دقت باشد هرچند که همانطور که گفته شد با یک کار دقیق می توان ازتمامی پروتکل ها استفاده کرد و از دقت و سرعت هر دو پروتکل استفادهنمود.

silsin
07-10-2011, 20:50
بخش سوم -اشنایی با ساختار موتور بازی

اشنایی با ساختار موتور بازی

مقدمه: بسیاری از مردم بازی را با موتور بازی اشتباه می گیرند، اما درست مثل این است که یک شخص موتور یک خودرو را با خود خودرو اشتباه بگیرد. می توان موتور خودرو را بیرون اورده و با یک پوشش جدید خودروی جدیدی ساخت، این مثال تا حدی تفاوت ان دو را نشان می دهد.

رندرگر:بطور کلی اولین چیزی که در ساختن یک موتور باید به ان فکر کرد رندرگر ان است. رندرگر نتیجه دیدن بازیکن در بازی را تولید میکند. یعنی به بیان بهتر ان چیزی را که بازیکن باید ببیند رندرگر برایش تولید میکند و به نوعی چشم بازیکن دریک بازی کاملا به رندرگر موتور وابسته است، با این حساب رندرگر اهمیت فوق العاده ای پیدا می کند. بیش از 50 درصد قدرت پردازشگر برای رندرگر مصرف می شود، البته برای گرفتن پیکسل ها در صحنه در این روزها احتیاج به کارت های گرافیکی جدیدتر ، توابع کاربردی مختلف ،ریاضیات سه بعدی وطرز کار سخت افزار های سه بعدی دارد. اگر کسی بخواهد برای یک کنسول بازی بسازد احتیاج به برخی اطلاعات دیگر هم دارد چرا که روند کار یک کنسول بازی با یک رایانه کاملا متفاوت است و پیکربندی کنسول بر اساس تصویر در زمان است نه فریم در زمان یکی از دلایلی که کمتر کسی سراغ XNA می رود این است که XNAبر پایه ساخت بازی برای کنسول است نه برای رایانه . البته می توان برای رایانه هم توسط این ابزار بازی ساخت اما چون روند کار کنسول اجرای بازی با استفاده از قدرت CPUاست در نتیجه XNA تنها از قدرت CPUاستفاده می کند و نه از قدرت کارت گرافیک و این مساله باعث می شود که تنها کسانی که تمایل به ساخت بازی برای کنسول دارند به سمت XNAبروند.

گرافیک سه بعدی در اصل هنری است که بیشترین چیز را با کمترین کارها می سازد. اشیای سه بعدی در جهان سه بعدی درحقیقت نقاطی هستند که به انها راس (vertices)می گویند که این رئوس خط را رسم می کند به عنوان مثال یک جعبه را در نظر بگیرید که دارای 8 راس می باشد،همچنین این جعبه دارای 6 سطح است که اطراف جعبه را پر می کند، این مثال یک مثال بسیار پایه ای از یک شی سه بعدی درون جهان سه بعدی است که در مسائل پیچیده چندین هزار راس و سطح وجود دارد.

چگونه مدلها و جهان سه بعدی (مراحل) قسمتی از توابع رندرگر هستند؟

در بسیاری از قسمتهای کاربردی بازی ، منطق بازی نیازی به دانستن این که چگونه اشیا در حافظه قرار میگیرند و یا اینکه رندرگر چگونه برای نمایش حرکت می کند ندارد ، بلکه یک نمونه بازی احتیاج به این دارد هنگامی که رندرگر می رود برای نمایش اشیای بازی ، اشیا را بدرستی و با فریم منظم و دقیقی نمایش دهد.

در یک موتور خوب تعویض رندرگر با یک رندرگر جدید به خوبی امکان پذیر است یعنی بتواند به راحتی یک رندرگر جدید و با قابلیت بهتر برایش بنویسد و با رندرگر قدیمی تعویض کند.

برای نمایش نقاط در فضای سه بعدی راه های دیگری هم هست، یکی از این راه ها استفاده از سیستم مختصات می باشد که با استفاده از قوانین ریاضی می توان از این راه استفاده کرد و از معادله برای شرح مستقیم بودن یا کج بودن خطوط استفاده کرده و به چندضلعی ها دسترسی پیدا کرد. هم اکنون تمامی کارت های گرافیکی از اشیای ابتدایی گرافیکی پشتیبانی میکنند. اشیای ابتدایی گرافیکی پایین ترین واحد رندر در کارت گرافیکی به شمار می رود.

اکنون یک مشکل داریم من جهانی را تشریح می کنم که دارای صد ها هزار راس و چند ضلعی می باشد. من یک دوربین اول شخص را در گوشه ای از این جهان 3 بعدی می گذارم. در این نما برخی از چند ضلعی ها polygonsنمایان هستند و باقی انها هم در دید دوربین نمایان نیستند زیرا برخی اشیاء در پشت اشیای دیگر مخفی هستند. ( مانند اشیای پشت دیوار ). بهترین برنامه نویسان بازی های رایانه ای هم نمی توانند برای یک نمای همراه با 300 هزار چند ضلعی طوری برنامه نویسی کنند که بازی با 60 فریم در ثانیه یا بیشتر اجرا گردد. پس ما باید از برخی تکنیک های مخصوص برای حل این مشکل استفاده کنیم. که بهترین کار حذف چند ضلعی هایی است که در نمای جاری نمایش داده نشده اند. که به این کار اصطلاحاً تکنیک cullingمی گویند.

تکنیک cullingدر حقیقت قسمت هایی از جهان 3 بعدی را نمایش نمی دهد. یک موتور بازی می تواند حجم کار را تا حدود زیادی کم کند. تصور کنید که در نمایی که قرار دارید یک اتاق پر از اشیاء قرار دارد و ان اتاق در طبقه پایین است و شما در نمایی قرار دارید که نمی توانید این اتاق و محتویات درونش را ببینید پس چه احتیاجی به فعال بودن ان اتاق و اشیای درون ان هست در نتیجه این اتاق و اشیای درون ان غیر فعال می گردند و یک بار اضافی کم می شود.

شیوه ساده cullingجهان را به چند قسمت تقسیم می کند. که هر قسمت دارای لیستی از قسمت هایی است که می تواند دیده شود. با استفاده از این روش نمای دید ما در هر نقطه ای فقط قسمت هایی را می بیند که امکان دیدن برایش در ان قسمت هست. خوب سؤال اینجاست که چگونه یک همچنین لیستی را از قسمت های مختلف تهیه کنیم. یکی از روش های تهیه لیست استفاده از تکنیکی تحت عنوان درخت BSPمی باشد.تکنیک BSPدر حقیقت یک روش برای تقسیم بندی جهان به قسمتهای کوچکتر می باشد و با سازماندهی به راحتی می توان تصمیم گرفت که کدام نمایش داده شود و کدام نمایش داده نشود.

برخی از چند ضلعی ها در موتور بازی را convex می نامند. Convex به شی ای میگویند که هر جفت نقطه در روی شی فقط بصورت یک شی مستقیم به هم وصل شوند درست همچون دو تصویر زیر که در تصویر راست ، شی مورد نظر ما convex نیست و خط صاف بین دو نقطه در میانه راه از شی خارج می شود ولی در تصویر دوم خط بین دو نقطه ایجاد شده بر روی شی بدون خارج شدن به هم وصل می شوند

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

یک موتور پایه Portal (اولین سه بعدی بازی اورده شده از پروژه تمام شده) که ناحیه یا اتاقی است به همراه یک مدل با درها یا دروازه ها که در هر قسمت می توان قسمت های دیگر را دید .رندرگر هر قسمت را اختصاصی و جدا رندر می کند . برخی از تکنیک ها هم مشمول عنوان occlusion culling می شوند . اما در کل تمامی این تکنیک ها هدف یکسان دارند و ان زدودن کارهای اضافی می باشد.

برای یک بازی اول شخص اکشن shooter first person ، هنگامی که مقداری از چند ضلعی ها در نمای دید هستند و بازیکن کنترل کامل دید را به عهده دارد این خیلی مهم است که چند ضلعی هایی که دیده نمی شوند رها (cull) شوند ، بااین کار در حقیقت یک فضای مجازی را برای خود نگاه داشته ایم.هنگامی می توان راه های بسیار طولانی را دید که چرخه culling را از دور خودش خارج کرد، انوقت محدودیت دید زیاد می گردد، مانند یک بازی با سبکRTS(real time sterategy)که کاری ساده ولی مهم است.

خط لوله گرافیکی یک رندرگر

اکنون در زیر یک نمونه ساده از خط لوله گرافیکی یک بازی با رندر شدن اشیای ان را با ارائه توضیحات نشان خواهیم داد.
بازی تعیین می کند که چه اشیایی در بازی هستند ، چه مدلهایی دارند ، از چه بافت هایی استفاده می کند، چه فریم های پویانمایی(animation) توانایی اجرا دارند و جهان بازی در چه محلی قرار دارد و همچنین بازی تعیین می کند که دوربین در چه موقعیتی قرار بگیرد.
بازی اطلاعات را به رندرگر می دهد ، در مورد مدل ها رندرگر ابتدا به اندازه مدل نگاه می کند، موقعیت دوربین در محل، و سپس تعیین می کند که مدل در تمام صحنه نمایش داده شود یا در چپ یا راست بیننده (دوربین) یا پشت سر او قرار دارد و یا فاصله تا بیننده به حدی است که نمایش داده نشود.
تعیین سیستم تجسمی جهانی هنگامی است که دوربین در جهان قرار گرفته و معلوم گردد که چه قسمت یا چند ضلعی در نمای دوربین نمایش داده شود. این کار می تواند از طرق مختلف انجام گیرد ، یکی از راه ها استفاده از درخت BSP است ، به این صورت که مرحله را به قسمت های مختلف تقسیم کرده و سپس برای هر قسمت تعیین کنیم که ایا به عنوان مثال در قسمت Dکاربر می تواند قسمت ها و چند ضلعی های قسمت A ،B و C را ببیند یا نه، سپس تمامی چند ضلعی ها از تست عبور کرده و به رندرگر فرستاده شوند.
برای هر چند ضلعی که از رندرگر عبور می کند ، رندرگر برخی عملیات های تغییر شکل را طبق محاسبات محلی (به معنی انیمیشن خود مدل ) و محاسبات جهانی (به معنی جای مدل نسبت به دوربین) و سپس ازمایش چند ضلعی (به معنی پوشش کنار دوربین) محاسبه می کند. مسلما چند ضلعی هایی که در عقب باشند رها می گردند، سپس رندرگر نگاه می کند که این چند ضلعی از چه بافت هایی استفاده می کند و سپس API یا کارت گرافیکی را مامور به استفاده از این بافت برای رندرگر می کند.

ظاهرا این خط لوله خیلی ساده است اما در واقع این ساده ترین نوع کار یک رندرگر است . اکنون در زیر برخی قابلیت های یک رندرگر را می بینیم :

1.Application/Scene

Scene,Geometry database traversal

Movement of object and aiming and movement of view camera

Animated movement of object models

Description of the contents of the 3D world

Object Visibility Check including possible Occlusion Culling

Select Level of Detail (LOD)

2.Geometry

Transforms (rotation, translation, scaling)

Transform from Model Space to World Space (Direct3D)

Transform from World Space to View Space

View Projection , Trivial Accept/Reject Culling , Back-Face Culling

Lighting , Perspective Divide-Transform to Clip Space

Clipping , Transform to Screen Space

3.Triangle Setup

Back-face Culling , Slope/Delta Calculations , Scan-Line Conversion

4.Rendering / Rasterization

Shading , Texturing , Fog , Alpha Translucency Tests

Depth Bufering , Antialiasing (optional) , Display

معمولا چند ضلعی ها را درون برخی از انواع لیست ها تزریق می کنند و سپس نوع این لیست را مطابق با بافتها قرار می دهند. راه دیگر، تزریق یکباره بافت ها به درون کارت است که این روش سریع تر است.

همچنین میتوان از روش چند ضلعی هایی که بر اساس فاصله با دوربین تنظیم می شوند استفاده نمود به این صورت که ابتدا دورترین نقاط رندر شوند سپس چند ضلعی های نزدیکتر. یک رندرگر چندضلعی ها را از عقب به جلو رندر می کند ، یکمرتبه برنامه کاربردی صحنه را از APIقطع می کند وAPI از شتاب دهنده سخت افزاری برای تغییرات و نور پردازی استفاده می کند که به این تغییرات و نور پردازی اصطلاحا و به اختصار T&L می گویند. اکنون در پیش پاافتاده ترین کارت های گرافیکی سه بعدی از اعمال تغییرات و نورپردازی پشتیبانی میشود ، بدون این که وارد محاسبات ماتریس شود. این تغییرات به کارت گرافیک این اجازه را می دهد تا چند ضلعی ها را با نهایت دقت ترسیم و با زوایای صحیح ، درست در محل ان درون جهان سه بعدی رندر گردد.

عملیات نور پردازی بر روی براقیت و روشنایی رنگ های بافت ها کار می کند و این که چگونه نور ها بر روی رئوس می افتد و با چه زاویه ای .در گذشته این CPUبود که مسائل را محاسبه می کرد اما بعد از چندین سال که سخت افزار های گرافیکی پیشرفت قابل ملاحظه ای کردند وظیفه این محاسبات به عهده کارت گرافیک می باشد.

عملیات نور پردازی

این عملیات یکی از ان چیزهایی است که موقعی که کار می کنید متوجه ان نیستید اما موقعی که کار نکند تازه متوجه می شوید که این همه چیز کارتان است و روش های مختلفی از نورهای بارنگ های متفاوت مبتنی بر جهت یا فاصله با چند ضلعی می باشد. همه این راه ها برای تولید یک سایه با گوشه های صاف از نگاشت نور و جایگذاری ان در بافت پایه به کار می رود.برخی از APIها می توانند شیوه های بسیار حرفه ای برای ساخت نور به ارائه دهند، به عنوان نمونه Open GLسه نوع نور پردازی با نام های per polygon وper vertex و per pixelرا ارائه می کند.

در نور پردازی vertexتعیین می کنیم که چند ، چند ضلعی به یک vertexمتصل است و سپس حد وسطی از جمع جهت همه چند ضلعی ها (که با نام normalخوانده می شود. ) گرفته می شود و normalبه vertexارجاع داده می شود ، هر vertexچند ضلعی های معین می تواند اندکی دستور العمل های ان را تغییر دهد. همچنین می تواند بتدریج ان را پایان دهد یا به سراسر چند ضلعی، رنگ نورها را وارد کرد.این شیوه از نور پردازی ، نور بسیار شفافی را می دهد اما این دلیل نمی شود که برای تک تک چند ضلعی ها از این شیوه استفاده شود. مزیت این شیوه این است که سخت افزار برای سریع تر اجرا شدن ان کمکمان می کند چرا که این شیوه از شیوه سخت افزاری T&Lاستفاده می کند و اشکال بزرگ ان این است که نمی تواند سایه تولید کند.

یک نوع نورپردازی دیگر هم به نامlight map وجود دارد . طرز کار این نوع نورپردازی به این طریق است که از یک بافت ثانویه استفاده می کند که به ان light mapمی گویند که با بافت موجود ترکیب شده و جلوه نور را تولید می کند.این نوع نورپردازی بسیار خوب کار می کند امادر حقیقت این یک جلوه نیست که بخواهد قبل از رندر تولید بشود، اما اگر یک نور متحرک داشته باشیم ان وقت برای هر فریم دوباره light mapرا مجدد رسم می نماییم و تغییرات ان مطابق با چگونگی حرکت نور های متحرک می باشد.

یکی از مزایای خوب light mapرندر شدن سریع ان است و ایراد بزرگ ان حافظه ای است که به خاطر این بافت ها می گیرد که بیشتر اوقات برای حل این مشکل، بافت ها را فشرده می کنند تا کمتر از فضای حافظه رایانه را اشغال کند، بعضی دیگر هم از اندازه ان کم می کنند و برخی دیگر ان را تک رنگ می کنند که در این صورت نمی توان از نورهای رنگی استفاده کرد، ایراد دیگر ان استفاده از چندین نور متحرک در مرحله است زیرا با هر بار انجام عمل رسم مجدد تمام دور CPUکاربر گرفته می شود.

بافت ها

بافت ها برای داشتن یک نمای واقعی از صحنه سه بعدی بسیار ضروری هستند و بطور پایه تصاویری هستند که در چند ضلعی ها تفکیک می شوند و عموما برای اشیاء یا محیط در صحنه به کار می روند . تنها چند بافت می تواند مقدار زیادی از حافظه را اشغال کند و برای حل این مشکل باید از تکنیک های مدیریت حافظه بهره گرفت.فشرده سازی بافت ها یکی از این تکنیک ها برای کم کردن حجم بافت است در صورتی که بتوان اطلاعات تصویر را نگاه داشت، یا نگاه داری بافت های فشرده در قسمتی از حجم CD یا DVDبازی.در کل فشرده سازی بافت ها روش بسیار خوبی نسبت به دیگر روش هاست و به این صورت عمل می کندکه ابتدا تصویر فشرده شده بر روی حافظه به AGPفرستاده می شود و AGPهم به کارت گرافیک متصل است و در نتیجه در کسری از زمان بافت برای نمایش اماده می شود.چند تکنیک فشرده سازی در زیر امده است .

عمل MIP Map:یکی از تکنیک هایی که موتور بازی از ان استفاده می کند و میزان حافظه و پهنای باند خواسته شده بافت ها را کاهش داده این تکنیک است. هنگامی که بافت ها در یک صحنه سه بعدی قرار گرفتند با توجه به prespectiveصحنه که دور هستند در نما کوچک تر دیده شده و به نوعی با مقیاس کوچک تری نمایش داده می شوند در نتیجه بافت های با اندازه بزرگ را برای اشیای کوچک تر تغییر مقیاس داده و کوچک می کنیم تا حجم کمتری بگیرند . البته درست است که استفاده از یک تصویر در چند ضلعی ها کیفیت فوق العاده ای به کار می دهد اما سرعت اجرای بازی را کم می کند و با استفاده از این ترفند می توان سرعت اجرای فریم های بازی را به مقدار زیادی افزایش داد.

تکنیک MIP Mappingقبل از پردازش بافت با ساختن چند رونوشت (Copy)اجرا می شود ، این رونوشت های متوالی هر کدام از لحاظ اندازه نصف رونوشت قبلی می باشند.در بدترین حالتی که یک بافت دارد این است که ان را به یک چند ضلعی بچسبانید و فقط سهم ان خارج از صحنه باشد. نسبت بافت به چند ضلعی باید یک به یک باشد همچنین یک texel(عنصر بافت) در نگاشت بافت اصلی برابر با یک pixel(کوچکترین واحد تصویر ، سلول تصویر) باشد که تمام این ها به اتصال بافت به یک شی کاملا وابسته است. اگر چند ضلعی که نمایش می دهیم به نیمی از اندازه خودش تغییر مقیاس داده و کوچک گردد ، بافت ها بر روی دیگر texelها نمایش داده می شوند. به عنوان مثال تصور کنید بافت اصلی ما یک بافت با نمای اجر های فراوان است و ملات بین این اجر ها فقط یک pixelعریض و پهن است ، اگر چند ضلعی را به مقیاس نصف کوچک نماییم ان وقت بطور ناگهانی pixelملات ناپدید می شود و پس از این که دوباره تصویر را به حالت اول برگردانیم دیگر ان بافت اولیه طبیعی را به ما بر نخواهد گرداند و یک بافت غیر طبیعی به ما تحویل داده می شود.با MIP Mappingمی توانیم تصاویر را قبل از این که کارت گرافیک ان را بگیرد تغییر مقیاس داده و بعد از ان دوباره می توان پردازش کرد.

Bump mapping: هدف اینترفند این است که بتواند سطح روی بافت را در مواجه با نور بصورت افت و خیز نشان دهد. Bump mappingنمی تواند همراه نور حرکت کند ، این تکنیک فقط برای خلق نقص های کوچک بر روی بافت طراحی شده و برای خلق افت و خیز های بزرگ بر روی یک سطح مناسب نیست.به عنوان مثال ما می توانیم از این تکنیک برای خلق برخی جزئیات روی یک کوه در یک شبیه ساز پرواز استفاده نماییم.Bump mappingخیلی خوب می تواند برای ظاهر شدن جزئیات یک سطح عمل کند ، هر چند که کمی زبردستی و مهارت هم در استفاده از این تکنیک لازم است . پس از تعریف و برای اجرای عملیات به کارت گرافیکی نیاز دارد.البته با امدن تکنیک هایی نظیر Normal Mapکه افت و خیز را بر اساس رنگ اصلی انجام می دهد ( و نه همچون Bump mappingکه بر اساس سیاه و سفید است) این تکنیک در حال کم رنگ شدن است.

مدیریت حافظه بافت

اگر در موقعیتی قرار بگیریم که مجبور شویم بافت های گرفته شده را بارها و بارها به داخل و خارج کارت گرافیک تعویض کنیم ان وقت احتمال بسیار زیادی وجود دارد که APIبا خطا روبرو شده و از کار بیافتد، در نتیجه فریم بعدی بارگذاری می شود و این باعث گرفتن کمی وقت از بازیکن و افت سرعت فریم می شود و همیشه سرعت فریم به خاطر بارگذاری مجدد و مجدد حافظه APIکم می شود.

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

تکنیک دیگر مدیریت حافظه فشرده سازی بافت می باشد که در مورد ان توضیح داده ایم.در بیشتر الگوریتم های فشرده سازی بافت ها نسبت به بافت اصلی اکثرا یک به چهار می باشد و در نهایت سخت افزار بافت ها را از حالت فشرده سازی در می اورد و برای عملیات رندر از ان ها استفاده می کند.

مقدمه ای برمحاسبات حافظه کارت گرافیک:اکنون می خواهیم به حافظه های کارت گرافیک واستفاده امروز و اینده ان بپردازیم. به عنوان مثال یک کارت گرافیکی که می گویند32بیت حافظه دارد یعنی 8 بیت برای قرمز، 8 بیت برای ابی، 8 بیت برای سبز و 8 بیت هم برای شفافیت و بی رنگی از هر پیکسل است و چیزی حدود 256 سایه از قرمز و ابی وسبز در حال ترکیب هستند که این اجازه می دهد تا ما چیزی در حدود 16.7 میلیون رنگداشته باشیم.

همچنین چرا هر ساله ما می بینیم که بازی سازان برای اجرای بازیشان به گرافیک با حجم بیشتری نیاز دارند، بصورتی که امروزه حتی کارت گرافیک های 256برای بعضی از بازی ها کم است. اکنون یک نقطه را بر روی یک مدل در بازی در نظربگیرید و همچنین چند نور متفاوت را هم در بازی در نظر بگیرید، اکنون رنگ اصلیمدل را می گیریم و به جای ان رنگ یک نور را به کار گرفته و درمیزان رنگ اصلی شی تغییراتی ایجاد می کنیم سپس یک نور دیگر را هم به کار می بریم و باز هم درمیزان رنگ شی تغییرات دیگری ایجاد می کنیم. مشکل اینجاست که ما با 8 بیت حافظه برای هر رنگ فقط می توانیم 4 نور را به کار ببریم و این 8 بیت به اندازه کافی کیفیت خوبو لازم را به ما نمی دهد و نمی تواند نتیجه رنگ خوبی به ما بدهد و این به تدریجباعث امدنerror هایی می شود که اینerror ها در نتیجه نارسایی تعدادی از بیت هایحافظه است.

اکنونمی خواهیم به بحث مه)(Fogبرسیم. مه یکی از انواع جلوه های ویژه در بازی می باشد. بیشترموتورهای امروز این جلوه مهم را به کار می برند و می توان بصورت دستی و به راحتی این جلوه رادر فضای جهان بازی اورد. ولی نمی توانیم مدل ها و صحنه هایجغرافیایی را که خارج از تقاطع محدوده مجازی برای صفحه قطعه شده هستند را ببینیم.این تکنیکvolumetric fogging نامیده می شود محل مه در حد فاصله دوربین نمی باشد، اما یک شی فیزیکی حقیقی است که می توان انرا دید، از میان ان حرکت کرد واز گوشه های ان خارج شد، با جلوه بصری مه می توان مرحله را دگرگون کردو از میان اشیا حرکت نمود. یکی از نمونه های بسیار خوب اجرا شده تکنیکvolumetric fogging مه قرمز دربرخی مراحل بازیQuake III می باشد.

ازمایشعمق:اکنون می خواهیم به ازمایش عمق بپردازیم. هنگامی کهpixel ها به دورانداخته می شوند و ما باید به فکر طرحی باشیم که دوباره انها را اجرا یا به گفتهبهتر ترسیم مجدد نماییم. دوباره کشیده شدنpixel ها تا حدی سرراست است، فقط چندبار می توان محل یکpixel را در یک فریم کشید. پایه تعدادی از عناصر اجرایی صحنههای سه بعدی در بُعد (عمق)Z می باشد که به ان پیچیدگی عمق هم میگویند. اگر به اندازه کافی عمل ترسیم مجدد را انجام دهیم مثلاً جلوه های ویژه خیره کننده داشته باشیم در نتیجه می توان افت فریم را کم نمود. به عنوان مثال در بازیHeretic II هنگامی که چند نفر در صحنه گلوله ها را به یکدیگر پرتاب می کنند نتیجهاین حالت این است که ترسیم هرpixel 40بار در یک فریم می شود.و این چیزی بود که از قبل تنظیم شده بود به خصوصاین که نرم افزارهای رندرکننده نمی توانند بازی را همچون یکslide show رندر کنند. ازمایش عمق، تکنیکی است که بواسطهان اشیایی که در جلو هستند نسبت به دیگر اشیایی کهpixel هایشان در همان محل استتعیین می شوند همچنین می توانیم از ترسیم اشیایی که جلویشان بسته است جلوگیرینماییم.

می خواهم توضیح بدهم کهچرا ازمایش عمق می تواند به نرخ فریم کمک کند. یک منظره پر جزئیات را باpolygon ها(یاpixel های) بسیار زیاد پشت به پشت یکدیگر را تصور نمایید. بدون یک راه سریعتمامی اینها پیش از رندرشدن به دور انداخته می شوند، پس باید صحنه را باpixel هایی که ابتدا باید رندر گردند پر کرد همچنینهنگامی که به رندرpixel هایی که در پشت سر انها هستند رسیدگی می کنیم (همچون تعیینZ یا ازمایش عمق)، به سرعت به دور انداخته می شوند. به گامهای ترکیبی یاذخیره انها نباید فکر کرد اگر انpixel هایی را که پشتpixel های جلویی هستندبخواهیم رندر نماییم انوقت تمام اشیایی که پشت اشیای جلویی هستند باید به صورت کاملرندر شوند سپس باید کامل دوباره نویسی شوند، در این موقعیت وخیم ازمایش عمق چیزبسیار خوبی به نظر می رسد.

تکنیک ضد پله پلگی:اکنون می خواهیم یک مرورسریعی به تکنیک ضد پله پلگی(anti-aliasing) بکنیم. هنگامی که یکpolygon (چندضلعی) اختصاصیرندر می شود کارت سه بعدی یک نگاه خوب به چگونگی رندرشدن ان پیش از این می اندازدو گوشه هایpolygon جدید را تیره می کند و کاربر گوشه هایpixel را لبه دار نمیبیند. این تکنیک معمولاً در یکی از دو راه زیر کاربرد دارد، اولین شیوه بر رویpolygon منحصر به فرد و اختصاصی کاربرد دارد که نیاز دارد تاpolygon را ازعقب به جلو رندر نمود، همچنین هرpolygon می تواند به طور مناسب با پشت سری اشترکیب شود، اگر خارج از تنظیم، رندر شود می توان با انواع جلوه هایناشناس این کار را پایان داد. در شیوه دوم باید تمام فریم را در یک اندازهتصویر(resolution) بسیار بزرگ نسبت به نمایش قرار داد و سپس مقیاس تصویر راپایین اورد و لبه های دندانه دار خود به خود در کنار مقیاس ترکیب می شوندشیوه دوم یک نتیجه بسیار زیبا را می دهد امّا به یک فضای بسیار زیاد و یک پهنای باند نیاز دارد. کارت نیاز به رندرکردنpixel های بیشتری دارد و سپس نتیجه درچهارچوب تصویر قرار می گیرد. بیشتر کارتهای جدید انصافاً خوب هستند، امّا چندشیوه برای رسم ضد پله پلگی(anti-aliasing) داریم که می توان ان را انتخابنمود. همچنین می توان اصلاً این کار را انجام نداد تا نرخ فریم بیشتری داشتهباشیم. این بستگی به بازی ساز دارد که کیفیت یا سرعت اجرا کدامیک را در ارجحیت قراردهد. البته اکنون روش های جدیدی هم پیرامون تکنیکارائه شده و هر روز ارائه میگردد که نیاز به تحقیق بیشتر دارد.

Vertex And Pixel shader : پیش از این که ما به تکنیکهای رندر بپردازیم کمی هم بهvertex shader وpixel shader می پردازیم.vertex shader یک راهی برای دسترسی مستقیم به ترکیبات سخت افزاری کارت و بدون استفاده ازAPI های فراوان می باشد، به عنوان مثال اگر کارت دارای سخت افزارT&L می باشد، می توان تحتDirectX یاOpenGL کد نویسی نموده و انتظار داشت که رئوستحت واحدT&L کار کنند. (این راه مطمئنی نیست چون کاربرد ان درونdriver است)یا اینکه مستقیماً و سخت بر رویvertex shader کار شود، این به بازی ساز اجازه میدهد تا کدهای ویژه را برای ترکیبات خود کارت بنویسد.

در حقیقتvertex shader گرافیک سهبعدی کارتها را موجب می شود، یعنی با دسترسی مستقیم به سخت افزار و دانش لازم، از بهترین راه ها برای گرفتن بیشترین خروجی سیستم ها، استفاده می کند. سریع ترین راهتکیه کردن به یکAPI است که همه کار را برای بازی ساز انجام دهد. برای برخی برنامه نویسها کد نویسی برای یکAPI می تواند یک شوک باشد امّا مطمئنا ارزشش را دارد.

اکنون بیشتر توضیح می دهیمvertex shader ،برنامه یا روالی است که جلوه های یکvertex را پیش از تایید و رندر توسط کارت، محاسبه و انجام می دهد، بازی ساز باید چنینچیزی را در نرم افزار و تحتCPU انجام دهد، یا اینکه ازvertex shader تحت کارتاستفاده نماید. تغییر دادن یک شبکه توری(mesh) برای پویا نمایی یک مدل اولینکار برنامهvertex است.

یکی از بدترین چیزها برای برنامه نویس یک رندرگر، این است که سرعت صنعتکارتهای سه بعدی هر روز در حال تغییر است. یک روز بازی ساز یک تصویر را به صورت شفاف باسعی و تلاش و کوشش بسیار منتشر می کند و روز بعدMicrosoft یاnvidia یا هر کمپانیدیگر، یک برنامه نویسی جدیدvertex shader را ارائه می کند و ما باید به سرعت بهسمت ان حرکت کنیم. همواره استاد John Cormack اشاره می کند که "چهار سالگذشته چه چیزهایی از کارتهای گرافیکی ان زمان می دانسته که اکنون ان چیزها پیش و پاافتاده است."

Tim Sweeney از کمپانیEpic توضیحاتی را در این باره می دهد که خواندنشخالی از لطف نیست.
"ما 9 ماه بی وقفه تمام کدهای رندرگرمان را عوض کردیم،تاUnreal اصلی که به صورت یک نرم افزار رندرگر طراحی شده بود به رندرگر سخت افزاریتبدیل گردد. موتور بعدی مان برایGeForce و بهترین کارتهای گرافیکی طراحی شده بود وبیشتر از 100 توان عملیاتی برای استفاده درUnreal Tournament داشت.این به یکجایگزینی یکجا برای رندرگر نیاز داشت و خوشبختانه ماژول های این موتور به قدر کافیتوانایی برای تجدید قوا داشت".

یکAPI چیست؟یک واسطه کاربردی برنامه نویسی(Application Programming Interface) میباشد که تمام چیزهای ناسازگار و متناقض را سازگار می کند. برای نمونه هر کارتگرافیکی سه بعدی با ابزارهای گرافیکی و با برجستگی های گرافیکی مختلف واردبازار می شود. همچنین ممکن است برایX در کارت گرافیک کد نویسی نمود اما دریک کارت گرافیکی دیگر این نتایج بر رویY عمل شود.

هنگامی که ازCPU برای نمایشpolygon ها و سیستم های ذره ایو از یک رندرگر عالی و ممتاز همچونUnreal استفاده می کنیم ، برای استفاده از یکی از دوAPI گرافیکی امکان پذیریعنیDirectX وOpenGL اماده می شویم.OpenGL یکAPI چندplatformایاست و این یکیاز مزیت های بزرگ اینAPI محسوب می شود زیرا می توان همزمان ان را برای هر سهplatform رایانه یعنی Win، Linux وMac استفاده نمود و همچنین کد نویسی به زباناینAPI کهGLSL نام دارد بسیار راحت تر ازHLSL زبانDirectX می باشد. امابزرگترین نقصOpenGL وسیع نبودن ان و نبود قابلیتهایی برای شبکه، صدا، ورودی و...می باشد وOpenGL بیشتر یکAPI گرافیکی است که برای ساختن نرم افزارهایگرافیکی کاربرد دارد تا موتورهای ساخت بازی. اماDirectX با قدرت بی نظیری که دراختیار بازی ساز قرار می دهد و همچنین مراجع وسیع و فراوانی که در موردش پیدا می شود باعث شده بسیاری از افراد به سمت اینAPI روی بیاورند ضمن این که نباید فراموشکرد که اکثر بازی بازهای جهان تحتWin کار می کنند.

معرفی انواع سیستم هایاسکلتی :چگونه مدل شخصیت در صحنه نمایش داده می شود؟ و چگونه ساخته شده، بافت زنی شده و پویانمایی شود. سیستم مدل سازی شخصیت به مهارتبسیار زیادی نیاز دارد، با بهترین و زیباترین راه ها و کمترینpolygon ها می توانانواع مدل ها را روانه صحنه کرد.

برای ایجاد مدل شخصیت درابتدا باید یک سیستم پایه شبکه توری(mesh) و یا یک سیستم پویانماییاسکلت را تعریف نمود. با یک سیستم پایه شبکه توری(mesh) برای هر فریم ازپویانمایی باید موقعیت هر نقطه از مدل در جهان سه بعدی را تعریف نماییم. بهعنوان مثال ما یک مدل دست داریم که شامل 200polygon با 300 راس می باشد. (نکته :معمولاً نسبتpolygon به راس 3 به 1 نمی باشد. زیرا بسیاری ازpolygon ها پس ازاشتراک رئوس و استفاده از سرسلسله و زیر دسته رئوس می توان شمارش رئوس راشدیداً کاهش داد.) اگر 10 فریم پویانمایی داشته باشیم سپس برای هر فریم اطلاعاتی را پیرامون موقعیت 300 راس در حافظه داشته باشیم 3000 = 10 × 300 تحت سهمحور xوy وz به همراه اطلاعات رنگ و الفا برای هر راس ساخته می شود. هر سه نسخه بازیQuake بااین سیستم کار می کند که می تواند به راحتی شبکه توری(mesh) را در حالت معلقتغییر شکل دهد، مانند ساختن اعوجاج لباس یا موج گرفتن مو.

از مزیت های پویانمایی به روش اسکلتی وجود قابلیت "وزن" برای هر راس بهصورت انفرادی و برپایه نفوذ رئوس می باشد. برای نمونه: حرکت استخوان ها در بازو،شانه ها، گردن و هر قسمت دیگر که باعث حرکت پیچشی در شبکه توری(mesh) میشود شخصیتی کاملاً شبیهبه شخصیت طبیعی می چرخد. سرتاسر نتایج پویانمایی های شخصیتهای سه بعدی باید روان وباورکردنی باشد و در عین حال تا انجا که ممکن است باید حافظه کمتری را بگیرد.یکی دیگر ازمزیت های سیستم بر پایه اسکلت داشتن قابلیت روی هم سوار شدن استخوان ها می باشد.این قابلیت می گوید: من نمی خواهم توجه کنم که چه پویانمایی هایی می خواهد برایاستخوان ها انجام شود، من می خواهم نقاط من نقاط ویژه ای باشند. می توان مدل هایی را داشت که به نظر می اید به گرداگرد رویدادهای جهان اطرافشان توجه می کنند، این به طبیعی تر شدن صحنه کمک بسیار می کند. به عنوانمثال با سیستم اسکلتی می توانیم این چنین تعیین نماییم:

"من می خواهمپویانمایی مخصوصم را بر روی قدم زدن های مدل کار بگیرم، دویدن و پیچ و تاب مدل درهنگامی که اسلحه به دوش دارد با هنگامی که شلیک می کند باید متفاوت باشد، و در اینحین هنگامی که شخصیت فریاد می زند حرکت سر ان باید متفاوت باشد.".از سیستم اسکلتی در بازی هایی زیادی نظیرSoldier of Fortune II: Double Helix یاJedi Knight I: Outcast استفاده گردیده است. این طراحی ویژه به برنامه نویس اجازهمی دهد تا به تمام پویانمایی های روی هم سوار شده دسترسی داشته باشد و هر کدام رادر زمان خودش اجرا نماید و همچنین به کمک پویانما می اید برای این که تمام حالات نظیر دویدنبا اسلحه و دویدن حین شلیک و... را پویانمایی کند.

قبلاً عواملی را که باعث میشد مراتب سیستم اسکلتی ترکیب شوند شرح داده شد. کار این وسیله چیست؟ به جای این کههراستخوان در فضا به صورت مستقیم گذاشته شود، در حقیقت هر استخوان در هر موقعیتی که قرار دارد منسوب به استخوان های والد می باشند،بدین صورت که اگر استخوان والدحرکتی بکند تمام استخوان هایی که فرزند این استخوان والد هستند هم بدون اضافه کردنهیچ کد اضافه ای حرکت می کند. برخی دیگر از راه های سیستمپویانمایی که از راه های گفته شده نسبتاً جدیدتر می باشد سیستم پویانمایی ترکیبی میباشد که در هنگامی که پویانمایی در حال اجرا است، در یک زمان کوتاه ان را با یکیدیگر تغییر می دهیم و به سرعت پویانمایی از نوعی به نوع دیگر شکسته می شود. به عنواننمونه شما شخصی را دارید که راه می رود امّا سپس او می ایستد. سریع ترین راه این است که به سرعت پویانمایی را تغییر مسیر بدهیم و پاها و قدم های او را به وضعیت بیکاری برسانیم. این ترکیب باید در 2/1 ثانیه انجام پذیرد. همچنین حرکت قدم زدن به یکپویانمایی طبیعی جدید تبدیل می شود، البته از این تکنیک نباید بیش از حد استفادهکرد و استفاده از ان نیاز به مهارت های خاص خودش را دارد.

سینماتیک معکوسInverse Kinematics (IK) جمله نامفهومی در میان بسیاری از مردم است. سینماتیک معکوسکه به اختصارIK خوانده می شود نسبتاً یک سیستم جدید در بازی ها می باشد. بااستفاده ازIK برنامه نویس می تواند یک دست یا پا را حرکت بدهد ان هم در حالی که ازمفاصل شخصیت که به طور طبیعی حرکت و جهت پیدا می کنند مطمئن باشد. به عنوان نمونه : می گوییم دست، برو و جام را از روی میز بردار! دست در موقعیتی در جهان سه بعدیقرار دارد که جام هم همان جا می باشد. دست می خواهد برای برداشتن جام حرکت کند وبدن و پشت هم می خواهد خودش را با دست و حرکت او هماهنگ کند، بدن به طور مناسب خم میشود.

روش دیگری که بیش از حد معکوس می باشد سینماتیک جلوForward Kinematics خوانده می شود که کاملاً با سینماتیک معکوسIK متفاوت است. تصور کنید که یکدست، به یک بازو متصل است و ان بازو هم به یک بدن متصل است. اکنون تصور کنید که به یک بدن سخت می خورید. معمولاً بازو کوبیده می شود و دست ها هم به انتهای بازو متصل استو تمامی حرکات بدن باید توسط پویانما طراحی و ساخته شود. به طور اساسی این نیازمندیک تون اطلاعات پیرامون هر کار و تنظیم ان توسط پویانما می باشد. چیزهایی همچونمحدوده حرکت مفاصل، میزان درصد استخوان هایی که می توانند حرکت نمایند و اگر یکی ازانها جلو باشد باید چه کاری انجام دهد و...، این کاملاً مشکلات پردازش را تشدیدمی کند. امّا اگر ازIK استفاده کنید دیگر نیازی به ساختن پویانمایی هایگوناگون برای حرکات مختلف بدن ندارید. چاره کار استفاده ازIK است که ان نیز نیازبه سیستم اسکلت بندی مرتبه ای دارد که بسیار سریع تر از سیستم مدل ازاد باپویانمایی های از پیش ساخته شده دارد زیرا سیستم مدل ازاد زمان بسیاری را میگیرد.

سیستمLOD:اکنون می خواهیماندکی پیرامون سیستم هایLevel of Detail (LOD) که مربوط است به مقیاس مدل هایپیچیده بحث نماییم. در قسمت قبلی مطالبی پیرامون تکنیکMIP Mapping که مربوط بهتغییر مقیاس بافت در فواصل دور و کوچک کردن ان بافت ها برای کمتر شدن فضای حافظه وپردازش صحبت هایی کردیم. درست در مقابل این تکنیک یعنی به بیان بهتر راه دیگری کهمی توان از ان برای کم شدن فضای حافظه و پردازش استفاده کرد استفاده از سیستمLOD می باشد.

گرفتن یک دید وسیع همراه با پردازش سریع امروزه در بیشتر بازی های رایانه ای دیده می شود. به طور کلی به سیستم هایی نیاز است که بتوانند از پسنمایش 12 شخصیت که هر کدام ان 3000polygon و در یک لحظه در صفحه، بربیاید و درحداقل میزان فریم طبیعی قرار بگیرد،LOD برای چنین مواقعی طراحی گردیده است. اینتکنیک حتی این توانایی را دارد که تعدادیpolygon که برای رسم شخصیت استفاده میشود را تغییر دهد. هنگامی که شخصیت در فاصله بسیار دوری قرار دارد و شاید فقط 10Pixel از فضای صحنه را بگیرد حقیقتاً نیازی به 3000polygon برای رندر شخصیتنداریم و 300polygon هم می تواند کار را راه بیاندازد و کسی از اینفاصله دور نمی تواند متوجه تغییرات در شخصیت شود. برخی از سیستم هایLOD بهساختنچند نسخه از مدل نیاز دارند و می تواند سطوحLOD را در صحنه تغییر دادهکه به چگونگی بسته شدن مدل و همچنین میزانPolygon هایی که یکبار نمایش داده می شودمربوط می شود. بیشتر سیستم های پیچیده در وضعیت متحرک می توانند تعدادPolygon ها در صحنه را در زمان های مشخص بکاهند.

پویانمایی روان، شامل ترکیبی از پویانمایی بهروش دستی و پویانمایی با استفاده از دستگاهMotion Capture می باشد. برخی اوقات برای مدل فقط باید یک پویانمایی دستی انجام داد زیرا بعضی حرکات نمیتواند توسط یک شخص واقعی انجام شود. به عنوان مثال نمی توان به طور خیلی زیاداز پشت خم شد یا اینکه نمی توان همچونLui Kang درMortal Kombat 4 به صورتدوچرخه وار در اسمان به سمت سینه دشمن رکاب زد.Motion Capture دستگاهی است کهبوسیله ان می توان حرکات طبیعی یک انسان را ثبت و ضبط کرد و سپس به شخصیت ساخته شدهنسبت داد. این ابزار واقعاً برای نمایش حرکات طبیعی شخصیت فوق العاده است. بهعنوان نمونه می توان شخصیتی را تنها با 200Polygon ساخت، امّا مدلش به شکل فوق العاده روانو سیالی پویانمایی شده باشد.

مدلسازی و پویانمایی :اکنون می خواهیم بهقلب مدل سازی و پویانمایی برویم. بیشتر اوقات هنگام ساختن یک محیط سه بعدی ما اجزایسه بعدی برای این کار داریم،به نوعی توسعه بازی راهی برای ساختن محیط های سه بعدیو تغییر و تبدیل اسان به شکل موثر و باPolygon کم است. در حالی که برنامه هایمعماری سه بعدی بسیاری ازCAD/CAM تا 3D Studio Max می باشد. ساختن جهان بازی کاریبسیار متفاوت تر از ساختن مدل های یک جهان درونی یا بیرونی است. در ساخت جهانبازی باید میزانPolygon ها را به شدت در نظر گرفت، در ساختن مدل برای یکپویانمایی اهمیت زیادی به میزانPolygon ها نمی دهند و چون مدل هر چقدر هم کهPolygon داشته باشد در انتها به صورت یک صحنه دو بعدی رندر می شود امّا در ساخت مدلبرای بازی چون مدل ها به صورتReal Time در یک صحنه در حال رندر شدن هستند


— فصل سوم


همایش های بازی سازان

بخش اول - معرفی همایش ها ، نمایشگاه ها و سازمان های ساخت بازی در جهان

مقدمه:یکی از بهترین راه های کسباطلاعات بیشتر و اشتراک اطلاعات و بروز شدن اطلاعات پیرامون صنعت و فناوری ساختبازی های رایانه ای دانستن انواع همایش ها و نمایشگاه های پیرامون این موضوع درسرتاسر جهان است.
Game Developer Conference : بزرگترینکنفرانس توسعه بازی در جهان این کنفرانس می باشد که ابتدا یک ملاقات غیررسمی بودهو سپس به یکی از مهمترین وقایع صنعت بازی تبدیل می شود . سالیانه هزاران بازی سازبه انجا رفته و با هم تبادل نظر می کنند و یا با جدیدترین پیشرفتهای تحقیقاتییکدیگر اشنا می شوند و هر ساله سخنرانی های بسیاری در این مورد انجام می شودسخنرانی ها به چند قسمت صدا، تجارت و مدیریت، طراحی بازی، تولید، برنامه نویسی،جلوه های ویژه و برخی مسائل دیگر مطرح می شود، همچنینGDC دارای یک مسابقه بزرگبازی سازی است که هر ساله هدایای ویژه ای به برندگان این مسابقات داده می شود و یکنمایشگاه بسیار بزرگ را هم در بر دارد که کمپانی ها جدیدترین ابزارهای توسعه شان رادر انجا به نمایش گذاشته و دانش پژوهان می توانند در میان دریایی از ابزارهای روزتوسعه بازی به سیاحت و بازدید بپردازند.

این نمایشگاه هر ساله در ایالت سانفرانسیسکو و شهر کالیفرنیا در تاریخ 23-27 مارس برگزار می گردد. برای اطلاعات بیشتربه سایت ان مراجعه نمایید.(
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید)
Austin Game Developers Conference: استین به عنوانیکی از اولین مکانهای گرداوری استعدادهای بازی سازی در جنوب امریکا شناخته شده است.این کنفرانس به مدت سه روز کارگاه های بزرگ بازی سازی و سخنرانی هایی را برای علاقهمندان اماده می کند که می تواند هم برای دانش پژوهان و هم حرفه ای ها مورد استفادهباشد همچنین برنامه های ویژه ای را برای صدا در بازی ها، نویسندگی در بازی ها وبازی های انلاین ارائه داده و همچنین دارای یک جلسه پیرامون حرفه بازی می باشد وتمامی این موارد باعث گردیده که گروه بسیاری از مردم علاقه مند به ساخت بازی از جای جای جهان به سمت این کنفرانس حرکت کنند. این همایش هر ساله در شهراستین ایالتتگزاس در تاریخ 17-15 سپتامبر برگزار می گردد.(
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید)


Game Convention :یکی از مهمترین وبزرگترین بخش تجاری بازی های رایانه ای در اروپاGame Convention می باشد که در هرتابستان درLeipzig کشور المان برگذار می گردد. این نمایشگاه برای عموم باز می باشد. سازندگان بازی می توانند در این همایش در کنفرانس های توسعه ان شرکت داشتهباشند.(
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید)
E3 Media & Business Summit : این همایش درگذشته با نامElectronic Entertainment Expo خوانده می شده است که اکنون به اختصاران راE3 می نامند. این نمایشگاه در همان ابتدای اغازش توجه ده ها هزار علاقه مندرا جلب کرد. این نمایشگاه در ماهJuly هر سال در لس انجلس برگزار می گردد که در بردارنده گروه کوچکی از فروشندگان عمده، ناشرین، و سیستم های سمعی وبصری برای نمایش جدیدترین پیش نمایش بازی های روز دنیا می باشد. در کلE3 یکی ازمهمترین نمایشگاه های ساخت بازی است که اکثر شرکت های ساخت بازی برای نمایش بازی هایشان سعی می کنند در ان حضور داشته باشند و بسیاری از اخبار بازی ها و توجهمنابع خبری بازی های رایانه ای به این نمایشگاه می باشد.(
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید)
CHINAJOY : نمایشگاهسرگرمی های دیجیتالی چین فرصتی را برای دیدن صنعت بازی در چین و ناشرین و توسعهدهندگان بازی در این کشور را ایجاد می کند. این نمایشگاه ترکیبی از دیداربا تجارت و صنعت بازی در چین و مصرف کننده های بازی در چین می باشد. این نمایشگاههرسال در شهرShanghai کشور چین برگزار می گردد.(
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید)
PENNY ARCADE : همایشPenny Arcade در سه روز انتهایی فصل تابستان برگزار می شود که عمیق وپایدار برای دوستداران بازی های رایانه ای است و هزاران بازدید کننده دارد. البته اینهمایش همانطور که از نامش هم پیداست بیشتر بر روی بازی های مستقل و کوچک تمرکزدارد ، این همایش در ماه اگوست و در سیاتل برگزار می شود.(
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید)

D.I.C.E. SUMMIT : بعد از سال 2002 دانشگاهInteractive Arts & Sciences یک نمایشگاه با نامD.I.C.E (Design,Innovate,Communicate, Entertain)را بوجود اورده و هر ساله بابحث پیرامون صنعت بازی سازی و همچنین جمع اوری پول های مردم برای ایجاد توسعه وانتشار صنعت بازی درLas Vegas ایجاد کرده است.(
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید)
TOKYO GAME SHOW : این نمایشگاه بزرگترین نمایش صنعت بازی های ویدیویی در ژاپن را ارائه می دهد. شروعاین نمایشگاه در کریسمس هر سال که می توان پیش نمایش جدیدترین بازی ها و جدیدتریناخبار را در انجا دید و شنید. دو روز اول این نمایشگاه فقط مخصوص برخی افراد (نظیرخبرنگاران و...) و دو روز انتهایی هم بازدید برای عموم مردم می باشد. محیط وسیعیبرای نمایش در نظر گرفته شده اتاق کارهای گروهی و همچنین سخنرانی های ان بعلاوهاجتماع فروشنده گان سرگرمی های رایانه ای و هدیه سالیانه بازی ژاپن همگی یکنمایشگاه بسیار خوب و جذاب را باعث گردیده است. این نمایشگاه هرسال در9 تا 12اکتبر در شهرChiba برگزار می شود.(
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید)
نمایشگاه رسانه های دیجیتال:این نمایشگاه توسطوزارت فرهنگ و ارشاد اسلامی جمهوری اسلامی ایران در ایران برگزار می شود. در ایننمایشگاه شرکت های داخلی ایران به نمایش اخرین دستاوردها و نرم افزارها می پردازند.این نمایشگاه به چند قسمت تقسیم شده است، در قسمت سرگرمی های دیجیتال میتوان با نمایندگان شرکت های توسعه دهنده بازی های رایانه ای در ایران ملاقات کردهو اخرین کارها و بازی های ساخته شده یا در دست ساخت انها را دید. نمایشگاهمتاسفانه تاریخ مشخصی ندارد، تاکنون سه بار این نمایشگاه برگزار شده که هر سهبار در شهر تهران برگزار گردیده. بار اول در محل دائمی نمایشگاه های بین المللی وبار دوم و سوم در مصلی تهران برگزار شده است.(
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید)
همایش بازی سازان: این همایش اولین بار بصورت خودجوش توسط برخی علاقه مندان به دانش ساخت بازی درایران و در سال 1386 برگزار گردید. بدلیل این که هیچ سازمان یا شرکت خاصی از اینهمایش حمایت نمی کند این همایش هیچ زمان و مکان خاصی نداشته است. در این همایش جمعیاز علاقه مندان و محققان در یک سالن جمع می شوند و برخی از محققان پیرامون تکنیکهای ساخت بازی در حوزه های مختلف سخنرانی می کنند. تبلیغات این همایش فقط درتالارهای گفتگوی برخی تارنماهای مربوط به بازی و توسعه بازی مطرح می شود. تاکنون دوبار در سالهای 1386 و 1387 این همایش برگزار شده است.

(
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید)

اکنون چند سازمان پیرامون بازیهای رایانه ای و توسعه ان در جهان و ایران را به شما معرفی مینماییم:
TIGA : سازمانی در انگلستان است که برای حمایت از توسعه دهندگانبازی در این کشور ایجاد گردیده است. انگلستان و المان فعالترین کشورهای اروپایی در زمینه توسعه بازی می باشند.(
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید)
ESA : اتحادیه سرگرمی های نرم افزاری نماینده ناشران امریکایی علاقه مند به بازی هایرایانه ای می باشد. این اتحادیه به شدت از این صنعت پشتیانی می کند و برنامه هاییعلیه دزدی در این صنعت انجام می دهد. این اتحادیه ابتدا از نمایشگاهE3 شروعشد.(
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید)
ESRB : دسته بندی سرگرمی های نرمافزاری توسط این سازمان انجام می گردد. عمده ترین و مهم ترین کار این سازمان تعیینمحدوده سنی بازی باز در استفاده از بازی رایانه ای می باشد. این سازمان توسطESA ساخته شده است.(
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید)

بنیاد ملّی بازی های رایانه ای

این بنیاد در پی فرمایشات مقام معظم رهبری در ایران پیرامون جدی گرفتن صنعت بازی هایرایانه ای در دیدار با کارگردانان سینما در خرداد ماه سال 1385 ایجاد گردیده و باهدف حمایت از شرکت های ساخت بازی کارش را شروع کرد. در سال اوّل فعالیت های زیادیاز این شرکت خصوصی دیده نشده و شاید مهم ترین فعالیت ان ایجاد تارنمای اینترنتی اینشرکت بوده است و شرکت های ساخت بازی رضایت چندانی از حمایت های این بنیاد نداشتهاند امّا در سال های بعد و بعد از انتقادات فراوانی که به این بنیاد شد کم کم افرادمتخصص وارد ان شده و به وضعیت ان سر و سامان داده و در راه تعامل بیشتر با توسعهدهندگان فعالیت هایی را انجام داده اند که ما امیدواریم در راه حمایت هر چه بیشتراز توسعه دهندگان هر روز گامهای این بنیاد نسبت به گذشته بلند تر و بلند تر شود. امّا برای معرفی بیشتر ان مصوب پانصد و هشتاد و چهارمین، جلسه مورخه 09/03/1385شورای عالی انقلاب فرهنگی اشاره می کنیم :

بازی های ویدیویی و رایانه ای به لحاظتاثیر گذاری خود در زمینه فرهنگ سازی، رشد و تکوین شخصیت فرهنگی و علمی کودکان ونوجوانان و ایفای نقش های اموزشی و کمک اموزشی و همچنین پر کردن بخشی از اوقاتفراغت گروه های سنی مختلف جامعه از جایگاه ویژه و مهمی برخوردار است. بنا به اهمیتمزبور، توجه بیش از پیش به برنامه ریزی برای تولید محصولات فرهنگی جدید (همچون بازیهای رایانه ای مناسب) و اهتمام ویژه به امر نخبگان جهت شناسایی و ساماندهی انان بهمنظور بهره گیری بهتر از این قشر ممتاز از ضرورت بالایی برخوردار است.(
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید)

بر اساساین ضرورت، بنیاد ملی بازی های رایانه ای برای برنامه ریزی و حمایت از فعالیت هایمرتبط در تمامی زمینه های فرهنگی، هنری و فنی صنعت بازی های ویدیویی و رایانه ای،زیر نظر وزارت فرهنگ و ارشاد اسلامی با اهداف و ارکان زیر تاسیس میگردد.

• ماده 1- نام و نوع بنیاد:

بنیاد ملی بازی های رایانه ای زیر نظر وزارت فرهنگ و ارشاد اسلامی است. موسسهای فرهنگی، هنری، غیر انتفاعی، غیر دولتی و ایرانی است که شخصیت حقوقی مستقل دارد ومرکز اصلی ان در شهر تهران است.

• ماده 2-اهدافتاسیس بنیاد:

1.تبیین،تقویت و ترویج مبانی فرهنگی واسلامی-ایرانی ازطریق این صنعت با نگاه ویژه به کودکان و نوجوانان

2.حمایت کاملاز ظرفیت های موجود این صنعت در کشور با رویکرد بومی سازی و تقویت تولیداتداخلی
3.حمایت و نظارت بر گسترش فرایند تولید، تامین، واردات، صادرات، امادهسازی، تکثیر و توزیع انواع بازی های ویدیویی و رایانه ای

4.تلاش در جهتتولید و تامین دانش فنی و نیز امکانات و تجهیزات وابسته به ان در تمامی حوزه ها وقالب متفاوت سخت افزاری و نرم افزاری

• ماده 3-وظایف بنیاد:

1.تهیه و تنظیم راهبردها و سیاست ها در زمینهبازی های رایانه ای جهت ارائه به شورای عالی انقلاب فرهنگی

2. برنامه ریزی وطراحی کلان در زمینه این بازی ها در ابعاد مختلف تفریحی، اموزشی و کمکاموزشی

3. تدوین سیاست های حمایتی و تشویقی در زمینه تهیه، تولید، واردات،صادرات و توزیع بازی های رایانه ای توسط بنیاد و بخش خصوصی به منظور ارائه به شورایعالی انقلاب فرهنگی و تعریف سیاست های مناسب برای مقابله با بازی های مضر ومخرب

4.استفاده از ظرفیت های داخل و خارج از کشور به منظور رشد و ارتقا صنعتبازی های ویدیویی و رایانه ای

5.تدوین استانداردهای لازم جهت بررسی کمی وکیفی واردات و صادرات محصولات بازی های رایانه ای

6.تلاش در راستای تامینحقوق مادی و معنوی تولید کنندگان و مصرف کنندگان بازی های رایانه ای

7.برنامه ریزی و حمایت از اجرای دوره های اموزشی و پژوهشی مورد نیاز با هدف تقویتمبانی نظری، علمی و کاربردی اسلامی و ایرانی در حوزه بازی های رایانه ای

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

9.برگزاری، حمایت و شرکت در همایش ها، جشنواره ها و بازی های ملّی، منطقه ای وجهانی

10.ایجاد زمینه جهت رقابت های علمی، فنی، فرهنگی و هنری در میان دستاندرکاران فعال در صنعت سرگرمی و بازی به منظور ارتقا و رشد کمی و کیفی اینصنعت

11.تلاش در جهت توسعه همکاری های بین المللی به ویژه با کشورهای اسلام در زمینه صنعت بازی های رایانه ای

• ماده 5- هیاتامنا:

هیات امنای بنیاد متشکل از هفت نفر است که عبارتند از:

1.وزیر فرهنگ و ارشاد اسلامی (رئیس هیات امنا)

2.معاون امور سینمایی و سمعی وبصری وزارت فرهنگ و ارشاد اسلامی

3.معاون ذیربط سازمان صدا و سیما

4.رئیس کانون پرورش فکری کودکان و نوجوانان

5.معاون ذیربط وزارت اموزش وپرورش

6.معاون ذیربط سازمان تبلیغات اسلامی

7.دبیر شورای عالی اطلاعرسانی

8.یک نفر کارشناس فرهنگی - هنری اشنا به بازی های رایانه ای به انتخابشورای هنر

9.یک نفر متخصص در بازی های رایانه ای به پیشنهاد وزیر علوم،تحقیقات و فناوری

چند سالی است که حرکت هایی در رابطه با بازی های رایانه ایدر کشور شروع شده است که گزارش کوتاه و مختصری از عملکرد دستگاه های مختلف را بهاطلاع شما می رسانیم.

شورای عالی اطلاع رسانی : ایجاد کارگروه در مورد بازی وسرگرمی های الکترونیکی با مسئولیت در 3 محور
1.ایجاد الگوی صحیح در زمینهواردات بازی

2.تولید بازی های رایانه ای در ایران

3.ارایه طرح هایپژوهشی (رده بندی بازی ها و سازماندهی گیم نت ها)

وزارت فرهنگ و ارشاد اسلامی(
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید بنیاد ملی بازی هایرایانه ای در ایران طبق مصوبه شورای انقلاب فرهنگی به عهده این وزارتخانه است که درحال حاضر وزارت فرهنگ و ارشاد اسلامی بر محتوای بازی ها نظارت دارد که نظارت وتایید محتوای بازی ها در داخل کشور به 2 بخش تقسیم می شود.

1.تائید محتوایبازی تولید شده در ایران

2.تائید محتوای بازی های خارجی ووارداتی

وزارت صنایع نوین: بیگمان همه کسانی که در حال ساخت بازی های رایانه ای هستند نام مرکز صنایع نوین راشنیده اند، مرکز صنایع نوین حمایت از تولیدات داخلی را مد نظر خود قرار داده که یکیاز انها بازی رانندگی در تهران است و در نهایت هم اختصاص بودجه ای به بازی عصرپهلوانان.

سازمان تربیت بدنی(
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید ایجاد انجمن بازی هایرایانه ای قدم اوّل این سازمان بود که بعد از ان اقدام به برگذاری مسابقات بازی هایرایانه ای با عنوان جام رمضان و... کرد. اهداف و سیاستهای بلند مدت این انجمن بهشرح زیر عنوان شده است:

• ایجاد زمینه مناسب به منظور تهیه و ساخت نرمافزارهای مرتبط با رقابت های ورزشی مطابق با فرهنگ اصیل، اسلامی و ایرانی با هدفتوسعه و تبیین و ترویج جوانمردی، جهاد، ایثار و شهادت.
• کسب جایگاه های برتر در عرصه های مسابقات اسیایی و بین المللی بازیهای رایانه ای توسط تیم های ملّی و بازی بازهای ایرانی

• برگزاری مسابقات ولیگ های منظم و ساماندهی شده، ویژه باشگاه ها و علاقمندان



منابع و ماخذ



. تام میلر، مترجم : رامین مولاناپور ،طراحی و ساخت بازی در #C، مؤسسه فرهنگی هنری دیباگران تهران ، 1385

2. علی غلامی مهرداد ، برنامه نویسی بازی های سه بعدی در Directx، کتاب مرو ، 1385

3. روح الله سلیمانی ، ساخت بازی های سه بعدی 3d Game Creator، ناقوس اندیشه ، 1387

4. شهاب حبیبی ،اصول ساخت و طراحی بازی های کامپیوتری ،مؤسسه فرهنگی هنری دیباگران تهران ،1385

5.سیامک پاک ، اموزش طراحی بازی های کامپیوتری ، لوح فشرده

6.محمد غضنفری ،"اشنایی با موتور بازی" ،
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

7. علی حسینی ، "ماهنامه شبکه " ،
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

8. امیر رضا سعیدی ، "ساخت بازی های رایانه ای و بررسی ابعاد مختلف بازی" ،


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



9. احمد باقرزاده ، "بازی سازان توجه کنند" ،
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

7. محسن شایان ، "موتور بازی" ،
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

10. سروش احسانی ، "اشنایی با موتورهای گرافیکی" ،
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

11. محمد حسین پور ، "موتورهای گرافیکی بازی ها" ،
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



می گما این مقاله هه یه پایان نامه کارشناسی بود . می گم عحب پایان نامه ای نمی دونم چرا اینجور پایان نامه ها به ما نمی خوره:31:
نامردا می گن حتما باید یه چیز فوق خفن بسازین یا تحقیق کنین:27:
حالا می گم اگه مردین بشینین اینو بخونین:27:

parvizamd
07-10-2011, 22:20
بابا pdf می دادی......چشمون ترکید.............

silsin
07-10-2011, 22:39
بیخیال پرویز بخون چشات عادت کنن :27:
پی دی اف هم همین چه فرقی می کنه . درضمن نرم افزارش الان در دسترس نبود کسی می تونه این کار رو بکنه

ehsan_wwe
07-10-2011, 22:46
بيشتر متنش سمينار من بود تو دانشگاه شريف
من منبع خاصي روجلو نگرفتم اما چيدمانم شبيش بود
تغريبا تا قبل كانوكس ( راستي كانوكس تو خلاصه كردن پليگان ها هم خيلي كارايي داره ) فقط كاربرد فيزيك نداره

ekhteraat
06-01-2014, 09:46
سلام
می خواستم تشکر کنم از مقاله خوبت ولی دکمه تشکر برام فعال نیست واسه همین پست زدم
ممنون از پست خوبت
موفق باشی