Lập trình, phát triển phần mềm đã khó nhưng phát triển game thậm chí còn khó khăn hơn nhiều. Python là một ngôn ngữ tuyệt vời bởi code của nó rất dễ đọc. Nếu đã quen thuộc với Python bạn sẽ thấy nó rất gần với tiếng Anh.
Với những nhà phát triển muốn lập trình game với Python, Pygame Zero sẽ là một trợ thủ đắc lực. Trong bài viết này, Quản Trị Mạng sẽ cùng với các bạn tìm hiểu Pygame Zero là gì và nó có thể làm được những gì?
Pygame Zero là gì?
Pygame Zero được tạo ra để cung cấp trải nghiệm code game tốt hơn cho các lập trình viên Python. Với Pygame Zero, bạn có thể bỏ qua việc tạo lại các code phổ biến và dành thời gian đó cho việc sáng tạo.
Sử dụng Pygame Zero, bạn có thể thử nghiệm các họa tiết hình ảnh và thiết kế game của mình mà không cần lo lắng quá nhiều về các chi tiết ở cấp độ thấp.
Cài đặt Pygame Zero
Các distro Linux và phiên bản macOS mới hơn đều có sẵn Python. Tuy nhiên, bạn sẽ không thể cài Pygame Zero nếu như đang dùng phiên bản Python lỗi thời. Chính vì thế, bạn cần kiểm tra phiên bản Python sau đó cập nhật phiên bản mới nhất nếu cần.
Bạn kiểm tra phiên bản Python bằng lệnh:
python3 --version
Sau đó, tiến hành cài đặt PIP bằng các lệnh sau (tùy theo distro):
apt install python3-pip # Debian
dnf install python3-pip # Fedora
Bây giờ, sau khi đã cài bản Python mới nhất, bạn tiến hành cài đặt Pygame Zero bằng câu lệnh:
pip3 install pgzero
Sau khi cài xong Pygame Zero, bạn đã sẵn sàng để tạo ra tựa game đầu tiên của mình.
Sáng tạo với Pygame Zero
Để làm quen với Pygame Zero, bạn có thể tham khảo các hướng dẫn và ví dụ trên repo GitHub của nhà phát triển Daniel Pope (Lord Mauve). Tại đây, bạn sẽ tìm thấy nhiều ví dụ thú vị như game Pong, Tetris, Mines... kèm theo đó là hình ảnh để làm tài liệu và code mẫu...
Tiếp theo, bạn nên tải xuống dự án phát triển game chú ma ngoài hành tinh siêu nhỏ từ GitHub về để tiện cho việc tìm hiểu sâu hơn ở phần sau. Dự án này có phần code Python được ghi chú một cách kỹ càng và file README.md giải thích rõ các yếu tố phụ thuộc mà bạn cần.
Tổng quan về các chức năng của Pygame Zero
Bạn có thể tải một chú ma bằng cách chuyển phần cơ sở của tên tệp của nó tới lớp Actor. Ví dụ: Để tải file hình ảnh images/alien.png bạn cần nhập lệnh sau:
alien = Actor('alien')
Bạn có thể sử dụng hàm draw() để cho máy tính biết những gì cần vẽ trên màn hình. Với những chú ma, âm thanh và code của bạn trong cấu trúc thư mục chính xác, bạn có thể tránh được các phiền phức với cú pháp bổ sung. Ví dụ, bạn có thể hiển thị chú ma ngoài hành tinh như sau:
def draw():
screen.clear()
alien.draw()
Bạn có thể sử dụng hàm update() để di chuyển những chú ma:
def update():
alien.left += 2
if alien.left > WIDTH:
alien.right = 0
Pygame sẽ gọi hàm update() trên mỗi khung. Code này yêu cầu máy tính dịch chuyển chú ma ngoài hành tinh sang bên phải cho đến khi nó ra khỏi mép màn hình. Tại thời điểm đó, nó đặt lại vị trí ở phía bên trái. Quá trình này lặp lại cho tới khi bạn đóng cửa sổ hoặc nhấn Ctrl + C trong terminal để kết thúc chương trình.
Bạn có thể thêm các yếu tố thú vị bằng cách sử dụng hàm on_mouse_down(). Sử dụng hàm này để kiểm tra xem con trỏ chuột có nhấn vào vị trí của chú ma ngoài hành tinh hay không. Xuất ra phản ứng phù hợp và thay đổi chú ma ngoài hành tinh sang hình ảnh alient_hurt.png.
Bây giờ, bạn đã có một game bắn mục tiêu đơn giản nhưng hoạt động tốt. Bạn chạy game bằng lệnh pgzrun intro.py. Hãy nhớ rằng phải nhấp trúng vào nhân vật chú ma ngoài hành tinh nhé.
Tìm cảm hứng sáng tạo
Khi mới bắt đầu, bạn sẽ cảm thấy khó khăn và đôi lúc không biết bắt đầu từ đâu. Dưới đây là một số ý tưởng có thể giúp bạn tìm được cảm hứng sáng tạo.
Paperchase
Dưới đây là demo nhanh tựa game rượt đuổi của hai nhân vật người que.
Nền tảng 2D với các tính năng ưa thích
Video hướng dẫn chuyên sâu này kéo dài khoảng 2 tiếng. Tuy nhiên, nó là một video tuyệt vời dành cho bạn khi bạn đã sẵn sàng vượt ra ngoài những kiến thức lập trình game cơ bản.
Quản Trị Mạng hy vọng rằng bài viết này sẽ có ích với các bạn!