خرید فالوور اینستاگرام خرید لایک اینستاگرام
مطالب داغ
خانه » آموزش » برنامه نویسی » ساخت بازی با پایتون(کتابخانه پایگیم | pygame)
پایگیم

ساخت بازی با پایتون(کتابخانه پایگیم | pygame)

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

در این آموزش فرض بر این است که شما چگونگی نوشتن کد به زبان Python را می دانید.

پایتون همواره به عنوان مناسب ترین زبان برای شروع برنامه نویسی مورد توجه بوده و به دلیل دستور زبان ساده و منحنی یادگیری تدریجی اش ستایش شده است. به همین دلیل ، بسیاری از برنامه نویسان تازه کار، یادگیری برنامه نویسی را با پایتون آغاز می کنند.

Pygame بر مبنای پایتون ایجاد شده، از فلسفه پایتون پیروی می کند و هدف از آن راحتی استفاده برای کاربران است. علاوه براین ، بازی سازان تازه کار و مشتاق که داری تجربه برنامه نویسی نیستند می توانند از Pygame استفاده کنند، به دلیل اینکه می توانند پیش از شروع کار با Pygame  سریعا Python را بیاموزند.پایگیم

پایتون از سال ۲۰۰۰ در دسترس قرار گرفته و آز آن زمان تا کنون ، انجمن گسترده ای از توسعه دهندگان پیرامون آن شکل گرفته است. این انجمن مدعی است که Pygame  میلیون ها بار دانلود شده و وب سایت آن نیز میلیون ها بار مورد بازدید قرا گرفته است. در نتیجه وجود این انجمن گسترده، ایرادات و باگ های گزارش شده به سرعت رفع می گردند، راهنمایی و کمک به برنامه نویسان به  آسانی در دسترس قرار دارد، و همچنین ویژگی های جدید بسیاری به Pygame افزوده شده است.  علاوه بر این، این انجمن متضمن این است که توسعه بازی با Pygame کار جالب و سرگرم کننده ای است; به عنوان مثال، جهت ترویج این پلتفرم هر دو سال یکبار  یک رقابت بازی سازی با پایتون برگزار می شود. گستردگی این انجمن مسئله ای است که باعث برتری Pygame نسبت به سایر فریمورک های بازی سازی پایتون است و آن را متمایز می کند.

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

پایتون با استفاده از زبان c نوشته شده است و بررسی کوتاهی در کد آن، روشی عالی جهت فهم بهتر چگونگی کارکرد پایتون و Pygame است.

Pygame بسیار قابل حمل است، چنان که از پلتفرم های Windows، Linux ، Mac OS X، BeOS، FreeBSD، NetBSD، OpenBSD، BSD/OS، Solaris، IRIX، و QNX پشتیبانی می کند. علاوه بر پلتفرم های اشاره شده، زیر مجموعه ای از Pygame نیز برای سیستم عامل Android وجود دارد. علاوه براین، Pygame به OpenGL نیازی ندارد و می تواند از DirectX، WinDIB، X11، فریم بافر Linux و موارد بسیار دیگری از API ها برای رندر گرفیکی استفاده کند. این ویژگی متضمن این است که تعداد بیشتری از کاربران می توانند از بازی شما استفاده کنند.پایگیم

پیش از نصب Pygame، مطمئن شوید که Python را نصب کرده اید. در هنگام نصب Python خواهید دید که دو نسخه متفاوت از آن وجود دارد:Python2 و Python3. شخصا توصیه می کنم که برای استفاده در کنار Pygam از نسخه Python3 استفاده کنید، با استفاده از نسخه Python3 هم کماکان قادر به ساخت بازی های فوق العاده با Pygame خواهید بود.

پس از اینکه از نصب و اجرای Python (هر نسخه ای) بر روی سیستم خود مطمئن شدید، می توانید Pygame را از وب سایت آن دانلود کنید.

علاوه بر نصب ماژول های Python، توصیه می کنم که یکی از محیط های توسعه (IDE) مخصوص Python را هم نصب کنید، به این دلیل که فرآیند ساخت بازی و کامپایل آن را برای شما آسان تر خواهد کرد.

توجه داشته باشید که در حال حاضر یک محیط توسعه که IDLE نام دارد،  به همراه بسته نصب Python ارائه می شود. با این حال IDLE  اغلب به دلیل مسائل مربوط به کارایی مورد انتقاد قرار گرفته است و شخصا نمی توانم استفاده از آن را توصیه کنم.

به شخصه Visual Studio Code را ترجیح میدهم، اما موارد دیگری مانند PyCharm، Wing IDE، ابزارهای Python برای Visual Studio، و Netbeans  و   PyScriber  هم گزینه های مناسبی هستند. مثل همیشه، انتخاب یک IDE به اولویت های شخصی هر فرد برمیگردد، بنابراین پیشنهاد می کنم که تمام گزینه ها را بررسی کنید و ببینید که کدام یک را از همه بیشتر می پسندید.پایگیم

اینها تعدادی از منابعی هستند که می توانند در شروع کار با Pygame به شما کمک کنند.

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

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

توسعه بازی در Python 3  با Pygame یک سری آموزش ویدئویی است که در قالب یک لیست پخش در YouTube در درسترس است. این سری آموزشی شامل ۲۹ ویدئو است و با آموزش مفاهیمی مانند نمایش تصاویر و رندر متن آغاز می شود و در ادامه به تدریس مفاهیمی مانند انیمیشن و دریافت ورودی از کاربر می پردازد. اگر شما آموزش های ویدئویی را به آموزش های متنی ترجیح می دهید، این مجموعه آموزشی را از دست ندهید.پایگیم

