« اهميت دوستي هاي زمان دانشجويي | صفحه اصلی | نظر سنجی با استفاده از تلفن گویا »
ايجاد بازيهاي كامپيوتري، ابزاري براي آموزش برنامه سازي
&"January 3, 2005&"
پروژه درس مباني كامپيوتر و برنامه سازي در دانشكده هاي مهندسي كامپيوتر معمولا ايجاد يك بازي كامپيوتري است. بازيها از آن جهت به عنوان يك صورت پروژه انتخاب مي شوند كه معمولا در يك بازي از جنبه هاي مختلف برنامه سازي بايستي استفاده نمود.
يك بازي كامپيوتري بسته به نوع آن معمولا از دو بخش اصلي تشكيل شده است:
- هسته مركزي يا موتور بازي
- پوسته يا واسط كاربري بازي
در موتور بازي معمولا با استفاده از منطق هاي ساده برنامه سازي كه كابرد زيادي هم دارند قسمت اصلي برنامه كه كنترل ها و حركت ها را انجام مي دهد پياده سازي مي كنند. از جمله اين تكنيك ها مي توان به موارد زير اشاره كرد:
استفاده از Backtracking در بازيهايي كه يك طرف بازي هم خود كامپيوتر است و روش الگوريتمي براي حل آن بازي مشكل باشد. مانند شطرنج، دوز و ....
استفاده از ماشين با حالات محدود FSM :Finite State Machine براي بازي هايي كه معمولا كامپيوتر براي بازي كردن در حالتهاي مختلف اما محدودي داشته باشد. مانند بازيهاي سه بعدي و يا اكشن
استفاده از تكنيك ها و ابزارهاي هوش مصنوعي و يا يادگيري الكترونيك به طور ويژه در بازيهاي استراتژيك (البته در اين بازيها به طور گسترده از روشهاي ديگر نيز استفاده مي كنند)
بكارگيري ساختمان داده هاي پويايي نظير پشته (Stack) درخت هاي دودوئي (Binary Tree) و به طور ويژه درخت هاي تصميم گيري در كنار روشهاي برنامه سازي قبلي براي ايجاد تصميم ها و انتخاب روشها در بازيها
استفاده از هوش مصنوعي توزيع شده در قالب عامل ها (Agents) در بازيهاي اكشن و يا استراتژيك جديدتر براي بهبود عملكرد و بالاتر بردن سرعت عملكرد و سادگي كار
و....
در واسط كاربري هم با استفاده از ابزارها و امكانات مختلف گرافيكي ظاهري زيبا به بازي مي بخشند. در زمان سيستم عامل Dos با استفاده از حافظه نمايش در حالتهاي متني و يا گرافيكي واسط كاربري طراحي مي شد كه بالطبع زيبايي چنداني نداشت. در سيستم عامل ويندوز با استفاده از DirectX و ابزارهايي كه در اختيار قرار مي دهد مي توان طاهري جذاب و كاربرپسند به بازي بخشيد.
فارغ از واسط كاربري مهم براي يك دانشجوي مباني مهندسي كامپيوتر ايجاد همان موتور بازي است. در ايجاد اين قسمت نه تنها از تكنيك هاي ياد شده استفاده مي شود بلكه از تمامي دستور العمل هاي زبان برنامه نويسي آموزش داده شده (مثلا پاسكال) و ساختمان داده هاي مختلف و فايلينگ و تخصيص حافظه به صورت پويا، شمارنده ها ، الگوريتم هاي بازگشتي و ..... بهره برده مي شود و به همين دليل يك صورت پروژه مناسب است.
اصولا بازيها را مي توان به عنوان نرم افزارهايي يادكرد كه بهترين تكنيك ها و سريع ترين الگوريتمها براي آنها به كار مي رود و معمولا همه جنبه هاي برنامه سازي را نيز پوشش مي دهند. نگاهي به بازيهاي موجود در بازار و نيز شركتهايي كه در اين زمينه فعال مي باشند تصديقي است بر اين ادعا.
در آينده در مورد بازيها بيشتر خواهم نوشت.
همين!