آموزش بازیسازی گرافیکی با 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نقد و بررسیها
محمدمهدی
12 تیر 1399
سلام من میخوام دوتا متن بعد از باخت نمایش داده بشه زیر هم و یکی کوچک و یکی بزرگتر باید چکار کنم
( 0 )
موافقم با دیدگاه
حسین
20 اردیبهشت 1399
زبونم که نتونست ازت تشکر کنه همین طور دستام موقع نوشتن تنها میتونم یه کار بکنم نقطه بزارم تا هرکی با بزرگی خودش تورو تحسین اقا امیرحسین.
( 0 )
موافقم با دیدگاه
حسین
19 اردیبهشت 1399
سلام دمت گرم واقعا خوبن فیلمات Cmder من هر کاری میکنم پایتون رو نمیشناسه چیکار کنم ؟
( 0 )
موافقم با دیدگاه
علی بهزاد
6 اردیبهشت 1399
سلام ، استاد چه کتابی برای تمرین پایتون پیشنهاد میدید که توش تمرین های کاربردی پایتون توش باشه؟
( 0 )
موافقم با دیدگاه
پارسا
31 فروردین 1399
من یه سوال دارم چجوری از یه شکل دیگه استفاده کنم؟(منظورم اینه که مثلا اگه امتیاز به پونزده رسید ، همراه با مربع ، یه شکل دیگه هم بیاد) ممنون میشم کمک کنید با تشکر از ویدیو های عالیتون
( 0 )
موافقم با دیدگاه
علی
13 فروردین 1399
فایل هارو نمیشه دانلود کرد
( 0 )
موافقم با دیدگاه
رسول
1 فروردین 1399
سلام بعضی از سوالات برامان پیش میاد که از استاد معلم می خوایم بپرسیم . نمیدانیم به چه ادرس یاایدی تلگرامی یفرستیم. لطفا ادرس یا ایمیل اساتید را بدییییید
( 0 )
موافقم با دیدگاه
علی
7 اسفند 1398
عالی بود. من بیشتر از صدات خوشم میاد و راحت تر یاد میگیرم عالیه
( 0 )
موافقم با دیدگاه
باربد
1 اسفند 1398
سلام استاد من خیلی وقت نمیشه کا ر با pygame رو شروع کردم یک سوال داشتم برای رویداد برخورد با شکل (collidepoint) میخواستم بدونم چگونه میشود همچین کاری رو با عکس انجام داد چون ظاهرا collidepoint فقط برای شکل کار میکنه ممنون از تدریس خوبتون
( 0 )
موافقم با دیدگاه
علی
16 بهمن 1398
دمت گرم خیلی عالیه
( 0 )
موافقم با دیدگاه
ابوالفضل کریمی
7 بهمن 1398
دمت گرم امیر حسین
( 0 )
موافقم با دیدگاه
محمد
19 دی 1398
عالیییییییییییییییییییییییییییییییییییییییییییییییی هم این آموزش و هم لینوکس
( 0 )
موافقم با دیدگاه
گیو
19 دی 1398
بسار عالی ۲۲ سال است که برنامه نویس هستم و با زبان هایی چون vb6 شروع کردم هیچ زمان در این چند سال اموزش فارسی در مورد بازی سازی که توضیح دقیقی داشته باشه ندید ه بود اموزش زیاد هست ولی توضیح کامل و قابل فهمیدن در اموزش شرط است که شما به ان مسلط هستین امیدوارم که همین گونه ادامه دهید و روز به روز کامل تر و مسلط تر شوید و اموزش هایی از این دست رو بیشتر بیشتر کنید چون فیلد بازی سازی همیشه و همه وقت قابل توجه بوده بنده خودم اولین بار با ساخت بازی مین روب که در ویندوز ۳.۱ بوده در محیط vb6 شروع کردم و وقتی برای اولین بار بازی را اجرا کردم از خوشحالی ۱۰ ساعت بازی کردم طبق تجربه من در این چند سال بهترین گزینه که به علاقمندی و فروش پکیج ها کمک می کنه انتخاب همین موضوع ساخت بازی است امیدوارم ادامه دهید اگر کمکی هم از دست من بر بیاد خوشحال میشم برای پیش رفت این کار انجام دهم . سر بلند و پیروز باشید
( 0 )
موافقم با دیدگاه
سعید
15 دی 1398
سلام خسته نباشد. آموزش بسیار عالی و آموزنده بود درخواستی دارم: اگر امکانش هست آموزشی در رابطه با طریقه ساخت بازی مثل اتللو و دوز و … با الگوریتم های هوش مصنوعی آماده نمایید. با تشکر
( 0 )
موافقم با دیدگاه
سینا
11 دی 1398
عالی بود واقعا دمتون گرم بابت شیوه ی آموزش تون perfect
ما همیشه تاکید کردهایم که بهترین سرمایهگذاری، سرمایهگذاری روی خودتان است. سایت آموزشی نابغهها با هدف ارائه آموزشهای برنامه نویسی و لینوکس به شما در مسیر موفقیت کمک میکند. برای شما موفقیت و تجربهای مفید در سایت آرزو میکنیم.
ivahid Specialized and Professional Web Design &
Development Company