راهنمای ساخت بازی با پایتون

راهنمای ساخت بازی با پایتون

آنچه در این مقاله می‌خوانید

توسعه بازی با پایتون با استفاده از کتابخانه Pygame در این زبان برنامه‌نویسی امکان‌پذیر است که در ابتدا باید آن را روی سیستم خود نصب کنید. بعد از نصب و اضافه کردن این ماژول به کدهای پروژه پایتون خود در ابتدا نیازمند این هستید که زمینه بازی یا همان surface را روی صفحه نمایش ایجاد کرده و در ادامه می‌توانید اشیا دیگری را نیز به صفحه اضافه کنید. برای اضافه‌کردن تصاویر و اشیا می‌توانید از قابلیت‌های image و rect در کتابخانه Pygame استفاده کنید. در ادامه شما نیازمند ساخت حلقه اصلی بازی هستید که این حلقه می‌تواند رویدادهای بازی، تنظیم سرعت، ورودی‌های کاربران و بازیکنان و به‌روزرسانی اشیائی که در صفحه هستند را برای شما انجام دهد. اگر جز آن دسته از افراد هستید که به بازی علاقه مندید با شرکت در بوت کمپ پایتون و یادگیری این زبان میتوانید به یک توسعه دهنده بازی تبدیل شوید.

در نهایت وقتی که قصد دارید یک زمینه دیگر را برای بازی خود بسازید نیازمند این هستید که ابتدا این زمینه را ایجاد کرده و در قدم بعدی با استفاده از blit آن را به زمینه کنونی که در صفحه نمایش بازی شما وجود دارد اضافه کنید. در آموزش برنامه نویسی برای ساخت بازی ماشین با پایتون می‌توانید تمامی این موارد را بیاموزید و از آنها استفاده کنید.

زبان برنامه‌نویسی پایتون برای ساخت بازی

آموزش توسعه بازی با پایتون + کد پایتون برای ساخت بازی، به شما کمک می‌کند تا بتوانید از زبان برنامه‌نویسی پایتون که یکی از محبوب‌ترین زبان‌های برنامه‌نویسی برای بازی‌سازی است استفاده کرده و بازی‌های جذابی را ایجاد کنید. این زبان کتابخانه‌ها و ابزارهای متعددی را در زمینه بازی‌سازی و توسعه انواع بازی‌های کامپیوتری به شما ارائه می‌دهد. همین ابزارها نیز باعث می‌شوند تا فرایند ساخت بازی‌های مختلف با استفاده از زبان پایتون برای شما ساده‌تر شود. در بوت کمپ برنامه نویسی به طور کامل تری با همه این ابزار ها و کتابخانه ها آشنا میشوید.

استفاده از زبان پایتون برای بازی‌سازی می‌تواند مزایای زیر را برای شما به همراه داشته باشد:

  • این زبان برنامه‌نویسی دارای تکنولوژی‌های جدید و به‌روزی در زمینه بازی‌سازی است.
  • از تمامی قابلیت‌های موردنیاز شما برای بازی‌سازی از جمله شی‌گرایی پشتیبانی می‌کند.
  • یادگیری پایتون کاملا ساده و راحت است و نیازی به صرف زمان خیلی طولانی ندارد.
  • جامعه توسعه‌دهندگان بسیار بزرگی دارد که به تمامی سوالات شما در زمینه بازی‌سازی پاسخ می‌دهند.

استفاده از کتابخانه Pygame برای بازی‌سازی در پایتون

برای ساخت بازی با زبان برنامه‌نویسی پایتون، چندین کتابخانه و فریمورک وجود دارند که هرکدام ویژگی‌های خاص خود را دارند و می‌توانند به شما کمک کنند تا بازی‌های جذاب و کاربردی بسازید. در اینجا به برخی از محبوب‌ترین آن‌ها اشاره می‌کنم:

