SỬA LỖI VÀ NÂNG CẤP GAME SUBWAY SURFERS
Thành viên nhóm:
- Phạm Hồng Quân
- Vũ Bảo Thắng
- Lê Thanh Thiên
- Nguyễn Hữu Quang
1. Mô tả game
- Đây là game nhập vai thể loại subway surfers, nhân vật của người chơi được đặt vào tình thế bị truy đuổi và phải chạy liên tục
- Trên đường chơi sẽ có các vật cả mà người chơi phải tránh, đồng thời có các vật phẩm mà người chơi có thể thu thập
1.1. Các kịch bản chơi game
Game có hai chế độ:
- Chế độ chơi cơ bản
- Chế độ chơi "Con đường phần thưởng" truy cập thông qua item Pharaong. Đây là một đường hạn hữu hạn thay vì vô hạn như màn chơi gốc, cuối đường chạy sẽ là một rương phần thưởng nhưng để đến được đó người chơi phải vượt qua rất nhiều cạm bẫy
1.2. Các usecase trong game
1.2.1 Màn hình chính:
- Nhân vật luôn luôn di chuyển về phía trước trong màn chơi lặp lại vô hạn
- Người chơi là di chuyển sang trái, phải, nhảy lên, lộn xuống tránh các vật cản để đạt thành tích chạy cao nhất có thể.
- Bên cạnh đó, trên đường chạy người chơi có thể thu thập và tích lũy các vật phẩm để giúp quá trình chạy dễ dàng.
- Vàng: người chơi ăn vàng để có thể mua nhân vật mới, mua ván trượt, mua xe bay, nâng cấp đồ,..
- Chìa khóa: Giúp hồi sinh trong trận
- Nam châm: Dùng để hút vàng xung quanh người chơi
- Ván bay: Ấn 2 lần vào màn hình để triệu hồi ván bay. Ván bay giúp người chơi di chuyển nhanh hơn, nếu người chơi va chạm với vật thể trên đường thì ván bay tự phát nổ và người chơi sẽ được cứu.
- Xe máy bay: Giúp người chơi bay được đoạn ngắn
- Thiết bị bay: Giúp người chơi bay được một khoảng dài
- Giày nhảy cao: Giúp nhảy cao hơn bình thường để dễ dàng vượt địa hình
- Nhân đôi điểm: Giúp người chơi nhân đôi điểm chạy
- Rương bí ẩn: Mở ra các vật phẩm như vàng, ván trượt, chìa khóa,..
- Bóng bay: Đùng để chuyển giữa các map
- Biểu tượng Pharaon: Khi chạm vào biểu tượng này, người chơi sẽ được chuyển đến map trên trời
- Lò xo: Giúp bật nhảy lên cao
1.2.2 Màn hình cửa hàng:
- Mua vật phẩm
- Mua các vật phẩm như ván bay, rương bí ẩn, xe bay, điểm cộng
- Nâng cấp
- Nâng cấp các vật phẩm để tăng thời gian duy trì: thiết bị bay, giày nhảy cao, nam châm, nhân đôi điểm, xe máy bay, ván bay
1.2.3 Màn chọn nhân vật
- Nhân vật
- Hiển thị danh sách các nhân vật của trò chơi
- Hiển thị các thông tin cơ bản của nhân vật
- Cho phép người chơi dùng vàng để mua nhân vật và có thể tùy chọn, đổi nhân vật
- Ván bay
- Hiển thị danh sách các ván bay
- Hiển thị các thông tin cơ bản của ván bay
- Cho phép người chơi dùng vàng để mua ván bay và tùy ý chọn, đổi ván bay
1.2.4 Màn hình bảng xếp hạng:
- Hiển thị điểm của người chơi
- Hiển thị mục các bạn bè của người chơi, xếp hạng các bạn bè theo thứ tự giảm dần về điểm chạy
- Hiển thị các quốc gia của bạn bè
- Hiển thị những bạn bè đang trực tuyến
2. Các sửa đổi cho game
Mô tả chi tiết các sửa đổi trong game, bao gồm hình ảnh, thuyết minh, thuật toán hoặc các Class hay method thêm/sửa/xóa
2.1. Thay đổi 1
Thay thế map City thành map Citywinter
Cách làm:
Bước 1: Lấy các texture liên quan đến tuyết để phủ lên bề mặt các vật trong map theo trục Z
Bước 2: Chọn "Material" -> tạo một texture mới -> import ảnh tuyết đã tải về từ trước để làm texture phủ lên từng object. Sau đó, chuyển từ "Object Mode" sang "Edit Mode"
Bước 3: Ở Edit Mode, có 3 lựa chọn là Vertex select, Edge select và Face select. Chọn Face select và tiến hành phủ tuyết bằng texture
Chọn từng mặt của object muốn phủ, sau đó chọn texture tuyết vừa import vào -> chọn "Assign" để phủ texture lên từng object
2.2. Thay đổi 2
Thay đổi cơ chế map
Cách làm:
- Bước 1: Dựa vào cơ chế chạm item bóng bay mà đi đến map khác mà thay đổi hàm SetNewScene ở file TerrainController. Từ đó thay đổi được việc chạm bóng bay ở terrain có mã là gì sẽ đi đến map nào tùy chỉnh
- Bước 2: Thay đổi ở file LoadData.unity để điều chỉnh số lượng map cũng như số lượng và cách sắp xếp các terrain có trong map
- Bước 3: Thay đổi ở file GameMain.unity để điều chỉnh map nào thuộc map thường hay map bonus
2.3. Thay đổi 3
Tìm ra và sửa các lỗi game
- Lỗi rơi ra khỏi map ở lối lên đường hầm => Sửa bằng cách thêm componet BarrierInformation cho các lối lên
- Lỗi đi xuyên qua thanh chắn đường hầm => Sửa bằng cách thêm các collision box tương ứng
- Lỗi đi xuyên vào xe bus khi nhanh tay lướt ngang ở đầu xe => Sửa bằng cách sửa lỗi logic trong script
- Chức năng tất bật xe bay hoạt động chưa đúng khiến người chơi bay xuyên qua các nắp hầm => Thêm các khối tunnelStart để quy định thêm về việc tắt xe bay
- Lỗi không tắt được trạng thái tìm đối thủ => Bổ sung code cho class DeactiveMessageBox
2.4. Thay đổi 4
Ẩn một số chức năng lỗi hoặc chưa hoàn thiện
- Ẩn các vật phẩm mua bằng tiền mặt trong cửa hàng
- Ẩn chức năng record
2.5. Thay đổi 5
Thêm login bằng usename và password
- Thêm tính năng login bằng tài khoản và mật khẩu kết nối với firebase
- Thêm tính năng login bằng facebook nhưng chưa lấy được mã doanh nghiệp
2.6. Thay đổi 6
Thêm nhân vật mới
- Đã thêm được model của nhân vật mới vào game và thêm được vào cửa hàng nhưng do phát sinh lỗi liên quan đến scale nhân vật nên tạm thời loại bỏ khỏi cửu hàng
3. Hướng dẫn Khởi tạo dự án
3.1. Cài Unity bản từ 2022 trở đi
Đăng ký tài khoản Unity bằng account sinh viên để có thể tham gia chương trình Education License của Unity
3.2. Cấu hình để sử dụng được firebase và facebook login
Cách cấu hình để đăng nhập bằng firebase:
- Vào trang https://console.firebase.google.com/ và tạo một project
- Tạo một realtime database. Chỉnh setting rules thành true.
- Vào project settings và tải xuống google-service.json và firebase SDK về và cài các package cần thiết như (FirebaseAuth,FirebaseDatabase,,..).
- đặt file google-service.json vào assets.
- Giải nén file firebase SDK. Sau đó vào Assets và chọn import package > Custom package > .unitypackage file
Cách cấu hình để đăng nhập bằng facebook:
3.3. Mở dự án trên Unity và chạy thử ngay trên Màn hình Unity Editor
Vào menu File-> Open Scene, chọn vào file Assets/Scene/LoadData.unity
Bấm nút Play của Unity để chạy thử
3.4. Build và chạy trên Android
Vào menu File -> Build Settings, chọn Platform là Android rồi nhấn "Switch Platform" để chuyển sang Android. Sau đó nhấn vào nút Build để thực hiện build ra file APK. Tham khảo trên Google search để biết cách cài đặt Build settings sao cho phù hợp
https://drive.google.com/drive/folders/1NTbMPBLsHxx9kGlNUrO_NKkJHbEcIMUr?usp=sharing