Bối cảnh và vấn đề nghiên cứu

Đồ án môn học "Phân tích thiết kế hệ thống Game (Trò chơi)" được thực hiện bởi nhóm sinh viên thuộc Trường Khoa học Máy tính – Đại học Duy Tân trong khuôn khổ học phần Phân tích thiết kế hướng đối tượng (mã lớp môn học: CS 353 B), hoàn thành vào ngày 24 tháng 03 năm 2024 tại Đà Nẵng. Nhóm tác giả gồm 5 thành viên: Phạm Vũ Khánh Trường (Nhóm trưởng), Phan Đức Tài, Nguyễn Đình Huy Khang, Phan Cao Trí và Nguyễn Vĩnh Tường.

Trong lĩnh vực công nghệ phần mềm và phát triển trò chơi điện tử, việc áp dụng phương pháp phân tích và thiết kế hướng đối tượng (OOAD) đóng vai trò then chốt nhằm mô hình hóa chính xác các thực thể, mối quan hệ và luồng nghiệp vụ tương tác phức tạp trước khi bước vào giai đoạn hiện thực hóa mã nguồn. Đề tài tập trung giải quyết bài toán phân tích yêu cầu và thiết kế kiến trúc toàn diện cho một hệ thống trò chơi thể loại chiến thuật (Strategy Game).

Mục tiêu và nhiệm vụ nghiên cứu của đồ án được xác định cụ thể như sau:

  1. Khảo sát và thiết lập các yêu cầu chức năng, yêu cầu phi chức năng cùng các quy tắc nghiệp vụ cốt lõi của trò chơi (hệ thống tài sản, cơ chế cường hóa, quy tắc điều phối chiến đấu).
  2. Xác định các tác nhân (Actors) tham gia vào hệ thống và phân định phạm vi tương tác giữa người dùng và ban quản trị.
  3. Xây dựng tài liệu đặc tả kịch bản tương tác chi tiết cho toàn bộ các trường hợp sử dụng (Use Case).
  4. Thiết lập hệ thống biểu đồ UML hoàn chỉnh bao gồm các góc nhìn tĩnh và động: Biểu đồ Use Case, Biểu đồ Lớp (Class Diagram), Biểu đồ Hoạt động (Activity Diagram), Biểu đồ Trình tự (Sequence Diagram), Biểu đồ Trạng thái (State Diagram), Biểu đồ Cộng tác (Collaboration Diagram), Biểu đồ Thành phần (Component Diagram) và Biểu đồ Triển khai (Deployment Diagram).

Đối tượng nghiên cứu của đồ án là quy trình phân tích và thiết kế mô hình hướng đối tượng cho hệ thống trò chơi chiến thuật. Phạm vi nghiên cứu giới hạn trong việc thiết lập tài liệu đặc tả phân tích - thiết kế kiến trúc phần mềm, chưa bao gồm giai đoạn lập trình mã nguồn chi tiết hay tích hợp công cụ đồ họa chuyên sâu.

Cơ sở lý thuyết và phương pháp

Đồ án vận dụng phương pháp phân tích và thiết kế hướng đối tượng (Object-Oriented Analysis and Design - OOAD) kết hợp cùng Ngôn ngữ mô hình hóa thống nhất (Unified Modeling Language - UML) làm khung kỹ thuật nền tảng để trực quan hóa cấu trúc và hành vi của hệ thống phần mềm trò chơi.