1. Pygame

  • ویژگی‌ها: Pygame یکی از پرکاربردترین و معروف‌ترین کتابخانه‌های پایتون برای ساخت بازی‌های 2D است. این کتابخانه ابزارهای زیادی برای مدیریت صدا، گرافیک، ورودی‌ها (مثل کیبورد و موس) و فیزیک بازی‌ها ارائه می‌دهد.
  • مزایا: رایگان و متن باز، جامعه کاربری بزرگ، مناسب برای پروژه‌های کوچک و آموزشی.
  • کاربرد: برای بازی‌های 2D از جمله بازی‌های کلاسیک و ساده.

2. Pyglet

  • ویژگی‌ها: Pyglet کتابخانه‌ای برای ساخت بازی‌های 2D و 3D است که از OpenGL برای گرافیک استفاده می‌کند. برخلاف Pygame، این کتابخانه نیازی به نصب هیچگونه وابستگی اضافی ندارد.
  • مزایا: کار با OpenGL، مناسب برای بازی‌های 3D، بدون وابستگی به پلتفرم خاص.
  • کاربرد: مناسب برای بازی‌های پیچیده‌تر یا آنهایی که به گرافیک‌های پیشرفته‌تری نیاز دارند.

3. Cocos2d (Python bindings)

  • ویژگی‌ها: Cocos2d یک فریمورک معروف برای توسعه بازی‌های 2D است که نسخه‌های مختلفی برای زبان‌های مختلف دارد، از جمله پایتون. این فریمورک امکاناتی مثل انیمیشن، فیزیک، برخوردها، و همچنین پشتیبانی از سیستم‌های مختلف ورودی را ارائه می‌دهد.
  • مزایا: مناسب برای بازی‌های پیچیده‌تر، دارای امکانات آماده برای برخورد و فیزیک.
  • کاربرد: برای بازی‌های 2D پیچیده و بزرگ.

4. Arcade

  • ویژگی‌ها: Arcade یک فریمورک ساده و سریع برای ساخت بازی‌های 2D است که مبتنی بر پایتون و OpenGL ساخته شده. این فریمورک امکانات خوبی برای گرافیک، انیمیشن و فیزیک بازی‌ها ارائه می‌دهد.
  • مزایا: کار با آن بسیار آسان است، برای مبتدیان مناسب است، دارای مستندات خوب.
  • کاربرد: مناسب برای پروژه‌های کوچک و میان‌رده، به ویژه برای تازه‌کارها.

5. Godot (Python bindings)

  • ویژگی‌ها: Godot یک موتور بازی‌سازی قوی است که امکان استفاده از زبان پایتون را از طریق بسته‌های اضافی فراهم می‌کند. این موتور برای بازی‌های 2D و 3D استفاده می‌شود و امکانات پیشرفته‌ای مانند گرافیک پیشرفته، فیزیک و شبکه را ارائه می‌دهد.
  • مزایا: رایگان و متن باز، قابلیت توسعه برای پلتفرم‌های مختلف، جامعه کاربری فعال.
  • کاربرد: برای بازی‌های حرفه‌ای‌تر، از جمله بازی‌های 2D و 3D پیچیده.

6. Panda3D

  • ویژگی‌ها: Panda3D یک موتور بازی‌سازی 3D متن باز است که برای ایجاد بازی‌ها و شبیه‌سازی‌های پیچیده طراحی شده است. این موتور از پایتون به عنوان زبان برنامه‌نویسی استفاده می‌کند و امکانات خوبی برای گرافیک 3D دارد.
  • مزایا: مخصوص بازی‌های 3D، بسیار قدرتمند و حرفه‌ای.
  • کاربرد: برای ساخت بازی‌های 3D با گرافیک پیچیده و نیاز به کار با فیزیک و انیمیشن‌های پیشرفته.

7. Kivy

  • ویژگی‌ها: Kivy بیشتر برای توسعه اپلیکیشن‌های گرافیکی و رابط کاربری (UI) استفاده می‌شود، اما می‌توان از آن برای ساخت بازی‌های ساده 2D نیز بهره برد. این کتابخانه برای برنامه‌های چندلمسی و استفاده در موبایل مناسب است.
  • مزایا: مناسب برای توسعه بازی‌های موبایلی، رابط کاربری قابل تنظیم.
  • کاربرد: برای بازی‌ها و اپلیکیشن‌های موبایلی ساده.

