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

Đồ án xây dựng game chiến thuật thủ thành

89 3 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

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM ĐỒ ÁN XÂY DỰNG GAME CHIẾN THUẬT THỦ THÀNH GV HƯỚNG DẪN: TRẦN THỊ HỒNG YẾN SV THỰC HIỆN: 19521700 – TRẦN ANH KHOA 19521256 – THÁI CHÍ BẢO TP HỒ CHÍ MINH, 2013 LỜI CẢM ƠN Để hồn thành dự án cho môn Đồ án này, chúng em xin gửi lời cảm ơn chân thành đến ThS Trần Thị Hồng Yến tận tình giúp đỡ, định hướng cách tư cách làm việc khoa học Đó góp ý q báu khơng q trình thực đồ án mơn học mà hành trang tiếp bước cho chúng em q trình học tập thực khóa luận tốt nghiệp sau Trong trình làm đồ án chúng em không tránh khỏi sai sót, chúng em kính mong nhận dẫn góp ý để đồ án hồn thiện Chúng em xin chân thành cảm ơn Xin chúc điều tốt đẹp đồng hành TP.HCM, tháng năm 2023 Nhóm sinh viên thực TRẦN ANH KHOA – THÁI CHÍ BẢO MỤC LỤC TÓM TẮT ĐỒ ÁN Chương GIỚI THIỆU ĐỀ TÀI .3 Tổng quan: 1.1.1 Phân tích đánh giá hướng nghiên cứu có tác giả ngồi nước: 1.1.2 Vấn đề tồn tại: 1.1.3 Vấn đề cần tập trung, nghiên cứu giải : Lý chọn đề tài: .4 Mục đích: Đối Tượng: Phạm vi nghiên cứu: Chương CƠ SỞ LÍ THUYẾT: Công nghệ Godot: .8 2.1.1 Godot gì? 2.1.2 Tại nên sử dụng Godot: 2.1.3 Nghiên cứu áp dụng Godot đồ án: .9 Tiền tệ: Hệ thống Trận đấu (Battle System): Thiết lập trận đấu: 10 2.4.1 Power scale (power_scale): 11 2.4.2 Spawn patterns (spawn_patterns): 11 2.4.3 Boss (bosses): 11 2.4.4 Phương pháp truy cập liệu trận đấu: 12 Bản đồ (Map): 13 2.5.1 Các node chơi: 13 2.5.2 Dãy bảng tên: .13 2.5.3 Các nút định hướng: 13 2.5.4 Phương pháp liên kết liệu thành phần: 13 Nâng cấp: 14 2.6.1 Ô nâng cấp: .14 2.6.2 Thanh thông tin: .14 2.6.3 Nút Mở khóa/Nâng cấp: 14 2.6.4 Phương pháp truy cập liệu sản phẩm: 14 Kỹ năng: 15 2.7.1 Mưa cầu lửa: .15 2.7.2 Đường Sấm Chớp: 15 2.7.3 Trống Trận Cẩu Sơn: 16 2.7.4 Hồi Máu Thành: .16 2.7.5 Tăng Sức Mạnh: .16 Nội tại: 17 2.8.1 Năng suất Lao động: .17 2.8.2 Sức chứa Kho bạc: 17 2.8.3 Sức chống cự Thành Chó: 17 2.8.4 Nghiên cứu phát triển: 18 Nhân vật: 18 2.9.1 Xây dựng AI cho nhân vật sử dụng Finite State Machine: 19 2.9.2 Phương pháp xác định tầm ảnh hưởng đòn đánh: 20 2.9.3 Xác định tầm ảnh hưởng đòn đánh custom_attack_area: 21 2.9.4 Nhân vật – Chó: 22 2.9.5 Nhân vật – Mèo: .22 Chương PHÂN TÍCH THIẾT KẾ HỆ THỐNG GAME 24 Sơ đồ Use case 24 Danh sách Actor .24 Danh sách Use case 25 Danh sách đặc tả Use case 26 Phân tích thiết kế sở liệu 54 Mô tả liệu 55 Chi tiết liệu 56 Chương XÂY DỰNG GAME .62 Xây dựng đồ họa game: 62 4.1.1 Đồ họa nhân vật game: 62 4.1.2 Đồ họa hình ảnh game: .64 Xây dựng giao diện game: 65 4.2.1 Giao diện start game 65 4.2.2 Giao diện hướng dẫn 67 4.2.3 Giao diện Dog base 68 4.2.4 Giao diện nâng cấp 69 4.2.5 Giao diện cửa hàng 71 4.2.6 Giao diện đồ .72 4.2.7 Giao diện đội hình 73 4.2.8 Giao diện trận đấu 74 4.2.9 Giao diện dừng trận đấu 76 KẾT LUẬN .77 Kết đạt được: .77 1.1 Lý thuyết 77 1.2 Công nghệ 77 1.3 Ứng dụng .77 Hạn chế: .77 Hướng phát triển: .77 TÀI LIỆU THAM KHẢO 79 DANH MỤC HÌNH Hình 2.1: Godot Hình 2.2: Mẫu file json thiết lập trận đấu 12 Hình 2.3: Tầm đánh tầm ảnh hưởng đòn đánh Chó Thiên Thần 21 Hình 2.4: Tầm ảnh hưởng địn đánh Chó Bắn Tỉa 22 Hình 3.1: Sơ đồ Use case tổng quát 24 Hình 3.2: Sơ đồ hoạt động xem đội hình/ kỹ 26 Hình 3.3: Sơ đồ hoạt động xếp đội hình/ kỹ 28 Hình 3.4: Sơ đồ hoạt động xem đồ .30 Hình 3.5: Sơ đồ hoạt động chọn level .31 Hình 3.6: Sơ đồ hoạt động triệu hồi lính 33 Hình 3.7: Sơ đồ hoạt động kích hoạt kỹ 34 Hình 3.8: Sơ đồ hoạt động dừng trận đấu 35 Hình 3.9: Sơ đồ hoạt động chỉnh sửa âm 36 Hình 3.10: Sơ đồ hoạt động xem hướng dẫn 37 Hình 3.11: Sơ đồ hoạt động xem nhân vật/ kỹ năng/ nội .38 Hình 3.12: Sơ đồ hoạt động nâng cấp nhân vật 39 Hình 3.13: Sơ đồ hoạt động mua nhân vật 41 Hình 3.14: Sơ đồ hoạt động nâng cấp kỹ 43 Hình 3.15: Sơ đồ hoạt động mua kỹ 45 Hình 3.16: Sơ đồ hoạt động nâng cấp nội 47 Hình 3.17: Sơ đồ hoạt động mua nội 49 Hình 3.18: Sơ đồ hoạt động nâng cấp vật phẩm .51 Hình 3.19: Sơ đồ hoạt động mua vật phẩm .52 Hình 3.20: ERD 54 Hình 4.1: Xây dựng hoạt ảnh cơng cho Chó .63 Hình 4.2: Sprite sheet cho nhân vật Chó 63 Hình 4.3: Hoạt ảnh cho Mèo Ramiel sử dụng sprite sheet khác ramiel_cat.png, attack_effect.png explosion.png 64 Hình 4.4: Xây dựng đồ họa cho đồ game 65 Hình 4.5: Giới thiệu game 66 Hình 4.6: Start game 66 Hình 4.7: Hướng dẫn 67 Hình 4.8: Dog base 68 Hình 4.9: Nâng cấp nhân vật .70 Hình 4.10: Nâng cấp kỹ 70 Hình 4.11: Nâng cấp nội 70 Hình 4.12: Cửa hàng 71 Hình 4.13: Bản đồ .72 Hình 4.14: Đội hình 73 Hình 4.15: Trận đấu 75 Hình 4.16: Dừng trận đấu 76 DANH MỤC BẢNG Bảng 3.1: Danh sách Actor .24 Bảng 3.2: Danh sách Use case 25 Bảng 3.3: Use case xem đội hình/ kỹ .27 Bảng 3.4: Use case xếp đội hình/ kỹ 29 Bảng 3.5: Use case xem đồ 30 Bảng 3.6: Use case chọn level 32 Bảng 3.7: Use case triệu hồi lính 33 Bảng 3.8: Use case kích hoạt kỹ 34 Bảng 3.9: Use case dừng trận đấu .35 Bảng 3.10: Use case chỉnh sửa âm 36 Bảng 3.11: Use case xem hướng dẫn 37 Bảng 3.12: Use case xem nhân vật / kỹ năng/ nội .38 Bảng 3.13: Use case nâng cấp nhân vật 40 Bảng 3.14: Use case mua nhân vật 42 Bảng 3.15: Use case nâng cấp kỹ .44 Bảng 3.16: Use case mua kỹ 46 Bảng 3.17: Use case nâng cấp nội 48 Bảng 3.18: Use case mua nội .50 Bảng 3.19: Use case nâng cấp vật phẩm 51 Bảng 3.20: Use case mua vật phẩm 52 Bảng 3.21: Bảng GameSave .56 Bảng 3.22: Bảng upgradedata 56 Bảng 3.23: Bảng upgradeitemdata 57 Bảng 3.24: Bảng settings 57 Bảng 3.25: Bảng teams .57 Bảng 3.26: Bảng Dog 58 Bảng 3.27: Bảng Dogs 58 Bảng 3.28: Bảng Skill .58 Bảng 3.29: Bảng Skills 59 Bảng 3.30: Bảng Passive 59 Bảng 3.31: Bảng Passives 59 Bảng 3.32: Bảng Item .59 Bảng 3.33: Bảng Items 60 Bảng 3.34: Bảng SpeakerDogDialogue 60 Bảng 3.35: Bảng BattlefieldData 60 Bảng 3.36: Bảng spawnpattern 61 Bảng 3.37: Bảng bossspawn .61 Bảng 3.38: Bảng buff 61 Bảng 4.1: Bảng mô tả giao diện start game 65 Bảng 4.2: Bảng mô tả giao diện hướng dẫn 67 Bảng 4.3: Bảng mô tả giao diện Dog base 68 Bảng 4.4: Bảng mô tả giao diện nâng cấp 69 Bảng 4.5: Bảng mô tả giao diện cửa hàng 71 Bảng 4.6: Bảng mô tả giao diện đồ 72 Bảng 4.7: Bảng mơ tả giao diện đội hình 73 Bảng 4.8: Bảng mô tả giao diện trận đấu 74 Bảng 4.9: Bảng mô tả giao diện dừng trận đấu 76 Hình 4.4: Xây dựng đồ họa cho đồ game Xây dựng giao diện game: 4.2.1 Giao diện start game Bảng 4.1: Bảng mô tả giao diện start game STT Chức Điều kiện kích hoạt Kích hoạt thành Ngoại lệ cơng Giới thiệu Khi mở ứng dụng Hiển thị đoạn hình Nếu nhấn nút game ảnh giới thiệu “Bỏ qua” => cốt truyện trò Hiển thị trang chơi “Start game” Bắt đầu trò Nhấn nút “Bỏ qua” Hiển thị giao diện Không chơi chờ “Start game” giới thiệu game kết thúc Hướng dẫn Nhấn game vào nút Hiển thị giao diện Không “Hướng dẫn” “Hướng dẫn” 65 Hình 4.5: Giới thiệu game Hình 4.6: Start game 66 4.2.2 Giao diện hướng dẫn Bảng 4.2: Bảng mô tả giao diện hướng dẫn STT Chức Điều kiện Kích hoạt thành kích hoạt cơng Ngoại lệ Hướng dẫn Nhấn vào nút Hiển thị giao diện - Nếu nhấn nút “” bên phải trái giao diện => Chuyển sang giao diện hướng dẫn khác Quay lại Nếu nhấn nút Quay trở lại giao Không “Quay lại” diện “Start game” Hình 4.7: Hướng dẫn 67 4.2.3 Giao diện Dog base Bảng 4.3: Bảng mô tả giao diện Dog base STT Chức Điều kiện kích Kích hoạt thành cơng Ngoại lệ hoạt Hiển thị Nhấn vào nút Hiển thị giao diện “Căn Không u cầu “Bắt đầu” chó” trị chơi, gồm: Viễn chinh, nâng cấp cửa hàng Quay lại Nếu nhấn nút Quay trở lại giao diện Không “Quay lại” “Start game” Hình 4.8: Dog base 68 4.2.4 Giao diện nâng cấp Bảng 4.4: Bảng mô tả giao diện nâng cấp STT Chức Hiển danh Điều kiện kích Kích hoạt thành hoạt cơng thị Nhấn vào nút Hiển thị giao diện - Nhấn tab sách “Nâng cấp” “Nâng cấp” “Nhân vật”/ “Kỹ nhân vật, kỹ năng”/ “Nội tại” nội để chuyển sang danh sách tương ứng game Ngoại lệ Mua/ nâng Chọn cấp nhân vật muốn game nhân vật Mua/nâng cấp nhân Không mua/nâng vật cấp => Nhấn nút “Mua”/“Nâng cấp” Mua/ nâng Chọn cấp kỹ muốn game kỹ Mua/nâng cấp kỹ Không mua/nâng cấp => Nhấn nút “Mua”/“Nâng cấp” Mua/ nâng Chọn nội muốn Mua/nâng cấp nội Không cấp nội mua/nâng cấp => game Nhấn nút “Mua”/“Nâng cấp” Quay lại Nếu chó nhấn nút Quay trở lại giao Không “Quay lại” diện “Dog base” 69 Hình 4.9: Nâng cấp nhân vật Hình 4.10: Nâng cấp kỹ Hình 4.11: Nâng cấp nội 70 4.2.5 Giao diện cửa hàng Bảng 4.5: Bảng mô tả giao diện cửa hàng STT Chức Hiển danh Điều kiện kích Kích hoạt thành hoạt cơng Ngoại lệ thị Nhấn vào nút “Cửa Hiển thị giao diện Không sách hàng” “Cửa hàng” vật phẩm Mua phẩm vật Chọn vật phẩm Mua vật phẩm Không muốn mua => Nhấn nút “Mua” Quay lại Nếu chó nhấn nút Quay trở lại giao Không “Quay lại” diện “Dog base” Hình 4.12: Cửa hàng 71 4.2.6 Giao diện đồ Bảng 4.6: Bảng mô tả giao diện đồ STT Chức Điều kiện kích hoạt Ngoại lệ Bắt đầu trò Nhấn vào nút Hiển thị giao diện “Trận Khơng chơi Kích hoạt thành cơng “Tấn công” Sắp xếp đội Nhấn vào nút đấu” Hiển thị giao diện “Đội Khơng hình “Đội hình” hình” Chọn level Nhấn vào Dog di chuyển đến nút Khơng nút trịn level đồ bấm phím trái, phải để chọn Quay lại Nếu nhấn nút Quay trở lại giao diện Khơng chó “Quay lại” “Dog base” Hình 4.13: Bản đồ 72 4.2.7 Giao diện đội hình Bảng 4.7: Bảng mơ tả giao diện đội hình STT Chức Điều kiện kích hoạt Kích hoạt thành Ngoại lệ cơng Sắp xếp đội - Nhấn vào nhân Đội hình nhân vật/ - Nhấn vào tab hình vật/ kỹ kỹ “Đội hình” danh sách để đưa vào xếp “Skill” đội hình chuyển sang đội - Nhấn vào nhân hình nhân vật vật/ kỹ đội kỹ hình để loại bỏ nhân vật khỏi đội hình Lưu đội Nhấn nút “Lưu” Di chuyển đến Khơng giao diện “Bản hình đồ” Quay đồ lại Nếu nhấn nút “Quay Quay trở lại giao Không lại” diện Bản đồ” Hình 4.14: Đội hình 73 để 4.2.8 Giao diện trận đấu Bảng 4.8: Bảng mô tả giao diện trận đấu STT Chức Điều kiện Kích hoạt thành kích hoạt cơng Triệu hồi Nhấn vào Các nhân vật nhân vật nhân Ngoại lệ vật - Có thể bấm phím tương ứng 1,2,3,4,5 thay click triệu hồi vào nút - Nếu lượng tiền không đủ nhân vật thời gian chờ, triệu hồi nhân vật Chuyển Nhấn danh sách biểu nhân vào Chuyển sang danh - Có thể bấm phím Tab tượng sách vật “thay triệu hồi triệu đổi” khác hồi thay click vào biểu tượng bên phải danh sách nhân vật triệu hồi Kích hoạt Nhấn vào Các kỹ tương - Có thể bấm phím kỹ kỹ ứng hoạt kích A,S,D thay click vào nút - Nếu kỹ thời gian chờ, kỹ khơng kích hoạt Nâng cấp Nhấn “Ví tiền” vào Lượng tiền - Nếu lượng tiền khơng biểu tượng chứa ví tăng đủ, ví khơng nâng cấp góc bên trái 74 Tạm dừng Nhấn biểu vào Dừng vaHiển thị - Có thể bấm phím P thay tượng hình “Dừng click vào biểu tượng “dừng” góc trận đấu” bên phải Hình 4.15: Trận đấu 75 “dừng” 4.2.9 Giao diện dừng trận đấu Bảng 4.9: Bảng mô tả giao diện dừng trận đấu STT Chức Điều kiện kích Kích hoạt thành Ngoại lệ hoạt cơng Tắt/bật âm Nhấn vào nút có Âm nhấn nút Không biểu tượng “âm bật/tắt nhạc” Tắt/bật âm Nhấn vào nút có Âm nhạc Khơng nhạc Thốt trận Nhấn vào nút Quay trở lại giao Khơng đấu “Thốt trận đấu” diện “Dog base” Màn hình Nhấn vào nút Quay trở lại giao Khơng cính biểu tượng “loa” bật/tắt Tiếp trận đấu “Màn hình cính” diện “Start game” tục Nhấn vào nút Xóa hình “Dừng - Có thể bấm phím “X” trận đấu” => Quay P thay click vào trở lại giao diện trận nút “X” đấu => Tiếp tục trận đấu Hình 4.16: Dừng trận đấu 76 KẾT LUẬN Kết đạt được: 1.1 Lý thuyết - Hiểu yếu tố cần thiết để xây dựng game, thiết kế nhân vật - Sử dụng thuật toán triệu hồi kẻ địch - Hiểu yếu tố để tạo nên game thủ thành Thực cách sử dụng Json để tạo truy xuất liệu 1.2 Công nghệ - Godot: Xây dựng game thủ thành cho người chơi - Json: lưu trữ liệu 1.3 Ứng dụng - Có thể nâng cấp, mua nhân vật, kỹ nội - Có thể xếp đội hình nhân vật kỹ - Có thể chọn level trận đấu tùy thích - Có thể triệu hồi nhân vật kỹ đội hình - Có thể xem hướng dẫn cách chơi - Có thể dừng trận đấu chỉnh sửa âm Hạn chế: - Trò chơi The Battle Dogs cịn nhiều chức thiếu sót hạn chế: - Chưa tích hợp tốn trực tuyến để mua “đồ hộp” - Chưa thêm chức kích hoạt vật phẩm tiêu hao game - Chỉ lưu đội hình Hướng phát triển: - Tiếp tục hồn thiện chức cịn thiếu - Tích hợp tốn trực tuyến qua Paypal, Momo, hay đơn vị ngân hàng khác… 77 - Thêm kỹ nhân vật - Hoàn thiện chức vật phẩm - Tối ưu hóa code để tăng hiệu suất ứng dụng - Thực tính chơi online với người chơi khác 78 TÀI LIỆU THAM KHẢO [1] “Godot Docs – 4.0 branch” https://docs.godotengine.org/ (truy cập 2/7/2023) [2] “State · Design Patterns Revisited · Game Programming Patterns” https://gameprogrammingpatterns.com/state.html (truy cập 2/7/2023) [3] “2D collision detection - Game development | MDN” https://developer.mozilla.org/enUS/docs/Games/Techniques/2D_collision_detection (truy cập 2/7/2023) 79

Ngày đăng: 04/09/2023, 20:49

Xem thêm:

w