Phương pháp nghiên cứu và kỹ thuật phân tích được nhóm tác giả triển khai bao gồm:

  • Phương pháp phân rã và đặc tả yêu cầu phần mềm: Phân tích các phát biểu bài toán để chiết xuất các chức năng chính (Mua sắm, Cường hóa, Hành trang, Chiến đấu, Quản trị), xây dựng danh mục ca sử dụng và chi tiết hóa kịch bản theo từng bước tương tác giữa tác nhân và hệ thống.
  • Phương pháp mô hình hóa cấu trúc tĩnh: Xây dựng Biểu đồ lớp (Class Diagram) để xác định danh sách các lớp đối tượng, các gói thuộc tính, phương thức xử lý và mối quan hệ kế thừa giữa các thực thể; xây dựng Biểu đồ thành phần và Biểu đồ triển khai để định hình kiến trúc phần cứng và mô-đun phần mềm.
  • Phương pháp mô hình hóa hành vi động: Sử dụng Biểu đồ hoạt động để mô tả luồng công việc của các tiến trình; Biểu đồ trình tự để mô hình hóa trình tự gửi nhận thông điệp theo trục thời gian; Biểu đồ trạng thái để kiểm soát vòng đời và sự biến đổi dữ liệu của các đối tượng; Biểu đồ cộng tác nhằm làm rõ sự phối hợp giữa các đối tượng trong hệ thống.

Nguồn dữ liệu của nghiên cứu là tập đặc tả yêu cầu chức năng và các tham số vận hành của mô hình trò chơi chiến thuật do nhóm tác giả xây dựng tại Đại học Duy Tân.

Thiết kế và triển khai

Hệ thống trò chơi chiến thuật được thiết kế với các quy tắc nghiệp vụ, cơ chế điều khiển và bảng tham số vận hành cụ thể:

1. Phân định tác nhân hệ thống

Hệ thống thiết lập hai tác nhân chính tham gia tương tác:

  • Player (Người chơi): Có quyền truy cập các chức năng chính gồm Cửa hàng (Shop), Chiến đấu (Play), Quản lý tài sản (Hành trang) và Cường hóa. Người chơi không bắt buộc phải đăng nhập hệ thống để tham gia trò chơi, tuy nhiên bắt buộc phải cung cấp tên định danh và tên giữa các người chơi không được trùng lặp.
  • Administrator (Quản trị viên): Có toàn quyền can thiệp, chỉnh sửa và cập nhật các nội dung, cấu hình trong hệ thống trò chơi; tác nhân này bắt buộc phải thực hiện thủ tục đăng nhập xác thực tài khoản.

2. Bảng quy chuẩn thông số và cơ chế vận hành hệ thống

Phân hệ / Cơ chế Quy tắc thiết kế và Tham số cụ thể
Đơn vị tiền tệ Đơn vị tiền tệ duy nhất trong game là Gold, dùng để chi trả cho các hoạt động mua sắm và cường hóa.
Hệ thống Nhân vật - Toàn bộ nhân vật sở hữu 4 chỉ số cơ bản: HP, Attack, Armor và Critical (%).
- Nhân vật sở hữu các kỹ năng đặc biệt (SP) tiêu hao điểm năng lượng (Energy).
- Mỗi nhân vật người chơi chỉ có thể mua một lần duy nhất; sau khi mua sẽ bị xóa khỏi danh sách Shop.
- Nhóm Enemy: Không có kỹ năng SP nhưng sở hữu chỉ số cơ bản cao hơn nhân vật của người chơi.
- Nhóm Boss: Sở hữu 3 kỹ năng SP và chỉ số thuộc tính vượt trội.
Hệ thống Trang bị & Vật phẩm - Có thể mua nhiều lần với số lượng tùy chọn, được trừ Gold tương ứng.
- Trang bị khi gắn vào nhân vật sẽ gia tăng trực tiếp các chỉ số tương ứng của nhân vật đó.
Cơ chế Cường hóa - Cấp độ tối đa của nhân vật và trang bị là cấp 100.
- Cường hóa tiêu hao số lượng vật phẩm yêu cầu và lượng Gold nhất định.
- Tỷ lệ tăng trưởng nhân vật: Mỗi level tăng 10% chỉ số so với level liền trước (Chỉ số mới = Chỉ số cũ × 1.1).
- Tỷ lệ tăng trưởng trang bị: Mỗi level tăng 5% chỉ số so với level liền trước (Chỉ số mới = Chỉ số cũ × 1.05).
Cơ chế Điều phối Chiến đấu - Bản đồ (Map) được đánh số tuần tự; người chơi chỉ mở khóa được map tiếp theo sau khi chiến thắng map trước.
- Đội hình tham chiến gồm 6 vị trí: 4 nhân vật chiến đấu trực tiếp (Chiến Sĩ) và 2 nhân vật hỗ trợ (Support – chỉ dùng SP).
- Điểm Năng lượng (Energy) bắt đầu từ 0 (hoặc 1), tự động hồi phục với tốc độ +1 điểm/giây.
- Cơ chế xoay vòng kỹ năng: Hệ thống chọn ngẫu nhiên 3 kỹ năng SP từ 6 kỹ năng của đội hình để hiển thị sẵn sàng; khi 1 SP được kích hoạt, hệ thống sẽ rút ngẫu nhiên một SP khác trong danh sách chờ để thay thế vào vị trí trống.
- Cấu trúc trận đấu: Mỗi Map bao gồm tối đa 4 ải con (đánh số từ 1 đến 4). Ải 1-3 chứa các Enemy ngẫu nhiên; Ải 4 là ải cuối cùng chứa Boss.
- Điều kiện thắng/thua: Ải hoàn thành khi toàn bộ Enemy có HP = 0; trận đấu kết thúc khi toàn bộ đối tượng của một trong hai phe bị tiêu diệt hoàn toàn (HP = 0).