8. PyOpenGL

  • ویژگی‌ها: PyOpenGL یک بسته پایتون برای کار با OpenGL است. شما می‌توانید از این کتابخانه برای توسعه بازی‌های 3D با استفاده از OpenGL استفاده کنید.
  • مزایا: قدرت OpenGL، مناسب برای پروژه‌های 3D پیچیده.
  • کاربرد: برای توسعه بازی‌های 3D که نیاز به کنترل دقیق بر گرافیک دارند.

این کتابخانه‌ها و فریمورک‌ها می‌توانند به شما کمک کنند تا با توجه به نوع بازی و پیچیدگی آن، ابزار مناسب را انتخاب کنید و بازی‌های جذاب بسازید.

استفاده از کتابخانه Pygame برای بازی‌سازی در پایتون

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

در گام نخست برای استفاده از این کتابخانه شما باید مطمئن شوید که محیط مجازی آن را نصب کرده و خروجی زیر را دریافت کرده‌اید:

$ python3 -m venv mycode/venv

$ cd mycode

$ source ./venv/bin/activate

(venv)$

وقتی که در محیط مجازی قرار گرفتید می‌توانید خیلی راحت Pygame را در یک پوشه از پروژه خود نصب کنید که این کار به شکل زیر قابل انجام خواهد بود:

(venv)$ echo “pygame” >> requirements.txt

(venv)$ python -m pip install -r requirements.txt

[…] Installing collected packages: pygame

Successfully installed pygame-x.y.z

دقت داشته باشید که برای نصب این کتابخانه روی سیستم خود می‌توانید از دستور زیر نیز استفاده کنید:

$ pip install pygame

پیشنهاد مقالات: کار با ماژول در پایتون

حال برای این‌که بتوانید از این کتابخانه استفاده کنید می‌توانید فایلی با نام main.py را ایجاد کرده و کدهای زیر را به آن اضافه کنید تا این ماژول به کدهای شما اضافه شود و بتوانید از آن استفاده کنید:

import pygame

 

pygame.init()

 

screen = pygame.display.set_mode((960,720))

قطعه کد زیر می‌تواند نحوه استفاده از این کتابخانه را تا حدی به شما نشان دهد:

class Cup(pygame.sprite.Sprite):

def __init__(self):

pygame.sprite.Sprite.__init__(self)

 

# image

img = pygame.image.load(‘coffeecup.png’).convert()

self.image = img

 

# volume

self.rect = self.image.get_rect()

self.rect.x = 10

self.rect.y = 10

ساخت یک بازی مقدماتی با استفاده از Pygame

برای آموزش ساخت بازی با پایتون، اجازه دهید تا یک مثال ساده از نحوه استفاده از این کتابخانه برای ایجاد یک بازی کاملا ساده را مشاهده کنیم که به شکل زیر خواهد بود:

# Simple pygame program

 

# Import and initialize the pygame library

import pygame

pygame.init()

 

# Set up the drawing window

screen = pygame.display.set_mode([500, 500])

 

# Run until the user asks to quit

running = True

while running:

 

# Did the user click the window close button?

for event in pygame.event.get():

if event.type == pygame.QUIT:

running = False

 

# Fill the background with white

screen.fill((255, 255, 255))

 

# Draw a solid blue circle in the center

pygame.draw.circle(screen, (0, 0, 255), (250, 250), 75)

 

# Flip the display

pygame.display.flip()

 

# Done! Time to quit.

pygame.quit()

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

در ادامه نیز فرایندهای گرافیکی مربوط به ساخت بازی ساده با پایتون را انجام داده‌ایم تا شکل ظاهری بازی ما بهبود پیدا کند.

در کتابخانه Pygame به چه ابزارهایی دسترسی داریم؟

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

صفحه‌های نمایش و زمینه‌ها

