1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài tập lớn Python phát triển game GHOSTBUSTERS

14 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài tập lớn Python phát triển game Ghostbusters
Trường học Đại học Công nghệ Thông tin - Đại học Quốc gia TP.HCM
Chuyên ngành Phát triển Game và Trò chơi Điện tử
Thể loại Bài tập lớn
Năm xuất bản 2023
Thành phố TP.HCM
Định dạng
Số trang 14
Dung lượng 908,41 KB
File đính kèm Bài tập lớn Python phát triển game GHOSTBUSTERS.zip (851 KB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài tập lớn Python phát triển game GHOSTBUSTERS sẽ giúp cho sinh viên có thể tham khảo cách để phát triển các tính năng như nhân vật, map, vật phẩm,... trong game GHOSTBUSTERS nói rieng và game nói chung

Trang 1

Lời nói đầu

Python là ngôn ngữ lập trình phổ biến và đa dạng, nó ứng dụng rất nhiều trong thời buổi công nghệ phát triển ngày nay, trong đó có ngành phát triển game Đây là thể loại game đa dạng và phổ biến với sự phát triển và kết hợp giữa ngôn ngữ lập trình mạnh mẽ của python và các thư viện đa dạng như Pygame, chúng em đã phát triển từ mã nguồn gốc

có sẵn để tạo lên một trò chơi hoàn chỉnh và đặc sắc hơn Do đây mới chỉ là thành quả bọn

em nghiên cứu, hợp tác và phát triển nên còn rất nhiều thiếu sót cũng như nhiều thứ không hiểu phải nhờ cũng như tham khảo cách làm từ nhiều nguồn nên còn nhiều hạn chế, mong thầy thông cảm

Trang 2

Mục lục:

I Giới thiệu……….4

II Phương pháp nghiên cứu và cải tiến ……… 4

III Cơ chế hoạt động và cách chơi………7

IV Kết luận……… 14

V Tài liệu tham khảo……….15

VI Phân công nhiệm vụ ……….15

Trang 3

I Giới thiệu:

- GhostButterV1 là một trò chơi điện tử hành động với cốt truyện hấp dẫn, đồ họa 2D đẹp mắt và lối chơi đầy thử thách Trong trò chơi này, người chơi sẽ nhập vai 1 thành viên trong nhóm Ghostbusters – những người diệt quỷ đang trải qua những cuộc phiêu lưu đầy mạo hiểm để tiêu diệt những con ma, quỷ dữ và hồn ma đang hoành hành khắp nơi

- Với đội ngũ Ghostbusters chuyên nghiệp và trang thiết bị hiện đại, người chơi sẽ phải khám phá, điều tra và chống lại các hoạt động siêu nhiên đáng sợ trong những địa điểm khác nhau Họ sử dụng những vũ khí độc đáo và các kỹ năng đặc biệt, người chơi sẽ phải đối mặt với những thách thức và giải quyết những bí ẩn hết sức nguy hiểm

- Ngoài cốt truyện chính, GhostBusterv1 cũng có nhiều sự lựa chọn nhân vật đa dạng cho phép người chơi thỏa sức khám phá và tận hưởng trải nghiệm chơi game Đồ họa được thiết kế đơn giản nhưng đẹp mắt và ấn tượng, đặc sắc khiên người chơi gần như sống trong thế giới game đầy cảm xúc

- GhostBustersv1 là 1 tựa game hoàn hảo cho những người yêu thích thể loại game hành động, đem lại trải nghiệm đáng nhớ và căng thẳng đến từng giây phút chơi game Sẵn sàng đối đầu với những hồn ma tội ác và trở thành người hung tiêu diệt

ma quỷ trong thế giới của GhostBustersV1

II Phương pháp nghiên cứu và cải tiến:

a Phương pháp nghiên cứu

- Với mã nguồn được lấy từ Github, chúng em nghiên cứu và phát triển, tạo ra con game hoàn chỉnh hơn và hấp dẫn hơn

- Từ mã nguồn chính, chúng em them vào một số nhân vật cũng như hiệu ứng kỹ năng, them vào các màn chơi cũng như các hoạt động, cách di chuyển của nhân vật cũng như của các hồn ma trong trò chơi

- Mã nguồn mới được phát triển hầu hết dựa vào mã nguồn chính, chủ yếu xoay quanh pygame( thư viện của Python dùng để phát triển game ), sử dụng các công cụ, chức năng của pygame để tạo đồ họa, âm thanh, xử lý dữ liệu người dùng, tương tác với các thành phần khác trong trò chơi như cửa sổ, chuột, các phím và hệ thống vật lý

Trang 4

- Về phần dữ liệu chúng em sử dụng thư viện JSON được tích hợp sẵn trong thư viện chuẩn của Python cho phép các ứng dụng python có thể trao đổi dữ liệu với các ứng dụng khác, đọc và ghi dữ liệu dưới định dạng JSON

- Về cấu hình, sử dụng module ConfigParser xử lý phân cấp, chia nhóm và truy cập các giá trị cấu hình, giúp tách biệt giữa dữ liệu cấu hình và mã nguồn của chương trình game

- Pickle: serialize và deserialize, chuyển đổi các đối tượng thành dạng dữ liệu nhị phân có thể lưu trữ trên đĩa hoặc truyền qua mạng và sau đó đọc lại và chuyển đổi trở lại thành các đối tượng

- Pygame.init(): khởi tạo môi trường pygame và chuẩn bị các module cần thiết để sử dụng trong pygame

- Pygmae.display.set_model(): sử dụng để tạo một cửa sổ đồ họa cho trò chơi Cấu hình các thông số kích thước, độ phân giải và chế độ màn hình

- Pygame.display.update(): sử dụng để cập nhật nội dung của cửa sổ đồ họa hiện đồ họa hiển thị lên màn hình

- Pygame.event.get(): sử dụng xử lý sự kiện, bàn phím, chuột và cửa sổ trả về danh sách các đối tượng sự kiện cho phép kiểm tra và xử lý các sự kiện trong trò chơi

- Pygame.draw: cung cấp các hàm để vẽ hình học đơn giản, vẽ các đối tượng đồ họa trên cửa sổ pygame

- Pygame.image: cung cấp hàm xử lý ảnh, vẽ hình ảnh lên cửa sổ pygame,

- Pygame.sprite: cung cấp cơ chế để quản lý vẽ các đối tượng đồ họa động các đối tượng được vẽ lên màn hình pygame và có thể được di chuyển, xử lý va chạm,

- Pygame.time: cung cấp các hàm để xử lý thời gian trong trò chơi

- Pygame.font: cung cấp hàm để làm việc với phông chữ

- Về phần nhân vật, một số nhân vật có sẵn trong mã nguồn gốc của chương trình, cùng với các hiệu ứng kỹ năng, cách di chuyển, vũ khí là do mã nguồn gốc cung cấp, ngoài ra, bọn em có tự tay thiết kế them một số nhân vật với các kỹ năng cũng như cách di chuyển, chuyển động khác để tăng them phần trải nghiệm cho trò chơi

- Sử dụng hàm reset_level(level): để đặt lại cấp độ game, xóa các đối tượng trong

game, tải lại dữ liệu của cấp độ và tạo lại thế giới của cấp độ trong game

- Sử dụng hàm get_info_plater(type_): để lấy thông tin nhân vật trong game trên loại type_ của nhân vật đó như các tệp cấu hình được lưu trữ, đối tượng đọc cấu

Trang 5

hình, nơi lưu trữ thông tin nhân vật, các thuộc tính của nhân vật, hình ảnh, kỹ năng của nhân vật,…

- Sử dụng hàm reset_player(): dùng để thiết lập lại trạng thái của nhân vật trong

game bao gồm các cập nhật thông tin của nhân vật từ tệp cấu hình và tạo lại đối tượng nhân vật từ lớp tương ứng, cũng như khởi tạo lại các biến liên quan đến trạng thái di chuyển của nhân vật

- Sử dụng hàm load_data_continue_pre_game(): dùng để lưu trữ dữ liệu trạng thái

của trò chơi từ tệp tin lưu trữ, đồng thời cập nhật lại thông tin nhân vật trong game

như level, health, grenades, scoures,

- Sử dụng hàm draw_image_skill: để tạo hình ảnh kỹ năng và thời gian hồi chiêu

của các kỹ năng của từng nhân vật trong trò chơi sử dụng một số hàm và lớp có sẵn

trong pygame được sử dụng như pygame.draw.rect(), pygame.sprite.Group(),

pygame.event.get(),… Để duyệt những sự kiện, tạo hình trên bề mặt trò chơi, …

- Giao diện đồ họa 2D hầu như giữ nguyên so với mã nguồn gốc, chúng em them một

số màn chơi cũng như các tính năng qua màn, hi sinh và tính điểm, sắp xếp lại một

số bố cục không hợp lý ở mã nguồn gốc cũng như tăng tính hài hòa về màu sắc, âm thanh, tạo cho người chơi có thể hòa nhập vào game một cách dễ dàng hơn

- Tất cả những gì mà chúng em thêm vào so với mã nguồn gốc đều có sự trao đổi và nhất trí của tất cả các thành viên trong nhóm, mặc dù nhiều chỗ chúng em chưa hiểu

và cũng chưa thể chữa lỗi nhưng chúng em đã biết cách tạo nhân vật cũng như một giao diện đồ họa đơn giản

b Các cải tiến đã thực hiện

 Game ban đầu:

 Không có thống kê điểm người chơi

 Không thể tạm dừng khi bắt đầu

 Không có giao diện chọn nhân vật

 Không thể lưu game và tiếp tục chơi

 Màn hình chờ không có thao tác sử dụng nhân vật

Trang 6

 Đã được cải tiến

- Cách chơi:

 Game ban đầu:

 Chỉ có 1 nhân vật (Snow)

 Nhân vật chỉ tấn công được bên trái

 Không có thời gian chơi

 Không có điểm vòng chơi

 Không thống kê lần chết

- Màn chơi: Chỉ có 1 giao diện màn chơi

Trang 7

III Cơ chế hoạt động, cách chơi

- Mô tả lại về game: Game GhostBustersV1 là thể loại game hành động nhập vai, người chơi sẽ nhập vai vào 1 trong những thành viên của quân đoàn GhostBuster để tiến hành cuộc phiêu lưu diệt quỷ của mình của mình Trong chuyển phiêu lưu săn quỷ, chúng ta sẽ gặp những con quỷ và nhiệm vụ phải tiêu diệt chúng mới được tiếp tục cuộc hành trình

- Giao diện bắt đầu trò chơi:

- Từ giao diện chính của trò chơi, chúng ta có 3 phần: continue, play, scoreboard, controls, exit

 Continue: tiếp tục khi người chơi dừng trò chơi

 Play: bắt đầu trò chơi mới:

 Chọn nhân vật: Mỗi nhân vật, có các thuộc tính, vũ khí, chiêu thức riêng, người chơi

có thể xem được sức tấn công, cách di chuyển, cách dùng chiêu thức trước khi chọn chúng ta có 5 nhân vật: Snow, Ignis, warrior, Knight, Archer

 Snow:

Trang 8

 Ignis:

 Warrior:

Trang 9

 Knight:

 Archer:

Trang 10

 Sau khi lựa chọn được nhân vật, người chơi ấn Select để bắt đầu:

 Màn hình bắt đầu:

Trang 11

 Trên màn hình có hiện lên số mạng chết, cấp độ(màn), điểm số đạt được, số mạng còn lại, kỹ năng

Số mạng chết:

Cấp độ:

Số điểm đạt được:

Thời gian chơi:

Kỹ năng nhân vật:

+ Snow:

+ Ignis:

+ Warrior: 2 kỹ năng

+ Knight:

+ Archer:

 Các hồn ma:

 Các viên đá quý:

 Các bình thuốc :

 Và các chướng ngại vật:

Trang 12

 Người chơi sử dụng nhân vật đã chọn để đi tiêu diệt những hồn ma cùng với việc thu thập đá quý để nâng cao điểm số của mình, trò chơi có rất nhiều màn chơi, người chơi tiêu diệt hết hồn ma để qua màn, tạo cho người chơi 1 cuộc phiêu lưu gay cấn

và cam go

 Scorebroad ( điểm số và xếp hạng ): tại đây, người chơi có thể xem điểm số và xếp hạng của mình sau mỗi lượt chơi

 Controls ( hướng dẫn cách chơi ):

Trang 13

- Người chơi sử dụng các phím lên xuống, sang trái sang phải để điều khiển nhân vật của mình, sử dụng phím Space để sử dụng kỹ năng, sử dụng phím Q để dừng trò chơi và trở về màn hình chính

 Cuối cùng là exit: khi muốn thoát trò chơi, người chơi chỉ cần về màn hình chính và

ấn vào nút exit để thoát trò chơi

IV Kết luận:

GhostButtersV1 là một tựa game phiêu lưu mạo hiệm được phát triền bằng ngôn ngữ lập trình Python, ngôn ngữ lập trình phổ biến và vô cùng đa dạng

- Nội dung hấp dẫn : Game có nội dung và cốt truyện cùng với mục tiêu rõ rang và

có thử thách nhất định cho người chơi

- Tính đa dạng và phong phú: Game có nhiều tính năng cũng như lựa chọn nhân vật

đa dạng với nhiều ohong cách chơi giúp người chơi có thể trải nghiệm

- Đồ họa và âm thanh hấp dẫn: với đồ họa 2D đẹp mắt cùng với âm thanh bắt tai tạo

sự hài hòa cho trò chơi

Trang 14

- Trò chơi có phần tính điểm cũng như xếp hạng sau mỗi lần chơi tạo sự thử thách lớn cho người trải nghiệm

Ngày đăng: 03/07/2023, 02:19

w