Nội dung chính theo từng chương

Mô tả tổng quan về các yêu cầu

Phần mở đầu tập trung mô tả chi tiết các yêu cầu nghiệp vụ của hệ thống trò chơi chiến thuật, bao gồm 7 nhóm chức năng cốt lõi: Chức năng Player, Chức năng Nhân vật, Chức năng Cường hóa, Chức năng Mua đồ, Chức năng Quản lý tài sản, Chức năng Chiến đấu và Các chức năng hệ thống khác (phân quyền Player và Administrator).

PHẦN I: Biểu đồ Use Case

Chương này thực hiện mô hình hóa chức năng hệ thống ở mức tổng quan và chi tiết:

  • Xác định các yêu cầu chức năng: Chi tiết hóa 4 nhóm nghiệp vụ chính gồm Mua sắm (nhân vật, trang bị, vật phẩm), Cường hóa (nhân vật, trang bị), Quản lý tài sản (hành trang, kiểm tra số lượng, trang bị đồ) và Chiến đấu (khởi tạo map, tạo quái, phân bổ kỹ năng, kiểm tra điều kiện kết thúc).
  • Thiết lập kịch bản Use Case (Use Case Scenarios): Đặc tả luồng sự kiện chi tiết theo từng bước hành động của tác nhân và phản hồi của hệ thống cho các ca sử dụng:
    • Start Game: Hệ thống điều hướng 4 phân hệ (Shop, Play, Hành trang, Cường hóa).
    • Mua đồ, Mua nhân vật, Mua trang bị, Mua vật phẩm: Xử lý kiểm tra số dư Gold, cập nhật danh sách sở hữu, ẩn nhân vật đã mua hoặc cộng dồn số lượng vật phẩm.
    • Quản lý tài sản, Quản lý trang bị, Quản lý nhân vật, Đeo trang bị: Hiển thị chi tiết chỉ số, điều hướng cường hóa hoặc gán trang bị làm tăng chỉ số nhân vật.
    • Cường hóa, Cường hóa trang bị, Cường hóa nhân vật: Kiểm tra điều kiện giới hạn cấp độ 100, số lượng vật phẩm và số Gold; cập nhật chỉ số theo hệ số quy định.
    • Chuẩn bị, Vào trò chơi, Sử dụng SP, Kết thúc chiến đấu: Lựa chọn Map mở khóa, thiết lập đội hình 4 Chiến Sĩ và 2 Hỗ trợ, khởi tạo thanh Energy hồi phục theo thời gian, quản lý 3 ô SP ngẫu nhiên và xử lý chuyển ải.
  • Biểu đồ Use Case tổng thể: Tổng hợp toàn bộ mối quan hệ giữa Player, Administrator và các ca sử dụng trên sơ đồ UML tại trang 13 của tài liệu.