Surface یکی از ابزارهای مهمی است که در این کتابخانه به شما ارائه شده و در ابتدایی‌ترین حالت یک ناحیه مستطیلی را به شما ارائه می‌دهد تا بتوانید اشکال مدنظر خود را روی آن ایجاد کنید. وقتی که قصد استفاده از این کتابخانه را دارید باید بدانید که همه چیز در یک ناحیه مستطیلی شکل توسط کاربر مشاهده می‌شوند که برای ساخت آن می‌توانید از دستور .set_mode() استفاده کنید. از طرف دیگر وقتی که این صفحه زمینه را ایجاد کردید می‌توانید با کدهایی همچون pygame.draw.circle() اقدام به ساخت اشکال دایره‌ای شکل یا سایر اشکال کنید.

پیشنهاد مقالات: نصب پایتون روی ویندوز 11

تصاویر و رکت‌ها

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

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

ساخت یک بازی جدید با استفاده از pygame در پایتون

ساخت یک بازی جدید با استفاده از pygame در پایتون

برای این‌که بتوانید اقدام به ساخت بازی گرافیکی با پایتون کنید نیازمند این خواهید بود که ابتدا تنظیمات اولیه را روی کتابخانه Pygame اعمال کنید که این کار را می‌توانید به شکل زیر انجام دهید:

# Import the pygame module

import pygame

 

# Import pygame.locals for easier access to key coordinates

# Updated to conform to flake8 and black standards

from pygame.locals import (

K_UP,

K_DOWN,

K_LEFT,

K_RIGHT,

K_ESCAPE,

KEYDOWN,

QUIT,

)

 

# Initialize pygame

pygame.init()

 

# Define constants for the screen width and height

SCREEN_WIDTH = 800

SCREEN_HEIGHT = 600

 

# Create the screen object

# The size is determined by the constant SCREEN_WIDTH and SCREEN_HEIGHT

screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))

حال باید حلقه‌ای را ایجاد کنید که برای گیم پلی بازی و مدیریت آن از این حلقه استفاده کنید. چنین حلقه‌ای می‌تواند ورودی‌های کاربر را پردازش کرده و بر این اساس وضعیت اشیائی که در بازی قرار دارند را به‌روزرسانی کند. از طرف دیگر مدیریت خروجی صدا و صفحه نمایش و همین‌طور تنظیم سرعت بازی نیز برعهده همین حلقه خواهد بود. برای مثال قطعه کد زیر را مشاهده کنید که برخورد بازیکنان با مانع، پردازش ورودی‌ها و مواردی از این قبیل را خیلی راحت انجام می‌دهد:

# Variable to keep the main loop running

running = True

 

# Main loop

while running:

# Look at every event in the queue

for event in pygame.event.get():

# Did the user hit a key?

if event.type == KEYDOWN:

# Was it the Escape key? If so, stop the loop.

if event.key == K_ESCAPE:

running = False

 

# Did the user click the window close button? If so, stop the loop.

elif event.type == QUIT:

running = False

حال برای این‌که بتوانید صفحه نمایش خود را به‌صورت کامل به کاربر نمایش دهید، می‌توانید از قطعه کد زیر استفاده کنید:

# Fill the screen with white

screen.fill((255, 255, 255))

 

# Create a surface and pass in a tuple containing its length and width

surf = pygame.Surface((50, 50))

 

# Give the surface a color to separate it from the background

surf.fill((0, 0, 0))

rect = surf.get_rect()

گاهی اوقات ممکن است شما بخواهید یک زمینه جدید را ایجاد کنید. در این شرایط نباید فراموش کنید که ایجاد این زمینه کافی نخواهد بود و شما باید آن را روی یک زمینه دیگر blit کنید. قطعه کد زیر نحوه انجام این کار را به شما آموزش می‌دهد.

# This line says “Draw surf onto the screen at the center”

screen.blit(surf, (SCREEN_WIDTH/2, SCREEN_HEIGHT/2))

pygame.display.flip()

 

# Put the center of surf at the center of the display

