نرم افزار شبیه ساز این لیگ
این نرم افزار که اصطلاحاً به آن server میگویند ، برنامه ای است که زمین فوتبال و تمام عوامل دخیل در یک مسابقه ی فوتبال واقعی ( همچون وزن توپ ، وزن بازیکنان ، سرعت بازیکنان ، مختصات اشیا در زمین مسابقه ، تعداد گل ها ، جهت وزش باد و ... ) را شبیه سازی می کند.
اگر از نگاه شی گرایی به این نرم افزار نگاه کنیم ، مشخصاتی همچون وزش باد ، وزن توپ و ... جزو صفات زمین فوتبال و توابع یا متد هایی همچون محاسبه ی مختصات توپ در سیکل بعد ، محاسبه ی مختصات بازیکن در سیکل بعد و ... جزو رفتار های زمین فوتبال به حساب می آیند.
همانطور که گفته شد این برنامه تحت GFDL قرار دارد و یک نرم افزار متن باز است و همین امر باعث پیشرفت سریع سرور و انتشار نسخه های بی شماری از آن گشته است که البته در نسخه های جدیدتر سعی شده است این نرم افزارِ شبیه ساز بیشتر به واقعیت نزدیک شود. هم اکنون سرور 14 منتشر شده است که ویژگی کارت زرد و قرمز نیز به آن اضافه گشته است.
هر تیم باید 12 برنامه ی خود را ( که 11 تای آنها برای بازیکنان است و یکی برای مربی تیم ) به کمک پُرت 6000 به سرور متصل کند( در واقع 12 برنامه ی ما همان سرویس گیرنده ها هستند و نرم افزار شبیه ساز همان سرویس دهنده ). این ارتباط به کمک پروتکل UDP/IP برقرار میگردد ؛ در نتیجه برنامه ی تیم ها می توانند به هر زبانی که پروتکل فوق را می شناسند ، نوشته شوند.
هر برنامه در واقع مغز هر بازیکن محسوب می شود که اطلاعات را از سرور دریافت می نماید و پس از تجزیه و تحلیل های لازم ، تصمیم نهایی را به سرور می فرستد تا توسط مشخصات بازیکن در سرور و به کمک توابع سرور پیاده سازی شود( به عنوان مثال برنامه یا مغز بازیکن اطلاعاتی را از سرور دریافت می کند و متوجه می شود که توپ در اختیار خودش است و خودش نزدیک دروازه ی حریف است و دروازه ی حریف خالی است ، سپس پیغامی به سرور ( برنامه ی شبیه ساز ) می فرستد با این عنوان که بازیکن در جهت D و با قدرت P توپ را شوت کند ، سپس سرور این پیغام را تجزیه تحلیل می کند و با در نظر گرفتن همه ی عوامل از جمله میزان انرژی بازیکن ، سرعت توپ و ... این عمل را پیاده سازی می کند ).
پیام ها به کمک یک رشته ی کاراکتری از سرور دریافت و یا به آن ارسال می شوند. نمونه ای از این پیغام ها به صورت زیر است:
Client to Server: (move X Y)
Server to Client: (init Side Unum PlayMode)
and etc
پیغام اول که از طرف برنامه ی ما به سرور فرستاده می شود می گوید که بازیکنی که این برنامه مربوط به او است از نقطه ی فعلی به نقطه ای با مختصات X و Y حرکت کند که X بین 52.5- تا 52.5 و Y بین 34- تا 34 است.
باید توجه داشت که بردار X ها ( بردار افقی ) در جهت زمین تیم حریف است ( یعنی مختصات در زمین ما منفی و در زمین تیم حریف مثبت است ) و همچنین بردار Y ها ( بردار عمودی ) همواره رو به بالا است ( یعنی مختصات پایین زمین منفی و مختصات بالای زمین مثبت است. ) و نقطه ی وسط زمین ، نقطه ی میدأ دستگاه مختصات است.
پیغام دوم که از طرف سرور به برنامه ی ما است در اول بازی پس از اتصال برنامه ی بازیکن به سرور فرستاده می شود ، که side مشخص می کند که تیم این بازیکن در سمت راست یا چپ زمین بازی می کند ، Unum شماره ی بازیکن رو بیان می کند که بین 1 تا 11 است و PlayMode حالت بازی را بیان می کند که معمولاً BeforeKickOff است مگر اینکه برنامه های شما بعد از شروع بازی به سرور متصل شوند.
برای آشنایی بیشتر با این پیغام ها ، می توانید به راهنمای نرم افزار شبیه ساز مراجعه نمایید.
پیام های یا در واقع دستوراتی که بازیکن باید انجام دهد دو نوع هستند ، آنهایی که می توانند چند بار در یک سیکل شبیه سازی ( هر سیکل 100 میلی ثانیه است که در طول مدت آن همه ی اشیای موجود در زمین بی حرکت می مانند و اگر قرار باشد تغییری در حرکت اشیای متحرک از جمله توپ و بازیکنان ایجاد شود ، در حرکت به سیکل بعد انجام می شود. البته در بعضی از حالت های بازی ، با اینکه سیکل بازی تغییر نمی کند اما بازیکنان می توانند بعضی از کارها را انجام دهند.) انجام شوند و آنهایی که تنها یک بار می توانند در یک سیکل انجام شوند. ( به عنوان مثال دستور شوت تنها می تواند یک بار در یک سیکل انجام شود اما دستور تغییر زاویه ی دید می تواند چند بار و یا به همراه دستورات دیگر در یک سیکل انجام شود. )
هر نیمه ی بازی 3000 سیکل شبیه سازی ( یعنی حدود 5 دقیقه ) است و در صورتی که نتیجه ی بازی دو تیم مساوی شود ، سرور به صورت خودکار وارد نیمه ی با قانون گل طلایی می شود که در سرور جدید 1000 سیکل است و اگر در این نیمه نیز نتیجه مساوی شد ، دوباره بازی با قانون گل طلایی انجام میگیرد و اگر دوباره نتیجه مساوی شد ، سرور به طور خودکار وارد حالت پنالتی می شود.
همچنین برنامه ای به نام مانیتور وجود دارد که اطلاعات را از طریق پرت 6000 از سرور دریافت می کند و مسابقه را به صورت گرافیکی نمایش می دهد.
پس از اینکه نرم افزار سرور را ببندید ، در همان محل اجرای این نرم افزار دو فایل با پسوند های rcl. و rcg. ذخیره می شوند که log آن بازی نام دارند.
در فایل با پسوند rcl ، تمام رشته های ارسال شده به سرور با شماره ی سیکل و شماره ی برنامه ( شماره ی بازیکن ) نوشته شده است.
در فایل rcg ، تمام رشته های ارسال شده به برنامه های بازیکنان نوشته شده است.
با نرم افزار دیگری که بعد از نصب سرور و مانیتور نصب می شود و logplayer نام دارد نیز می توان فایل های با فرمت rcg را باز کرد و بازی را همانند پخش مجدد ، به صورت گرافیکی دید.
برای کسب اطلاعات بیشتر می توانید به راهنمای سرور مراجعه نمایید.
|