PHẦN II: Biểu đồ Lớp (Class Diagram)

Chương này thiết lập cấu trúc tĩnh của toàn bộ hệ thống trò chơi:

  • Thiết lập các lớp: Định nghĩa danh mục các thực thể hướng đối tượng quản lý người dùng, nhân vật, trang bị, vật phẩm, kỹ năng và các thành phần giao diện chiến đấu.
  • Thuộc tính và phương thức của các lớp: Khai báo chi tiết các trường dữ liệu tĩnh (như HP, Attack, Armor, Critical, Level, Gold, Energy) và các hàm thành viên xử lý logic nghiệp vụ.
  • Lớp kế thừa: Thiết kế cấu trúc phân cấp kế thừa giữa các lớp đối tượng, thể hiện rõ mối quan hệ giữa lớp nhân vật tổng quát với các lớp chuyên biệt hóa (Chiến Sĩ, Nhân vật Hỗ trợ, Enemy, Boss).

PHẦN III: Biểu đồ Hoạt động (Activity Diagram)

Chương III mô hình hóa luồng xử lý nghiệp vụ thông qua các biểu đồ hoạt động:

  • Biểu đồ mua nhân vật, mua trang bị và vật phẩm.
  • Biểu đồ cường hóa trang bị và cường hóa nhân vật (luồng rẽ nhánh kiểm tra tài nguyên và cấp độ tối đa).
  • Biểu đồ đeo trang bị cho nhân vật.
  • Biểu đồ bắt đầu chiến đấu, khởi tạo map, sử dụng kỹ năng và luồng xử lý kết thúc chiến đấu khi một phe bị triệt hạ toàn bộ.

PHẦN IV: Biểu đồ Trình tự (Sequence Diagram)

Chương IV thể hiện tương tác giữa các đối tượng theo trục thời gian cho 10 kịch bản chính:

  1. Mua nhân vật
  2. Mua trang bị và vật phẩm
  3. Đeo trang bị
  4. Cường hóa nhân vật
  5. Cường hóa trang bị
  6. Bắt đầu chiến đấu
  7. Khởi tạo map
  8. Sử dụng SP
  9. Kết thúc chiến đấu (Hình 4.9, trang 35)
  10. Administrator đăng nhập (Hình 4.10, trang 36)

PHẦN V: Biểu đồ Trạng thái (State Diagram)

Chương V biểu diễn các trạng thái vòng đời và điều kiện chuyển trạng thái của các thực thể qua 9 biểu đồ:

  1. Vào trò chơi (Hình 5.1)
  2. Mua nhân vật (Hình 5.2)
  3. Mua trang bị (Hình 5.3)
  4. Mua vật phẩm (Hình 5.4)
  5. Quản lý trang bị (Hình 5.5)
  6. Quản lý nhân vật (Hình 5.6)
  7. Chuẩn bị chiến đấu (Hình 5.7)
  8. Sử dụng SP (Hình 5.8)
  9. Kết thúc chiến đấu (Hình 5.9)

PHẦN VI: Biểu đồ Cộng tác (Collaboration Diagram)

Chương VI tập trung mô tả mối liên hệ và cách thức các đối tượng cộng tác với nhau để thực hiện các chức năng:

  1. Vào trò chơi (Hình 6.1)
  2. Cửa hàng (Hình 6.2)
  3. Cường hóa (Hình 6.3)
  4. Hành trang (Hình 6.4)
  5. Chuẩn bị chiến đấu (Hình 6.5)
  6. Chức năng chiến đấu (Hình 6.6)
  7. Cập nhật trò chơi dành cho Quản trị viên (Hình 6.7)