surf_center = (

(SCREEN_WIDTH-surf.get_width())/2,

(SCREEN_HEIGHT-surf.get_height())/2

)

 

# Draw surf at the new coordinates

screen.blit(surf, surf_center)

pygame.display.flip()

بازی که شما در زبان برنامه‌نویسی پایتون ایجاد می‌کنید قطعا نیازمند بازیکنانی نیز خواهد بود. برای این‌که بتوانید این بازیکنان را در کدهای خود ایجاد کنید می‌توانید از قطعه کد زیر کمک بگیرید:

# Define a Player object by extending pygame.sprite.Sprite

# The surface drawn on the screen is now an attribute of ‘player’

class Player(pygame.sprite.Sprite):

def __init__(self):

super(Player, self).__init__()

self.surf = pygame.Surface((75, 25))

self.surf.fill((255, 255, 255))

self.rect = self.surf.get_rect()

در نهایت باید بدانید بازی شما نیازمند این خواهد بود که ورودی‌هایی را از کاربر دریافت کند. در چنین شرایطی شما می‌توانید خیلی راحت از کد زیر استفاده کرده و ورودی‌های موردنیاز را از کاربر دریافت کرده و آنها را روی بازی خود اعمال کنید:

# Get the set of keys pressed and check for user input

pressed_keys = pygame.key.get_pressed()

# Move the sprite based on user keypresses

def update(self, pressed_keys):

if pressed_keys[K_UP]:

self.rect.move_ip(0, -5)

if pressed_keys[K_DOWN]:

self.rect.move_ip(0, 5)

if pressed_keys[K_LEFT]:

self.rect.move_ip(-5, 0)

if pressed_keys[K_RIGHT]:

self.rect.move_ip(5, 0)

به این ترتیب، شما می‌توانید با موفقیت فرایند ساخت یک بازی به کمک زبان برنامه‌نویسی پایتون را طی کنید و انتظار نتایج مطلوبی را نیز از بازی خود داشته باشید.

سخن پایانی

امروزه توسعه بازی با پایتون کاملا امکان‌پذیر است و این زبان برنامه‌نویسی به شما اجازه می‌دهد تا از ابزارهایی که توسط کتابخانه pygame به شما ارائه می‌شوند استفاده کرده و بهترین و جذاب‌ترین بازی‌های کامپیوتری را با استفاده از آن ایجاد کنید. برای این‌که بتوانید با استفاده از زبان پایتون بازی‌سازی کنید بهتر است حتما در دوره‌های آموزش زبان پایتون شرکت کنید. با استفاده از خدمات مجموعه بامداد نه‌تنها می‌توانید با این موضوع آشنا شوید؛ بلکه می‌توانید اطلاعات مختلف زیادی در زمینه برنامه‌نویسی پایتون مانند آموزش کار با پایتون در vscode به صورت قدم به قدم را نیز به دست بیاورید که بدون شک برای شما مفید و کاربردی خواهد بود.

فرانت‌اند چیست؟ فرانت‌اند کار کیست؟
فرانت‌اند چیست؟ فرانت‌اند کار کیست؟
حتماً شما هم از کسانی که همیشه رو بازی می‌کنند و صادق‌اند،…
برنامه نویسی اپلیکیشن
برنامه نویسی اپلیکیشن
زبان‌های مخصوص برنامه نویسی اپلیکیشن، به طور کلی به دو دسته زبان‌های…
گیت هاب github چیست؟
گیت هاب github چیست؟
گیت، یک سیستم کنترل ورژن اوپن سورس یا VCS (مخفف Version Control…
فرانت‌اند چیست؟ فرانت‌اند کار کیست؟
فرانت‌اند چیست؟ فرانت‌اند کار کیست؟
حتماً شما هم از کسانی که همیشه رو بازی می‌کنند و صادق‌اند،…
برنامه نویسی اپلیکیشن
برنامه نویسی اپلیکیشن
زبان‌های مخصوص برنامه نویسی اپلیکیشن، به طور کلی به دو دسته زبان‌های…

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

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