آموزش بازیسازی گرافیکی با Python یکی از هیجانانگیزترین و جذابترین دورههایی هست که توسط سایت نابغهها برای شما عزیزان آماده شده. اگه دنبال ساخت بازی هستید، این دوره میتونه یه نقطه شروع عالی باشه. تو این دوره به صورت عملی و گامبهگام یاد میگیرید چطور با استفاده از پایتون و کتابخانه پای گیم (Pygame) بازی بسازید. شاید تو ایران کمتر بتونید یه همچین دورهای رو توی سایتها یا کانالهای دیگه پیدا کنید که انقدر دقیق و کاربردی باشه.
با پایتون میشه بازی ساخت؟
آره، با کتابخونههایی مثل Pygame خیلی راحت میتونی بازی دوبعدی بسازی.
Pygame چیه؟
یه کتابخونه پایتونه برای ساخت بازیهای ۲ بعدی، با پشتیبانی از گرافیک، صدا و ورودیها.
ساخت بازی با پایتون سخته؟
برای شروع نه، پایتون سادهست و Pygame هم برای مبتدیا طراحی شده.
چه بازیهایی میشه با Pygame ساخت؟
چیزایی مثل Snake، Flappy Bird، پلتفرمر ساده، تیراندازی ۲ بعدی و…
برای نصب Pygame چیکار کنم؟
فقط کافیه تو ترمینال یا CMD بزنی: pip install pygame
چقدر طول میکشه یه بازی ساده با پایتون بسازم؟
اگه پایتون بلدی، یه بازی ساده مثل “حدس عدد” یا “پینگپنگ” رو تو ۱ تا ۲ روز میسازی.
آیا با Pygame میشه بازی آنلاین ساخت؟
بهصورت پیشفرض نه، ولی با ترکیبش با Socket یا کتابخونههای شبکه میشه.
البته ایدهی اصلی بازی از ما نیست و متعلق به یه شخص دیگهس، ولی ما به بهترین و سادهترین شکل ممکن آموزشش دادیم تا شما هم بتونید به راحتی اون رو پیادهسازی کنید. همونطور که از تیتر مشخصه، قراره این بازی رو با زبان برنامهنویسی پایتون بنویسیم. استفاده از پایتون توی ساخت بازی با پای گیم خیلی کاربردی و راحت هست، حتی اگه تجربهی قبلی توی برنامهنویسی نداشته باشید.
بازیای که تو این آموزش میسازیم رو “ماشین بازی” اسم گذاشتم. البته اسم زیادی خاصی نداره و اگه شما یه پیشنهاد بهتر دارید، تو کامنتها برامون بنویسید. این دوره نه تنها برای افرادی که تازه با پایتـون آشنا شدن مفیده، بلکه برای اونایی که میخوان وارد حوزه ساخت بازی با پـایتون و پای گیـم بشن هم یه فرصت عالیه.
حالا چرا پـایتون؟ چون پایـتون یه زبان برنامهنویسی ساده و قدرتمنده که با وجود کتابخانههای زیادی مثل پـای گیم، شما میتونید بدون دردسر بازیهای گرافیکی بسازید. پای گـیم یکی از کتابخانههای محبوب برای ساخت بازی با پایتون هست که به شما اجازه میده تا با استفاده از توابع و ابزارهایی که داره، بازیهای جذاب و حرفهای بسازید. تو این دوره، صفر تا صد کار با پای گیم رو یاد میگیرید و میتونید مهارتهاتون رو توی ساخت بازی با پایــتون به سطح بالاتری برسونید.
منتظر پیشنهاداتتون برای اسم بازی هستیم!
منطق بازی :
بازیای که قراره بسازیم یه بازی ساده و در عین حال هیجانانگیزه. منطق بازی خیلی راحت و روانه. شما یه ماشین دارید که توی وسط صفحه قرار گرفته و هدف اصلیتون اینه که از اشیایی که جلوی راه ماشین سبز میشن جا خالی بدید تا بهشون نخورید. هر چقدر جلوتر میرید، کار سختتر میشه. چطوری؟ عرض این اشیاء کمکم بزرگتر میشه و سرعت حرکتشون هم بالاتر میره. این یعنی شما باید سریعتر و با دقت بیشتری عکسالعمل نشون بدید.
هدف اصلی پلیر اینه که هر بار رکورد قبلی خودش رو بشکونه و بهتر بشه. رکوردتون هم بر اساس مدت زمانی که میتونید بدون برخورد با این موانع دووم بیارید محاسبه میشه. بهمرور بازی سختتر و چالشبرانگیزتر میشه و شما باید مهارتهای بیشتری به کار بگیرید.
اگه بخوایم به زبان ساده بگیم، بازی شبیه یه رقابت نفسگیره که هربار شما باید بهتر از دفعه قبلی عمل کنید. این بازی رو قراره با پایــتون و کتابخونه پای گــیم (Pygame) بسازیم. پای گـیم ابزاری خیلی خوب برای ساخت بازی با پایـتونه که بهکمک اون میتونید بازیهای گرافیکی رو به راحتی توسعه بدید.
حالا چرا پایتـــون و پای گیـــم؟ چون پایـــتون یکی از سادهترین زبانهای برنامهنویسیه که خیلی انعطافپذیره و یادگیریش آسونه. پـای گیم هم یه کتابخونه قوی برای ساخت بازیهای دوبعدیه و شما با استفاده از اون میتونید خیلی راحت بازیهای خودتون رو پیادهسازی کنید. ساخت بازی با پایـتون نه تنها سرگرمکنندهست، بلکه باعث میشه شما مفاهیم اصلی برنامهنویسی رو هم بهتر یاد بگیرید.
اینجا ما از صفر شروع میکنیم و بهصورت گامبهگام میریم جلو تا شما هم بتونید به راحتی یه بازی با پایــتون بسازید. وقتی با پایـتون و پای گـیم کار کنید، میبینید که چقدر راحت میتونید بازیهای دلخواهتون رو خلق کنید. از طراحی گرافیک بازی تا برنامهنویسی منطق اون، همه چیز توی کنترل شماست.
این بازی که قراره بسازیم، فقط یه نمونه ساده از دنیای بزرگ بازیسازی با پایتـونه. اگه علاقه دارید به ساخت بازی با پایتـون و میخواید وارد دنیای برنامهنویسی بشید، این بهترین فرصت برای شروعه. بعد از این که این بازی رو تموم کردید، میتونید خلاقیت به خرج بدید و امکانات بیشتری بهش اضافه کنید. مثلا مراحل مختلف بسازید، یا ماشینها و موانع متفاوتی طراحی کنید.
منتظریم تا شما هم رکوردتون رو توی این بازی ثبت کنید و به چالشهای جدیدی که با ساخت بازی با پایتــون و پای گـیم تجربه میکنید، خوشآمد بگید!
چرا پای گیم | PYGAME :
خب، بیایید اول یه توضیح ساده و خودمونی در مورد Pygame بدیم. شاید براتون سوال باشه که این پای گــیم چیه و چرا اصلاً باید ازش استفاده کنیم؟ Pygame در واقع یه کتابخونه توی پایتــونه که کلی ابزار و ماژول آماده داره برای ساخت بازیهای ویدیویی. یعنی شما نیازی ندارید همه چیز رو از صفر بسازید، کلی ابزار آماده بهتون میده تا بتونید خیلی سریعتر و راحتتر بازی خودتون رو طراحی کنید.
حالا یه نکته مهم اینه که پای گــیم از یه کتابخونه دیگه به اسم SDL استفاده میکنه که مخفف Simple DirectMedia Layer هست. این کتابخونه بهتون این امکان رو میده که یه محیط گرافیکی خیلی سریع برای بازیتون بسازید. چرا سریع؟ چون به جای اینکه مثل خیلی از برنامهها از CPU سیستم استفاده کنه، مستقیماً میره سراغ کارت گرافیک! این یعنی عملکرد خیلی بهتری توی اجرای بازیها خواهید داشت و بازی روانتر اجرا میشه.
شاید الان براتون این سوال پیش بیاد که چرا از پای گــیم برای ساخت بازی با پایــتون استفاده کنیم؟ خوب، دلایل زیادی داره! یکی از مهمترینش اینه که Pygame تقریباً روی هر سیستمی کار میکنه. فرقی نداره از ویندوز استفاده کنید، لینوکس یا مک، پای گیــم روی همه اینا اجرا میشه. این خیلی نکته مهمیه چون باعث میشه بازیهایی که با پایتــون و Pygame میسازید، برای طیف گستردهای از کاربران قابل دسترس باشه.
از این گذشته، Pygame به شما این امکان رو میده که بازیهای ساده و حتی بازیهای پیچیدهتر رو بسازید، اونم به شکلی که هم از نظر گرافیکی جذاب باشن و هم کارایی خوبی داشته باشن. با پایتون و پای گــیم، میتونید بازیهای مالتیمدیا یا چندرسانهای درست کنید، که این یعنی نه تنها بازی، بلکه انواع برنامههایی که با صوت و تصویر کار دارن هم میتونید به راحتی پیادهسازی کنید.
گرافیک بازی توی Pygame چجوریه؟
از تصاویر و اسپرایتها استفاده میکنی، محیط دوبعدی داره.
چطور کاراکتر رو تو بازی حرکت بدم؟
با گرفتن کلیدهای کیبورد و تغییر مختصات x و y اسپرایت.
صدا تو بازی با پایتون چجوری اضافه میشه؟
Pygame پشتیبانی از فایل صوتی داره. با pygame.mixer.Sound() میتونی صدا بذاری.
چه نسخهای از پایتون با Pygame سازگاره؟
معمولاً با Python 3.7 تا 3.11 خوب کار میکنه.
Pygame واسه بازی حرفهای خوبه؟
نه خیلی؛ برای تمرین، آموزش و ساخت بازیهای ساده عالیه ولی برای تجاری حرفهای بهتره سراغ موتورهایی مثل Godot یا Unity بری.
آیا Pygame فقط برای ویندوزه؟
نه، روی لینوکس و مک هم نصب و اجرا میشه.
چطور خروجی exe از بازی پایتونی بگیرم؟
با pyinstaller یا cx_Freeze میتونی بازی رو به فایل اجرایی ویندوز تبدیل کنی.
در واقع پای گــیم به شما اجازه میده که از پایتــون، به عنوان یکی از راحتترین و محبوبترین زبانهای برنامهنویسی، برای ساخت بازیهای خودتون استفاده کنید. این باعث میشه حتی اگه تازهکار هستید، خیلی سریع بتونید یاد بگیرید و بازیهای جذاب خودتون رو بسازید. پس حالا دیگه دلیل استفاده از پای گیــم رو متوجه شدید؟ چون یه ابزار فوقالعاده ساده و کاربردی برای ساخت بازیهای گرافیکی با پایتــونه!
نتیجه؟ اگه دنبال یادگیری ساخت بازی هستید و به پایــتون علاقه دارید، پای گــیم انتخاب فوقالعادهایه. شما میتونید با پای گیـــم بازیهای خودتون رو از صفر بسازید، اجرا کنید و حتی اونها رو با دیگران به اشتراک بذارید. ساخت بازی با پایــــتون به کمک Pygame، نه تنها جذابه، بلکه یه فرصت عالی برای یادگیری عمیقتر برنامهنویسی و بازیسازی هم به حساب میاد.
منتظریم تا شما هم دست به کار بشید و بازیهای خلاقانه خودتون رو با پـــایتون و پای گیـــم طراحی کنید!
برای کار با پای گیم، باید پایتون بلد باشیم؟
بله. پای گیم خودش با پایتون نوشته شده! یعنی این کتابخونه کاملاً از پایه با زبان پایـــتون طراحی شده. پایتــون یکی از قدرتمندترین زبانهای برنامهنویسیه که توی خیلی از زمینهها کاربرد داره. مثلاً از پایتون برای علم دادهها، یادگیری ماشین، اتوماسیون سیستمها، توسعه وب و حتی واسطهای برنامهنویسی هم استفاده میکنن.
حالا جذابتر از این چی میتونه باشه؟ این که علاوه بر این همه قابلیت، میتونیم با همین زبان بازی سازی هم انجام بدیم! یعنی همونطور که از پایـــتون توی کارهای حرفهای مثل یادگیری ماشین و علم دادهها استفاده میکنیم، حالا میتونیم بازیهای هیجانانگیز هم باهاش بسازیم. با پای گـــیم که یه کتابخونه ساده و قدرتمنده، ساخت بازی با پایــتون یه چیز فوقالعاده جذاب میشه.
اگه هنوز پایتــون بلد نیستی، اصلاً جای نگرانی نیست! از همینجا و با همین آموزشها شروع کن. من قدم به قدم بهت یاد میدم چطور این بازی رو با پایتــون و پای گیـــم بسازی. وقتی ببینی چقدر این زبان قوی و شیرینه، مطمئنم بهش علاقهمند میشی. همینجا بهترین مکان برای یادگیری برنامه نویسی پایتون و ساخت بازی با پایتونه.
برای اینکه بتونیم این بازی جذاب رو بسازیم، باید محیط برنامه نویسی رو آماده کنیم. مثلا پایتــون رو نصب کنیم، نرم افزار vscode رو نصب کنیم و یه عالمه کار دیگه که بهتره ویدیو رو مشاهده کنید :
قسمت دوم : مقدمات پای گیم
این قسمت هم کتابخونهی پای گیم رو نصب میکنیم باهم و یک صفحه بازی خالی رو نمایش میدیم، البته کارهای دیگه ایی هم هست که بهتره خودتون ویدیوها رو مشاهده کنید :
قسمت سوم : اضافه کردن ماشین (کفشدوزک)
قسمت چهارم : به حرکت درآوردن کفشدوزک
قسمت پنجم : نمایش صفحهی بازنده شدن
قسمت ششم : اضافه کردن مانع برای کفشدوزک
قسمت هفتم : پیاده سازی برخورد با مانع
قسمت هشتم : آموزش پای گیم و نقاشی کردن
قسمت نهم : ساخت صفحه شروع بازی
قسمت دهم : اضافه کردن آهنگ به بازی
میشه با پایتون بازی سهبعدی ساخت؟
نه با Pygame، ولی با کتابخونههایی مثل Panda3D یا Ursina میشه.
بازیهای معروفی با پایتون ساخته شدن؟
کم، ولی چند بازی مستقل و آموزشی باهاش ساخته شدن. بیشتر برای یادگیریه.
بازی با موس هم میشه ساخت؟
بله، Pygame از موس پشتیبانی کامل داره.
انیمیشن چطوری تو بازی پایتون ایجاد میشه؟
با تغییر مداوم اسپرایتها تو حلقهی بازی و زمانبندی فریمها.
برای ثبت نظر، حتما اسم و فامیل خود را به فارسی وارد کنید.
حتما ایمیل صحیح را وارد کنید تا در صورت بررسی کارشناسان، پاسخ برای شما ایمیل شود.
داخل متن کامنت کدهای برنامه نویسی قرار ندهید.
130نقد و بررسیها
عليرضا زارع
22 بهمن 1399
سلام چطوری بیرون از شبکه باید ریموت دستکاپ زد لطفا بگید؟ من میخوام از لب تاپ به کامپیوتر داخل خونه ریموت دستکاپ بزنم داخل یک نتورک نباشیم، یعنی بگید که چه کاری باید روی کامپیوتر ها انجام بدم که بتونم این کار بکنم اگه میتونید یک، ویدئو بسازید یا جواب بدید خیلی نیاز دارم
( 0 )
موافقم با دیدگاه
امیر
27 دی 1399
سلام اموزش خیلی خوبی بود.. لطفا اموزش بازی سازی سه بعدی رو هم بزارید .. خیلی ممنون
( 0 )
موافقم با دیدگاه
شایان
4 دی 1399
سلام ببخشید یه سوال داشتم با پای گیم میشه فیلم گذاشت توی برنامه؟ مثلا کدی داشته باشیم که توی اون ادرس فیلم رو بدیم بعد پایگیم پخشش کنه
( 1 )
موافقم با دیدگاه
محسن
27 آذر 1399
خیلی عالی بود ممنونم برای گذاشتن این دوره انشاالله دوره های زیاد تری ایجاد کنید.
( 0 )
موافقم با دیدگاه
سادات
26 آذر 1399
سلام دوره عالی بود فقط Kivey رو میشه درس بدین؟ بی نظیر میشه چون ما نداشتیم واقعا درست درومون فارسی شو
( 0 )
موافقم با دیدگاه
امیر
16 آذر 1399
عالی بود
( 0 )
موافقم با دیدگاه
محمدرضا
16 آذر 1399
سلام
واقعا سری بازی سازی گرافیکی با پایتون عالی بود ، من که لذت بردم. اونایی که ندیدن حتما ببینن!! من کلی تغییرات تو بازی ایجاد کردم. لطفا سری بازی سازی را ادامه بدید.
( 0 )
موافقم با دیدگاه
امیرحسین
8 آذر 1399
عالی بود امیرحسین جان لطفاً به تلاشات ادامه بده ما حمایتت میکنیم❤️❤️❤️
( 0 )
موافقم با دیدگاه
محمود
2 آذر 1399
خیلی ممنون عالی بود اما من بیشتر به دنبال بازی سازی سه بعدی میگردم. من توی این چند ماه اخیر با مراجعه به سایت های خارجی آموزش های panda3D رو تا حدی رسوندم اما نمیدونم چطوری فایل سه بعدی با پسوند egg بسازم
( 0 )
موافقم با دیدگاه
محمدامین
8 آبان 1399
سلام بله درسته ولی این کد های که نوشتی یک کتابخانه داره که می تونه عداد تصدفی تولید کنه اونم *form random import هست
( 0 )
موافقم با دیدگاه
الناز
5 مهر 1399
میشه اموزش php هم بزارید….خیلی عالی هستید
( 0 )
موافقم با دیدگاه
امین اجاقی
29 شهریور 1399
سلام استاد عزیزم امیرحسین معلمی بزرگوار بسیار خرسند و خشنود شدم از زمانی که با شما و سایت شما آشنا شدم و پکیج آموزشی پایتون را خریداری کردم بسیار زیبا پر امید و تخصصی آموزش می دهید پیگیری کامل شما در هر امر بسیار نیکو است با تشکر از آموزش های خوب و پر ارزشتان با تشکر درخواستی مبنی بر اینکه پایتون را کاملا آموزش دهید یعنی پکیج های آموزشی خودتان را در هر امر که شروع می کنید به کمال برسانید تا هیچ موضوعی جایش خالی نماند یعنی پایتون را در پکیجی کامل که تمام آموزه های پایتون را در بر دارد در اختیار ما بگذارید با تشکر. امین اجاقی
( 0 )
موافقم با دیدگاه
آیدان
23 شهریور 1399
ممنون ممنون اموزش های عالیتون یه سوال داشتم من کتابخانه ی pygame رو چطور توی Kali linux2020.3 نصب کنم لطفا جواب بدین
( 0 )
موافقم با دیدگاه
امیر
17 شهریور 1399
سلام واقعا عالی ولی میشه لطفا بگید با چه کدی شخصیت رو به بالا و پایین ببرم لطفا بگید و من هر صدایی که میزارم قبول نمیکنه چی کار کنم؟؟؟
( 0 )
موافقم با دیدگاه
امیر
15 شهریور 1399
سلام واقعا عالی ولی میشه لطفا بگید با چه کدی شخصیت رو به بالا و پایین ببرم لطفا بگید
( 0 )
موافقم با دیدگاه
سید
8 شهریور 1399
سلام ببخشید آقا امیر میخواستم بگم میشه بگین از کجا باید کدهای بازی رو پیدا کنم؟
( 0 )
موافقم با دیدگاه
نیما
6 شهریور 1399
میشه سورس اون بازی که اول نشون دادید رو بدید
( 0 )
موافقم با دیدگاه
سجاد
5 شهریور 1399
حرف نداشت.عالی. امیدوارم ادامه بدی.
( 0 )
موافقم با دیدگاه
امیر ماهان
24 مرداد 1399
واقعا عالی بود من فقط در حد متوسط پایتون بلدم اما با دیدن برنامه شما کامل همه چیز را فهمیدم. بسیار عالی
( 0 )
موافقم با دیدگاه
امیرحسین
12 مرداد 1399
خوب بود ولی یه سوال برام پیش اومد مشکل از منه کلا تابع گیم لوپو نمیخونه؟ 😐 اینجوری بگم کلا از بخش چهار به بعد دیگه کلا بازیمو باز هم نمیکنه در حد یه ثانیه باز میکنه بعد میبندش بعد ارور هم نمیده که بگه عیب از کجاست :|چکار کنم درست شه لطفا جواب بدید!
ما همیشه تاکید کردهایم که بهترین سرمایهگذاری، سرمایهگذاری روی خودتان است. سایت آموزشی نابغهها با هدف ارائه آموزشهای برنامه نویسی و لینوکس به شما در مسیر موفقیت کمک میکند. برای شما موفقیت و تجربهای مفید در سایت آرزو میکنیم.
ivahid Specialized and Professional Web Design &
Development Company