ساخت بازی با پایتون و پای گیم
مقدمه
آموزش بازیسازی گرافیکی با Python یکی از هیجانانگیزترین و جذابترین دورههایی هست که توسط سایت نابغهها برای شما عزیزان آماده شده. اگه دنبال ساخت بازی هستید، این دوره میتونه یه نقطه شروع عالی باشه. تو این دوره به صورت عملی و گامبهگام یاد میگیرید چطور با استفاده از پایتون و کتابخانه پای گیم (Pygame) بازی بسازید. شاید تو ایران کمتر بتونید یه همچین دورهای رو توی سایتها یا کانالهای دیگه پیدا کنید که انقدر دقیق و کاربردی باشه.
البته ایدهی اصلی بازی از ما نیست و متعلق به یه شخص دیگهس، ولی ما به بهترین و سادهترین شکل ممکن آموزشش دادیم تا شما هم بتونید به راحتی اون رو پیادهسازی کنید. همونطور که از تیتر مشخصه، قراره این بازی رو با زبان برنامهنویسی پایتون بنویسیم. استفاده از پایتون توی ساخت بازی با پای گیم خیلی کاربردی و راحت هست، حتی اگه تجربهی قبلی توی برنامهنویسی نداشته باشید.
بازیای که تو این آموزش میسازیم رو “ماشین بازی” اسم گذاشتم. البته اسم زیادی خاصی نداره و اگه شما یه پیشنهاد بهتر دارید، تو کامنتها برامون بنویسید. این دوره نه تنها برای افرادی که تازه با پایتـون آشنا شدن مفیده، بلکه برای اونایی که میخوان وارد حوزه ساخت بازی با پـایتون و پای گیـم بشن هم یه فرصت عالیه.
حالا چرا پـایتون؟ چون پایـتون یه زبان برنامهنویسی ساده و قدرتمنده که با وجود کتابخانههای زیادی مثل پـای گیم، شما میتونید بدون دردسر بازیهای گرافیکی بسازید. پای گـیم یکی از کتابخانههای محبوب برای ساخت بازی با پایتون هست که به شما اجازه میده تا با استفاده از توابع و ابزارهایی که داره، بازیهای جذاب و حرفهای بسازید. تو این دوره، صفر تا صد کار با پای گیم رو یاد میگیرید و میتونید مهارتهاتون رو توی ساخت بازی با پایــتون به سطح بالاتری برسونید.
منتظر پیشنهاداتتون برای اسم بازی هستیم!
منطق بازی :
بازیای که قراره بسازیم یه بازی ساده و در عین حال هیجانانگیزه. منطق بازی خیلی راحت و روانه. شما یه ماشین دارید که توی وسط صفحه قرار گرفته و هدف اصلیتون اینه که از اشیایی که جلوی راه ماشین سبز میشن جا خالی بدید تا بهشون نخورید. هر چقدر جلوتر میرید، کار سختتر میشه. چطوری؟ عرض این اشیاء کمکم بزرگتر میشه و سرعت حرکتشون هم بالاتر میره. این یعنی شما باید سریعتر و با دقت بیشتری عکسالعمل نشون بدید.
هدف اصلی پلیر اینه که هر بار رکورد قبلی خودش رو بشکونه و بهتر بشه. رکوردتون هم بر اساس مدت زمانی که میتونید بدون برخورد با این موانع دووم بیارید محاسبه میشه. بهمرور بازی سختتر و چالشبرانگیزتر میشه و شما باید مهارتهای بیشتری به کار بگیرید.
اگه بخوایم به زبان ساده بگیم، بازی شبیه یه رقابت نفسگیره که هربار شما باید بهتر از دفعه قبلی عمل کنید. این بازی رو قراره با پایــتون و کتابخونه پای گــیم (Pygame) بسازیم. پای گـیم ابزاری خیلی خوب برای ساخت بازی با پایـتونه که بهکمک اون میتونید بازیهای گرافیکی رو به راحتی توسعه بدید.
حالا چرا پایتـــون و پای گیـــم؟ چون پایـــتون یکی از سادهترین زبانهای برنامهنویسیه که خیلی انعطافپذیره و یادگیریش آسونه. پـای گیم هم یه کتابخونه قوی برای ساخت بازیهای دوبعدیه و شما با استفاده از اون میتونید خیلی راحت بازیهای خودتون رو پیادهسازی کنید. ساخت بازی با پایـتون نه تنها سرگرمکنندهست، بلکه باعث میشه شما مفاهیم اصلی برنامهنویسی رو هم بهتر یاد بگیرید.
اینجا ما از صفر شروع میکنیم و بهصورت گامبهگام میریم جلو تا شما هم بتونید به راحتی یه بازی با پایــتون بسازید. وقتی با پایـتون و پای گـیم کار کنید، میبینید که چقدر راحت میتونید بازیهای دلخواهتون رو خلق کنید. از طراحی گرافیک بازی تا برنامهنویسی منطق اون، همه چیز توی کنترل شماست.
این بازی که قراره بسازیم، فقط یه نمونه ساده از دنیای بزرگ بازیسازی با پایتـونه. اگه علاقه دارید به ساخت بازی با پایتـون و میخواید وارد دنیای برنامهنویسی بشید، این بهترین فرصت برای شروعه. بعد از این که این بازی رو تموم کردید، میتونید خلاقیت به خرج بدید و امکانات بیشتری بهش اضافه کنید. مثلا مراحل مختلف بسازید، یا ماشینها و موانع متفاوتی طراحی کنید.
منتظریم تا شما هم رکوردتون رو توی این بازی ثبت کنید و به چالشهای جدیدی که با ساخت بازی با پایتــون و پای گـیم تجربه میکنید، خوشآمد بگید!
چرا پای گیم | PYGAME :
خب، بیایید اول یه توضیح ساده و خودمونی در مورد Pygame بدیم. شاید براتون سوال باشه که این پای گــیم چیه و چرا اصلاً باید ازش استفاده کنیم؟ Pygame در واقع یه کتابخونه توی پایتــونه که کلی ابزار و ماژول آماده داره برای ساخت بازیهای ویدیویی. یعنی شما نیازی ندارید همه چیز رو از صفر بسازید، کلی ابزار آماده بهتون میده تا بتونید خیلی سریعتر و راحتتر بازی خودتون رو طراحی کنید.
حالا یه نکته مهم اینه که پای گــیم از یه کتابخونه دیگه به اسم SDL استفاده میکنه که مخفف Simple DirectMedia Layer هست. این کتابخونه بهتون این امکان رو میده که یه محیط گرافیکی خیلی سریع برای بازیتون بسازید. چرا سریع؟ چون به جای اینکه مثل خیلی از برنامهها از CPU سیستم استفاده کنه، مستقیماً میره سراغ کارت گرافیک! این یعنی عملکرد خیلی بهتری توی اجرای بازیها خواهید داشت و بازی روانتر اجرا میشه.
شاید الان براتون این سوال پیش بیاد که چرا از پای گــیم برای ساخت بازی با پایــتون استفاده کنیم؟ خوب، دلایل زیادی داره! یکی از مهمترینش اینه که Pygame تقریباً روی هر سیستمی کار میکنه. فرقی نداره از ویندوز استفاده کنید، لینوکس یا مک، پای گیــم روی همه اینا اجرا میشه. این خیلی نکته مهمیه چون باعث میشه بازیهایی که با پایتــون و Pygame میسازید، برای طیف گستردهای از کاربران قابل دسترس باشه.
از این گذشته، Pygame به شما این امکان رو میده که بازیهای ساده و حتی بازیهای پیچیدهتر رو بسازید، اونم به شکلی که هم از نظر گرافیکی جذاب باشن و هم کارایی خوبی داشته باشن. با پایتون و پای گــیم، میتونید بازیهای مالتیمدیا یا چندرسانهای درست کنید، که این یعنی نه تنها بازی، بلکه انواع برنامههایی که با صوت و تصویر کار دارن هم میتونید به راحتی پیادهسازی کنید.
در واقع پای گــیم به شما اجازه میده که از پایتــون، به عنوان یکی از راحتترین و محبوبترین زبانهای برنامهنویسی، برای ساخت بازیهای خودتون استفاده کنید. این باعث میشه حتی اگه تازهکار هستید، خیلی سریع بتونید یاد بگیرید و بازیهای جذاب خودتون رو بسازید. پس حالا دیگه دلیل استفاده از پای گیــم رو متوجه شدید؟ چون یه ابزار فوقالعاده ساده و کاربردی برای ساخت بازیهای گرافیکی با پایتــونه!
نتیجه؟ اگه دنبال یادگیری ساخت بازی هستید و به پایــتون علاقه دارید، پای گــیم انتخاب فوقالعادهایه. شما میتونید با پای گیـــم بازیهای خودتون رو از صفر بسازید، اجرا کنید و حتی اونها رو با دیگران به اشتراک بذارید. ساخت بازی با پایــــتون به کمک Pygame، نه تنها جذابه، بلکه یه فرصت عالی برای یادگیری عمیقتر برنامهنویسی و بازیسازی هم به حساب میاد.
منتظریم تا شما هم دست به کار بشید و بازیهای خلاقانه خودتون رو با پـــایتون و پای گیـــم طراحی کنید!
برای کار با پای گیم، باید پایتون بلد باشیم؟
بله. پای گیم خودش با پایتون نوشته شده! یعنی این کتابخونه کاملاً از پایه با زبان پایـــتون طراحی شده. پایتــون یکی از قدرتمندترین زبانهای برنامهنویسیه که توی خیلی از زمینهها کاربرد داره. مثلاً از پایتون برای علم دادهها، یادگیری ماشین، اتوماسیون سیستمها، توسعه وب و حتی واسطهای برنامهنویسی هم استفاده میکنن.
حالا جذابتر از این چی میتونه باشه؟ این که علاوه بر این همه قابلیت، میتونیم با همین زبان بازی سازی هم انجام بدیم! یعنی همونطور که از پایـــتون توی کارهای حرفهای مثل یادگیری ماشین و علم دادهها استفاده میکنیم، حالا میتونیم بازیهای هیجانانگیز هم باهاش بسازیم. با پای گـــیم که یه کتابخونه ساده و قدرتمنده، ساخت بازی با پایــتون یه چیز فوقالعاده جذاب میشه.
اگه هنوز پایتــون بلد نیستی، اصلاً جای نگرانی نیست! از همینجا و با همین آموزشها شروع کن. من قدم به قدم بهت یاد میدم چطور این بازی رو با پایتــون و پای گیـــم بسازی. وقتی ببینی چقدر این زبان قوی و شیرینه، مطمئنم بهش علاقهمند میشی. همینجا بهترین مکان برای یادگیری برنامه نویسی پایتون و ساخت بازی با پایتونه.
آموزش برنامه نویسی پایتون
آموزش پایتون : دورهی آموزش پایتون بهترین انتخاب برای دانشجویان مبتدی در برنامهنویسی است، زیرا پایت...
قسمت اول : آماده سازی محیط برنامه نویسی
برای اینکه بتونیم این بازی جذاب رو بسازیم، باید محیط برنامه نویسی رو آماده کنیم. مثلا پایتــون رو نصب کنیم، نرم افزار vscode رو نصب کنیم و یه عالمه کار دیگه که بهتره ویدیو رو مشاهده کنید :
قسمت دوم : مقدمات پای گیم
این قسمت هم کتابخونهی پای گیم رو نصب میکنیم باهم و یک صفحه بازی خالی رو نمایش میدیم، البته کارهای دیگه ایی هم هست که بهتره خودتون ویدیوها رو مشاهده کنید :
قسمت سوم : اضافه کردن ماشین (کفشدوزک)
قسمت چهارم : به حرکت درآوردن کفشدوزک
قسمت پنجم : نمایش صفحهی بازنده شدن
قسمت ششم : اضافه کردن مانع برای کفشدوزک
قسمت هفتم : پیاده سازی برخورد با مانع
قسمت هشتم : آموزش پای گیم و نقاشی کردن
قسمت نهم : ساخت صفحه شروع بازی
قسمت دهم : اضافه کردن آهنگ به بازی
دانلود باکس
- برای ثبت نظر، حتما اسم و فامیل خود را به فارسی وارد کنید.
- حتما ایمیل صحیح را وارد کنید تا در صورت بررسی کارشناسان، پاسخ برای شما ایمیل شود.
- داخل متن کامنت کدهای برنامه نویسی قرار ندهید.
-
یاسین حدایی 24 خرداد 1401 سلام. من نرم افزار pycharm رو نصب کردم و کتابخانه pygame رو توش نصب کردم…ولی با وجودی که سیستم قوی هستش با ساخت یه بازی ساده گیر میزنه و انگار که بر روی کارت گرافیک اجرا نمیشه!!!!چاره چیست؟
( 2 ) موافقم با دیدگاه -
حسی فول 26 فروردین 1401 سلام من بازی درست کردم خودم قبللا 5 هزار تومن می فروشم
( 1 ) موافقم با دیدگاه-
امیر 1 اردیبهشت 1401 اره میشه فروخت ولی یه بازی ساده رو همه یه مدت نصب میکنن بعد پاک میکنن من دارم یه بازی مثل لجند می سازم که انلاین باشه 5v5 باشه تا هرکی نصب کرد راحت پاکش نکنه اگه خواستید می تونیم با هم یه تیم تشکیل بدیم
( 10 ) موافقم با دیدگاه
-
-
مبین 16 اسفند 1400 سلام ممنونم از وقتی که گذاشتید فقط یسوال من بازی رو ران میکنم اما شخصیت بازی تکون نمیخوره و ثابته اما وقتی کدی ک شما نوشتید رو از گیت هاب دانلود کردم و استفاده کردم همچین مشکلی نداشت ممنون میشم راهنمایی کنید
( 5 ) موافقم با دیدگاه -
ارژنگ 2 اسفند 1400 احسنت بر شما کارتون درسته!
( 3 ) موافقم با دیدگاه -
کیمیا 23 بهمن 1400 سلام چقدر جالبه! همین اموزش رو دقیقا همین رو دارن ت یه سایت دیگه ک اسمش رو نمیارم میفروشن 😐 مرسی که رایگان گذاشتید ممنونم
( 9 ) موافقم با دیدگاه -
محمد 10 بهمن 1400 چرا اینقدر ریز خب فول اسکرین میکردین چشممون درد گرفت
( 9 ) موافقم با دیدگاه -
سیما 9 بهمن 1400 سلام. واقعا اموزش خوبی دارید. من خیلی استفاده کردم. موفق باشید
( 2 ) موافقم با دیدگاه -
امیر 17 آذر 1400 سلام خیلی ممنون از ویدیو هایی که گذاشتید فقط یک چیزی میشه لینکه ایکون های ماشینارو بدید؟ همینایی که استفاده کرده بودید که قلب و کفش دوزک و هسته ای بودن
( 1 ) موافقم با دیدگاه -
امین شهرابی 5 آذر 1400 واقعلا عالی بود خیلی خوب توضیح دادید بازم از این آموزش ها بزارید.
( 0 ) موافقم با دیدگاه -
امین 19 شهریور 1400 سلام. میشه بازی رو به من به اشتراک بگذارید.
( 18 ) موافقم با دیدگاه -
امین 19 شهریور 1400 سلام میشه کد های بازی رو که نوشتید را در سایتتون به اشتراک بگذارید؟ چون من حوصله نوشتن کد زیاد رو ندارم. ممنون.
( 1 ) موافقم با دیدگاه -
یونس 24 مرداد 1400 دستتون درد نکنه واقعا عالی بود. درست مثل پکیج خسته نباشید
( 1 ) موافقم با دیدگاه -
آرتین قاسم زاده 9 تیر 1400 سلام خسته نباشید. مطالب واقعا عالی هستند و خیلی خوب و روان توضیح داده می شوند و من تمام کد هایی را که شما وارد می کنید را وارد کردم، اما هنگام حرکت دادن شخصیت بازی ( باگ ) یعنی هنگام زدن دکمه های چپ و راست، از بازی خارج می شوم و هیچ اتفاقی نمی افتد، اما وقتی کد های شما را run می کنم شخصیت بازی ( باگ ) حرکت می کند و از بازی خارج نمی شوم و من تمام کار هایی را که شما گفتید انجام دادم ولی حالا این اتفاق می افتد و نمی دانم چه کار کنم و مشکل از چیست؟! لطفا راهنمایی کنید
( 4 ) موافقم با دیدگاه -
سارا 26 خرداد 1400 من همه مراحل رو رفتم میگه quit تو پای گیم نیست
( 0 ) موافقم با دیدگاه -
محمدحسین 23 خرداد 1400 سلام.در قسمت سوم عکس رو برای من پیدا نکرد
( 1 ) موافقم با دیدگاه -
سعید 27 اردیبهشت 1400 سلام خیلی خوبین من اینقد خندیدم سر بخش 3 که عاشق شما و پایتون شدم. عاااااالی مرسی از انرژیتون
( 0 ) موافقم با دیدگاه -
ستاره 31 فروردین 1400 سلام وقت بخیر. نحوه تدریستون واقعا عالی بود
( 2 ) موافقم با دیدگاه -
حنانه 3 فروردین 1400 من فعلا تا قسمت 3 دیدم ولی صفحه ی بازی رونمیتونم نه با vs code نه با cmd باز کنم. راهنمایی میفرمایید.
( 1 ) موافقم با دیدگاه -
ایمان 9 اسفند 1399 سلام ببخشید میخواستم بدونم با یادگیری این فیلم ها من توانایی ساخت یک بازی گزینشی که برای اندروید و ای او اس باشه و به صورت انلاین هم باشه رو کسب میکنم یا خیر
( 0 ) موافقم با دیدگاه -
سهیل 5 اسفند 1399 واسه من دستور init رو خطا میگیره اما وقتی تمام کد های هر قسمت رو میزنم خطا نمیده میشه بگین مشکلش چیه؟
( 1 ) موافقم با دیدگاه