اگر شما هم در برنامه نویسی Python  و هم در Pygame  تازه کار هستید ، توصیه می کنم که به کتاببازی های کامپیوتری خود را با Python  بسازید نگاهی بیاندازید. این کتاب در ابتدا مفاهیم مقدماتی Python  را به شما می آموزد، و سپس با اتکاء به آنچه که از Python آموخته اید، چگونگی ساخت بازی های ساده خط فرمانی (command-line) را به شما نشان می دهد. پس از مطمئن شدن از اینکه شما مقدمات Python را یادگرفته اید، بخش بعدی کتاب به سراغ آموزش Pygame می رود.

از سوی دیگر، اگر شما مشتاق هستید که مستقیما سراغ یادگیری Pygame بروید، کتاب ساخت بازی با Python  و Pygame برای شما مناسب است. در پایان مطالعه این کتاب، شما یازده بازی ساخته اید و آماده خواهید بود که بازی های خودتان را بسازید.

تمامی کتاب های معرفی شده رایگان بوده و به صورت آنلاین در دسترس هستند، بنابراین می توانید همین حالا شروع کنید!پایگیم

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

Pygame Wiki نیز در یافتن پاسخ هر گونه سوالی که احتمالا در مورد پلتفرم Pygame دارید شما را یاری خواهد کرد، بنابراین تردید نکنید و نگاهی به آن بیاندازید.

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

برای جزئیات بیشتر در مورد چگونگی استفاده از ماژول های مختلف، مثال های رسمی Pygame را بررسی کنید، و یا برای دیدن مجموعه کاملی از کدها، پروژه های عمومی Pygame بر روی GitHub را بررسی کنید.

Pygame دارای یک کانال IRC(جهت گفتگوی متنی) و نیز یک لیست پستی است. (این لیست پستی با یکرابط کاربری فروم مانند نیز در دسترس است.) اعضای انجمن مشتاقانه آماده کمک به افراد تازه کارهستند، بنابراین از مطرح کردن سوالات خود هراسی نداشته باشید.پایگیم

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

منابع آموزشی که در بالا به آنها اشاره شد برای بدست آوردن یک دانش منسجم از Pygame کافی خواهند بود. از این گذشته، اگر این منابع آموزشی را دنبال کنید، در طول یادگیری از طریق این منابع بازی های متعددی خواهید ساخت.  با این حال، به طور جدی از شما می خواهم که بازی های خلاقانه خود را بسازید. کاری فراتر از ساختن بازی Tic-Tac-Toe و یا بازی های تمرکز انجام دهید. هرکسی می تواند یک بازی را با دنبال کردن آموزش گام به گام آن بسازد. اجازه دهید که خلاقیت تان جاری شود و با ساخت یک بازی ابتکاری، مهارت های خود را بیازمایید.

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

علاقه مندی های شخصی من این موارد هستند:

  • Pyganim: اضافه کردن انیمیشن های sprite به بازی ها را راحت می کند.
  • input.py: در هنگام استفاده از روش هایی با چندین controller، کار با کنترل ها در Pygame را راحت تر می کند.

با مراجعه به سایت Pygame می توانید کتابخانه های بیشتری پیدا کنید.

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

استفاده از افزونه py2exe  برای ساخت فایل اجرایی برای ویندوز ، و همچنین افزونه py2app برای ایجاد اپلیکیشن های قابل اجرا در سیستم عامل Mac OS X را مدنظر قرار دهید.پایگیم

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

Galcon یک بازی کهکشانی چندکاربره در سبک استراتژیک است، و احتمالا برجسته ترین بازی ساخته شده با استفاده از Pygame می باشد.  این بازی توسط سایت GameTunnel که یکی از اولین سایتهای بررسی بازی های مستقل است،  موفق به دریافت عنوان یکی از ده بازی برتر سال ۲۰۰۷  شد.پایگیم

پایگیم

Frets on Fire یک بازی متن باز و مشابه با Guitar Hero است که با استفاده از Pygame و توسط کمپانی Unreal Voodoo و به عنوان افتتاحیه مسابقه بازی سازی Assembly 2006 ساخته شد.پایگیم

پایگیم

Dangerous High School Girls in Trouble! یک بازی در سبک نقش آفرینی (role-playing) است که برنده جوایز بسیاری شده است. سازنده آن یک توسعه دهنده مستقل به نام Mousechief است و به عنوان فینالیست در رقابت IndieCade 2008 حضور داشته است.

پایگیم

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

پایگیم

در این مطلب، مقدمه ای از توسعه بازی بوسیله Python و Pygame را به شما ارائه کردم. امیدوارم که در علاقه مند کردن شما به Pygame و آموختن چیزهایی بیشتری از آن به شما موفق بوده باشم. از پرسیدن سوالات خود چه در اینجا و چه در فروم های گوناگون Pygame دریغ نکنید. شما اکنون آماده هستید تا سفر خود را به دنیای Pygame آغاز کنید. بهترین ها را برایتان آرزومندم!

ما یک بازی ساده را برای شما اماده کردیم که میتوانید ان را در زیر دانلود کنید.

مطلب پیشنهادی

برنامه نویسی اندروید

چرا باید سراغ برنامه نویسی اندروید برویم؟

چرا باید سراغ برنامه نویسی اندروید برویم؟   اندروید یکی از محبوب‌ترین و پر درآمد‌ترین …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

سه × دو =

Time limit is exhausted. Please reload the CAPTCHA.