PHẦN VII: Biểu đồ Thành phần và Biểu đồ Triển khai

Chương cuối cùng hoàn thiện góc nhìn kiến trúc vật lý của hệ thống:

  • Biểu đồ thành phần: Phân chia các mô-đun phần mềm, giao diện điều khiển, khối xử lý logic gameplay và khối dữ liệu tài sản.
  • Biểu đồ triển khai (trang 49): Mô tả cấu hình phần cứng, các nút thực thi (node) và môi trường phân phối hệ thống trò chơi đến thiết bị người dùng cuối.

Kết quả và đóng góp

Đồ án đã đạt được các kết quả cụ thể trong phạm vi tài liệu thiết kế hệ thống:

  • Chuẩn hóa bộ hồ sơ thiết kế OOAD: Xây dựng thành công hệ thống tài liệu phân tích thiết kế trò chơi chiến thuật gồm 7 nhóm biểu đồ UML chuẩn mực từ mức khái niệm đến mức triển khai vật lý.
  • Xây dựng kịch bản vận hành chi tiết: Cung cấp bảng đặc tả các kịch bản ca sử dụng rõ ràng, phân định minh bạch trách nhiệm xử lý giữa tác nhân người dùng, quản trị viên và hệ thống.
  • Mô hình hóa chính xác các quy tắc trò chơi: Thiết lập công thức toán học và logic điều kiện cho các tính năng trọng yếu (tăng trưởng 10% chỉ số nhân vật, 5% chỉ số trang bị qua mỗi cấp; giới hạn cấp độ 100; cơ chế hồi phục 1 năng lượng/giây; phân phối ngẫu nhiên 3 ô kỹ năng trong trận đấu 4 ải).

Hạn chế và hướng nghiên cứu tiếp

Căn cứ trên phạm vi nội dung được trình bày trong tài liệu đồ án:

  • Hạn chế: Đồ án tập trung hoàn toàn vào pha phân tích và thiết kế mô hình hướng đối tượng, chưa tích hợp mã nguồn triển khai thực tế trên các game engine chuyên dụng; hệ thống quản lý danh tính người chơi ở mức cơ bản (chỉ kiểm tra trùng lặp tên hiển thị mà không yêu cầu mật khẩu đăng nhập đối với Player); cấu trúc lưu trữ cơ sở dữ liệu chi tiết chưa được phân tích sâu.
  • Hướng nghiên cứu tiếp:
    • Chuyển đổi các mô hình lớp và biểu đồ tương tác UML thành mã nguồn thực thi trên các nền tảng phát triển game (như Unity hoặc Unreal Engine).
    • Thiết kế và chuẩn hóa hệ thống cơ sở dữ liệu quan hệ hoặc phi quan hệ để đồng bộ hóa dữ liệu người chơi, hành trang và lịch sử chiến đấu qua môi trường mạng.
    • Mở rộng phân hệ quản trị (Administrator) với các công cụ cập nhật trực tiếp nội dung game (Game Balancing, Event Management).

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm và Khoa học Máy tính đang theo học học phần Phân tích thiết kế hướng đối tượng hoặc Nhập môn phát triển phần mềm trò chơi.

Nội dung có giá trị tham khảo cao nhất trong đồ án bao gồm:

  1. Bảng kịch bản chi tiết của các Use Case mô tả trực quan các tương tác giữa người dùng và hệ thống.
  2. Phương pháp liên kết nhất quán giữa Biểu đồ Use Case, Biểu đồ Lớp, Biểu đồ Trình tự và Biểu đồ Trạng thái trong việc mô hình hóa logic game chiến thuật.
  3. Cách thức xử lý các quy tắc nghiệp vụ dạng trạng thái (hồi năng lượng, lựa chọn ngẫu nhiên kỹ năng, điều kiện kết thúc trận đấu).

Câu hỏi thường gặp

1. Đội hình tham gia chiến đấu trong trò chơi được cấu thành như thế nào?
Mỗi trận đấu yêu cầu người chơi lựa chọn 6 nhân vật từ danh sách sở hữu, chia làm hai nhóm chuyên biệt: 4 nhân vật tham gia chiến đấu trực tiếp (Chiến Sĩ) và 2 nhân vật đóng vai trò hỗ trợ (Support – chỉ tham gia cung cấp và kích hoạt kỹ năng SP).

2. Cơ chế hồi phục năng lượng và điều phối kỹ năng (SP) trong trận đấu vận hành ra sao?
Khi trận đấu bắt đầu, thanh năng lượng (Energy) được khởi tạo từ 0 (hoặc 1) và tự động tăng thêm 1 điểm sau mỗi giây. Trong số 6 kỹ năng của đội hình, hệ thống sẽ lựa chọn ngẫu nhiên 3 kỹ năng hiển thị trên màn hình. Người chơi chỉ có thể kích hoạt kỹ năng khi điểm năng lượng tích lũy lớn hơn hoặc bằng mức tiêu hao của kỹ năng đó. Khi một kỹ năng được sử dụng, nó sẽ lập tức được thay thế bằng một kỹ năng khác trong danh sách kỹ năng chưa hiển thị.

3. Công thức tính toán chỉ số khi cường hóa nhân vật và trang bị được quy định như thế nào?
Mỗi lần nâng cấp (tối đa cấp độ 100), chỉ số của nhân vật sẽ tăng thêm 10% so với cấp độ liền trước (Chỉ số = Chỉ số cũ × 1.1), còn chỉ số của trang bị sẽ tăng thêm 5% so với cấp độ liền trước (Chỉ số = Chỉ số cũ × 1.05), đồng thời tiêu hao một lượng vật phẩm và số Gold tương ứng.

4. Điểm khác biệt về phân quyền giữa tác nhân Player và Administrator là gì?
Player không bắt buộc phải đăng nhập hệ thống nhưng phải nhập tên định danh duy nhất để tham gia các chức năng chơi, mua sắm và cường hóa. Ngược lại, Administrator bắt buộc phải thực hiện thủ tục đăng nhập xác thực tài khoản để có quyền can thiệp, chỉnh sửa toàn bộ nội dung và cấu hình của hệ thống trò chơi.

5. Cấu trúc bản đồ (Map) và điều kiện hoàn thành trận đấu được thiết lập ra sao?
Mỗi Map bao gồm tối đa 4 ải con đánh số từ 1 đến 4; các ải từ 1 đến 3 chứa số lượng Enemy ngẫu nhiên, trong khi ải 4 là ải cuối cùng chứa Boss (sở hữu 3 kỹ năng SP và chỉ số cao). Một ải được thông qua khi toàn bộ Enemy có HP bằng 0; trò chơi kết thúc khi toàn bộ đối tượng của một trong hai phe bị triệt hạ hoàn toàn.

Kết luận

Đồ án "Phân tích thiết kế hệ thống Game (Trò chơi)" của nhóm sinh viên Trường Khoa học Máy tính – Đại học Duy Tân đã hoàn thành việc mô hình hóa hướng đối tượng toàn diện cho một trò chơi chiến thuật. Bằng việc áp dụng đầy đủ các công cụ biểu đồ UML và xây dựng kịch bản chi tiết, tài liệu đã chuẩn hóa logic vận hành của các phân hệ mua sắm, cường hóa, quản lý tài sản và điều phối trận đấu. Đây là tài liệu kỹ thuật hoàn chỉnh, đáp ứng mục tiêu môn học Phân tích thiết kế hướng đối tượng và cung cấp nền tảng thiết kế phục vụ cho các bước lập trình hiện thực hóa tiếp theo.