• Nghiên cứu xây dựng game sử dụng dịch vụ máy chủ đám mây của Unity • Xây dựng và phát triển game hoàn thiện và thú vị để giúp người chơi có thể giải trí trên đa nển tảng 1.3.. Ý nghĩa
GIỚI THIỆU ĐỀ TÀI
Giới thiệu chung
Xiangqi Online là trò chơi cờ tướng trực tuyến thời gian thực, cho phép người chơi thi đấu với các đối thủ cùng trình độ Trò chơi cung cấp ba chế độ chơi với các nội dung cờ khác nhau, phù hợp với đa dạng mức kỹ năng của người chơi Hệ thống xếp hạng riêng biệt giúp người chơi dễ dàng lựa chọn đối thủ phù hợp và nâng cao trình độ chơi cờ của mình.
Standard: chế độ tiêu chuẩn cho đa số người chơi, với tổng thời gian suy nghĩ cho mỗi người chơi là 15 phút
Rapid: nhịp độ nhanh hơn chế độ thường, với tổng thời gian suy nghĩ của mỗi người chơi rút ngắn còn 8 phút
Blitz: có nhịp độ trận đấu nhanh nhất, với tổng thời gian suy nghĩ chỉ vào khoảng 4 phút
Hệ thống tìm trận (match-making) trong trò chơi giúp kết nối những người chơi có cùng trình độ để thi đấu công bằng Người chơi còn có thể tạo trận đấu tùy chọn để thi đấu với bạn bè, tạo trải nghiệm giải trí linh hoạt Các trận đấu tùy chọn này không ảnh hưởng đến điểm xếp hạng của người chơi, mang lại sự thoải mái và không áp lực.
Mục đích nghiên cứu
Áp dụng các kiến thức đã học để hiện thực một dự án thuộc dòng board- game
Tìm hiểu và áp dụng công nghệ Unity trong phát triển trò chơi điện tử
Tích lũy thêm kinh nghiệm, phục vụ cho công việc sau này
Phạm vi nghiên cứu
Công nghệ sử dụng: Unity Engine, C#
Nền tảng hỗ trợ: Web, Máy tính (PC), các thiết bị di động (Android, IOS)
Phương pháp lập trình: Lập trình hướng đối tượng (OOP)
Tìm hiểu cách mà ứng dụng Unity giao tiếp với máy chủ bên ngoài cũng như các kĩ thuật tối ưu hiệu suất ứng dụng
Sử dụng các tài nguyên cờ tướng có trên mạng để tạo một game hấp dẫn
Phương pháp nghiên cứu
Nhóm đã sử dụng các phương pháp nghiên cứu:
Phương pháp đọc tài liệu.
Phương pháp phân tích các trò chơi cùng thể loại sẵn có.
Phương pháp tìm kiếm thông tin trên mạng
Giới thiệu về những công nghệ sử dụng
Hình Giới thiệu về những công nghệ sử dụng.1 Ngôn ngữ C#
C# (C Sharp) là một ngôn ngữ lập trình hướng đối tượng đa năng và mạnh mẽ, phát triển bởi Microsoft dựa trên nền tảng của C++ và Java Được thiết kế chủ yếu bởi Anders Hejlsberg, một kiến trúc sư phần mềm nổi tiếng với các sản phẩm như Turbo Pascal, Delphi, J++, WFC, C# mang lại khả năng lập trình linh hoạt và tối ưu cho các ứng dụng đa dạng Phiên bản mới nhất của C# là C# 10, đi kèm với hỗ trợ trên nền tảng NET 6, giúp nâng cao hiệu suất và tính mở rộng Ứng dụng của C# rất đa dạng, từ phát triển phần mềm doanh nghiệp, ứng dụng web, trò chơi điện tử cho đến các giải pháp đám mây và di động, phù hợp với nhiều lĩnh vực công nghệ thông tin.
Phát triển web backend (ASP.NET MVC, ASP.NET Core, WebAPI, …).
Phát triển web frontend (Blazor WebAssembly, Uno Platform).
Phát triển các ứng dụng kết nối điện toán đám mây (Microsoft Azure,
Phát triển desktop app (Winform, WPF, UWP, …).
Phát triển mobile app, IOS native, Android native (Xamarin, MAUI, …).
Phát triển game 2D, 3D đa nền tảng (Game engine: Unity, Monogame, …).
Phát triển ứng dụng đồ họa 2D, 3D đa nền tảng (2D: SkiaSharp, ImageSharp,… ; 3D: OpenTK, SharpDX, …).
Hình Giới thiệu về những công nghệ sử dụng.2 Unity Engine
Unity Engine là một game engine đa nền tảng được phát triển bởi Unity Technology, nổi bật với khả năng tạo ra các trò chơi 2D và 3D trên máy tính, điện thoại, console và các nền tảng thực tế ảo Được ra mắt lần đầu vào tháng 6 năm 2005, Unity hỗ trợ lập trình bằng ngôn ngữ C#, giúp các nhà phát triển dễ dàng sáng tạo nội dung game đa dạng Ngoài phát triển game, Unity còn được sử dụng để sản xuất phim và trong ngành công nghiệp ôtô, thể hiện tính linh hoạt và ứng dụng đa dạng của công cụ này trong nhiều lĩnh vực.
Unity hỗ trợ phát triển game 2D và 3D với nhiều tính năng nổi bật Trong game 2D, Unity cho phép nhập sprites và sử dụng renderer thế giới 2D tiên tiến để tạo ra hình ảnh động sống động Đối với game 3D, Unity cung cấp khả năng tùy chỉnh các đặc điểm kỹ thuật của kết cấu và độ phân giải, hỗ trợ các công nghệ như bump mapping, reflection mapping, parallax mapping giúp tăng độ chân thực của hình ảnh Ngoài ra, Unity còn tích hợp các hiệu ứng ánh sáng như ambient occlusion (SSAO) và bóng đổ qua shadow maps để tạo hiệu ứng không gian chân thực Unity cũng cung cấp các dịch vụ quan trọng cho nhà phát triển như Unity Ads, Unity Analytics, Unity Cloud Build, Unity Everyplay, Unity API và Unity Multiplayer, giúp quá trình phát triển và phát hành game trở nên dễ dàng và hiệu quả hơn.
Unity Cloud Services là giải pháp tích hợp trên mọi phiên bản Unity, giúp đơn giản hóa xây dựng logic phía máy chủ mà không cần máy chủ vật lý Được hỗ trợ đa nền tảng, kể cả Unreal Engine nhờ vào khả năng truy cập dịch vụ đám mây qua REST APIs Các dịch vụ của Unity Cloud Services hoạt động liên kết chặt chẽ, cung cấp một bộ giải pháp toàn diện cho phát triển game và ứng dụng trên nền tảng đám mây.
Authentication: Đơn giản hóa quy trình đăng nhập, đăng xuất, hỗ trợ đăng nhập bẳng bên thứ ba
Cloud Code là giải pháp giúp hiện thực logic phía máy chủ, dễ dàng liên kết với hầu hết các dịch vụ đám mây khác Với khả năng xây dựng logic bằng JavaScript hoặc tận dụng thư viện có sẵn của C# NET, Cloud Code giúp tăng tính linh hoạt và hiệu quả trong phát triển ứng dụng đám mây. -**Sponsor**Bạn đang là người sáng tạo nội dung và cần một công cụ giúp viết lại bài viết tuân thủ SEO? Với [Article Generation](https://pollinations.ai/redirect-nexad/W9o1m8Lk), bạn có thể tạo ra các bài viết 2.000 từ được tối ưu hóa SEO ngay lập tức, giúp bạn tiết kiệm hơn 2.500 đô la mỗi tháng so với việc thuê một người viết! Nó giống như có một đội ngũ nội dung riêng của bạn—mà không gặp rắc rối! Ví dụ, từ đoạn mã bạn cung cấp về Cloud Code, công cụ này có thể tạo ra một đoạn văn mạch lạc, nhấn mạnh rằng Cloud Code hỗ trợ logic phía máy chủ, liên kết với các dịch vụ đám mây và cho phép xây dựng logic bằng JavaScript hoặc C# Net.
Cloud Save: lưu trử và truy vấn cơ sở dữ liệu đơn giản sử dụng NoSQL
Multiplayer: kết nối một lúc với nhiều người chơi, cũng như quản lí logic chặt chẽ theo dạng client-server ở thời gian thực
Relay: Hỗ trợ làm việc với nhiều người chơi, nhưng chỉ ở mức Peel-to-peel
PHÂN TÍCH YÊU CẦU
Sơ đồ Use case
Hình Sơ đồ Use case.4 Sơ đồ use case
Danh sách các use case
UC-002 Play Vs Bot mode
Bảng PHÂN TÍCH YÊU CẦU.1 Danh sách các Use case
Mô tả Login to the system using any login methods provide by the game
Tiền điều kiện Player click on the “Login” button on “Main
Menu” screen Hậu điều kiện Người chơi bắt đầu chơi màn đó
Luồng sự kiện chính 1 Người chơi nhấn vào màn bất kì
2 Người chơi bắt đầu chơi màn đó Luồng sự kiện phụ Không có.
Luồng sự kiện lỗi và ngoại lệ Không có
Bảng PHÂN TÍCH YÊU CẦU.2 Use case chọn màn
Tên Usecase Chơi một màn
Mô tả Người chơi bắt đầu chơi một màn chơi cho đến khi thắng (hoặc thua)
Tiền điều kiện Người chơi đã chọn và vào màn chơi
Hậu điều kiện Màn chơi kết thúc, người chơi giành chiến thắng
( hoặc thất bại) và nhận tiền thưởng
1 Người chơi tiến hành chọn quân lính hoặc phép bổ trợ để triệu hồi
2 Công trình đối phương bị phá hủy, người chơi giành chiến thắng
3 Người chơi nhận tiền thưởng
Luồng sự kiện phụ 2a Người chơi bị kẻ địch phá hủy tượng thần và thất bại
2b Người chơi thoát khỏi màn, trở về màn hình menu
Luồng sự kiện lỗi và ngoại lệ
Bảng PHÂN TÍCH YÊU CẦU.3 Use case chọn một màn
Tên Usecase Cài đặt trò chơi
Mô tả Người chơi nhấn chọn nút cài đặt, hiển thị menu cài đặt tương ứng chính
Hậu điều kiện Người chơi tạm dừng màn chơi nếu như đang ở trong màn chơi, hiển thị menu cài đặt
1 Người chơi nhấn chọn nút cài đặt
2 Menu cài đặt hiển thị trên màn hình
Luồng sự kiện phụ Không có.
Luồng sự kiện lỗi và ngoại lệ
Bảng PHÂN TÍCH YÊU CẦU.4 Use case tạm dừng trò chơi
Tên Usecase Triêu hồi quân lính
Mô tả Người chơi triệu hồi một đơn vị lính ra trận từ ô chọn quân lính
Tiền điều kiện Người chơi ở trong màn chơi
Khi người chơi triệu hồi thành công một quân lính ra trận, quân lính đó sẽ chuyển sang trạng thái đang hồi lại Điều này cho phép người chơi tiếp tục chọn quân lính khác để triệu hồi, mở rộng khả năng chiến đấu và chiến thuật trong game Quá trình hồi lại của quân lính là bước quan trọng để duy trì lực lượng và nâng cao hiệu quả chiến đấu trong quá trình chơi.
1 Người chơi nhấn chọn một quân lính bất kì trong các ô quân lính bên dưới
2 Đơn vị lính đó tiến ra trận địa, tấn công kẻ địch trên đường và tiến đến phá hủy công trình phụ
Luồng sự kiện lỗi và ngoại lệ
1a Ô được chọn đang ở trạng thái hồi chiêu Không có đơn vị lính nào xuất hiện
Bảng PHÂN TÍCH YÊU CẦU.5 Use case triệu hồi quân lính
Tên Usecase Sử dụng phép
Mô tả Người chơi thi triển phép được chọn để hỗ trợ hoặc tấn công quân lính địch
Tiền điều kiện Người chơi ở trong màn chơi
Hậu điều kiện Người chơi thi triển một phép bổ trợ, hiển thị hoạt ảnh phép bổ trợ
Luồng sự kiện chính 1 Người chơi nhấn chọn một phép ở phần tab phép bổ trợ
2 Phép bổ trợ được thi triển
Luồng sự kiện phụ Không có
Luồng sự kiện lỗi và ngoại lệ
1a Ô được chọn đang ở trạng thái hồi chiêu Không thi triển phép
Bảng PHÂN TÍCH YÊU CẦU.6 Use case sử dụng phép
2.2.6 Di chuyển camera của màn chơi
Mô tả Người chơi di chuyển camera dọc trận địa
Tiền điều kiện Người chơi ở trong màn chơi
Hậu điều kiện Người chơi thay đổi vị trí của camera
Luồng sự kiện chính 1 Người chơi vuốt màn hình hoặc dùng phím
2 Vị trí camera được thay đổi
Luồng sự kiện phụ Không có
Luồng sự kiện lỗi và ngoại lệ
Bảng PHÂN TÍCH YÊU CẦU.7 Use case di chuyển camera của màn chơi
Tên Usecase Nâng cấp tượng thần
Mô tả Người chơi nâng cấp chỉ số của tượng thần
Tiền điều kiện Người chơi ở trong màn hình cửa hàng
Hậu điều kiện Người chơi nâng cấp thành công một chỉ số của tượng Luồng sự kiện chính 1 Người chơi chọn một chỉ số cần nâng cấp
2 Người chơi nhấn chọn Nâng cấp
3 Chỉ số đó được nâng cấp
Luồng sự kiện phụ Không có
Luồng sự kiện lỗi và ngoại lệ
2a Người chơi không đủ tiền nâng cấp
Bảng PHÂN TÍCH YÊU CẦU.8 Use case nâng cấp tượng thần
Tên Usecase Nâng cấp quân lính
Mô tả Người chơi nâng cấp quân lính, có thể mở khóa kĩ năng mới của quân lính đó ở một cấp độ nhất định
Tiền điều kiện Người chơi ở trong màn hình cửa hàng
Hậu điều kiện Người chơi nâng cấp thành công quân lính
1 Người chơi chọn quân lính đã mở khóa và cần nâng cấp
2 Người chơi nhấn chọn Nâng cấp
3 Quân lính đó được nâng cấp
Luồng sự kiện lỗi và ngoại lệ
2a Người chơi không đủ tiền nâng cấp
Bảng PHÂN TÍCH YÊU CẦU.9 Use case nâng cấp quân lính
2.2.9 Nâng cấp phép bổ trợ
Tên Usecase Nâng cấp phép bổ trợ
Mô tả Người chơi có thể nâng cấp phép bổ trợ, tăng độ hiệu quả của phép bổ trợ
Tiền điều kiện Người chơi ở trong màn hình cửa hàng
Hậu điều kiện Người chơi nâng cấp thành công phép bổ trợ
Luồng sự kiện chính 1 Người chơi chọn phép bổ trợ đã mở khóa và cần nâng cấp
2 Người chơi nhấn chọn Nâng cấp
3 Phép bổ trợ đó được nâng cấp
Luồng sự kiện phụ Không có
Luồng sự kiện lỗi và ngoại lệ
2a Người chơi không đủ tiền nâng cấp
Bảng PHÂN TÍCH YÊU CẦU.10 Use case nâng cấp phép bổ trợ
Tên Usecase Mở khóa quân lính
Mô tả Người chơi có thể mở khóa một quân lính chưa sở hữu
Tiền điều kiện Người chơi ở trong màn hình cửa hàng
Hậu điều kiện Người chơi mở khóa thành công một quân lính
Luồng sự kiện chính 1 Người chơi chọn quân lính hiện chưa sở hữu
2 Người chơi nhấn chọn Mở khóa
3 Quân lính đó được mở khóa
Luồng sự kiện phụ Không có
Luồng sự kiện lỗi và ngoại lệ
2a Người chơi không đủ tiền để mở khóa
Bảng PHÂN TÍCH YÊU CẦU.11 Mở khóa quân lính
2.2.11 Mở khóa phép bổ trợ
Tên Usecase Mở khóa phép bổ trợ
Mô tả Người chơi có thể mở khóa một phép bổ trợ chưa sở hữu
Tiền điều kiện Người chơi ở trong màn hình cửa hàng
Hậu điều kiện Người chơi mở khóa thành công một phép bổ trợ Luồng sự kiện chính 1 Người chơi chọn phép bổ trợ chưa mở khóa
3 Phép bổ trợ đó được mở khóa
Luồng sự kiện phụ Không có
Luồng sự kiện lỗi và ngoại lệ
2a Người chơi không đủ tiền để mở khóa
Bảng PHÂN TÍCH YÊU CẦU.12 Mở khóa phép bổ trợ
Yêu cầu phi chức năng
Trò chơi phải đảm bảo đầy đủ tài nguyên ảnh và âm thanh
Trò chơi phải cài đặt hiệu ứng âm thanh cho mọi nút nhấn
Trò chơi phải có nhạc nền tùy chỉnh theo âm lượng ở tất cả các màn hình
Trò chơi không được xuất hiện hiện tượng crash, tụt FPS, văng ứng dụng
Trò chơi phải chạy ổn định ở các máy cấu hình thấp
THIẾT KẾ DỮ LIỆU
Sơ đồ máy trạng thái
3.1.1 Sơ đồ trạng thái của màn chơi
Hình Sơ đồ máy trạng thái.5 Sơ đồ trạng thái của một màn chơi
Tên trạng thái Mô tả
Level start Bắt đầu màn chơi, nạp các tài nguyên cần thiết
Level running Chạy màn chơi, cho phép người chơi thao tác và theo dõi màn chơi
Trong trò chơi, trạng thái "Level pause" (Tạm dừng màn chơi) chỉ được kích hoạt khi người dùng nhấn chọn nút Cài đặt trên màn hình, giúp tạm dừng quá trình chơi để thao tác hoặc kiểm tra Khi người chơi hoàn thành level, trạng thái "Level end" (Kết thúc màn chơi) sẽ được kích hoạt, hiển thị phần thưởng và kết quả của màn chơi, góp phần nâng cao trải nghiệm và thúc đẩy người chơi tiếp tục khám phá game.
Bảng THIẾT KẾ DỮ LIỆU.13 Danh sách các trạng thái của màn chơi
3.1.2 Sơ đồ trạng thái của đơn vị lính
Hình Sơ đồ máy trạng thái.6 Sơ đồ trạng thái của một đơn vị lính
Tên trạng thái Mô tả
Idle Đơn vị lính ở trạng thái nghỉ, không thực hiện hoạt động trong màn chơi
Run Đơn vị lính chạy, di chuyển đến kẻ địch hoặc công trình đối thủ
Attack Đơn vị lính tấn công kẻ địch hoặc công trình bằng đòn đánh cơ bản
Trong trò chơi, các đơn vị lính có khả năng thi triển các kỹ năng đặc biệt để chiến đấu hiệu quả Mỗi đơn vị khác nhau sẽ có kỹ năng riêng biệt, như kỹ năng thứ nhất và kỹ năng thứ hai, nhằm tăng khả năng chiến đấu và hỗ trợ đồng đội Khi đơn vị lính bị tiêu diệt, chúng sẽ bị loại khỏi trận địa, ảnh hưởng đến kết quả trận đấu và chiến thuật của người chơi Việc hiểu rõ các kỹ năng của từng đơn vị giúp tối ưu hóa chiến lược và nâng cao khả năng chiến thắng trong game.
Bảng THIẾT KẾ DỮ LIỆU.14 Danh sách các trạng thái của đơn vị lính
ScriptableObjects
Dữ liệu trực tiếp (live data) của người chơi sẽ được quản lý bởi các
ScriptableObject (SO) là các đối tượng lưu trữ thông số cài đặt tĩnh của game như HP, sát thương, tốc độ nhằm thuận tiện cho việc quản lý và nạp dữ liệu vào chương trình Các SO giúp tối ưu hóa việc lưu trữ và truy xuất dữ liệu cấu hình của các đối tượng và hệ thống trong game một cách dễ dàng và có tổ chức Việc sử dụng ScriptableObject còn giúp tăng tính mở rộng, bảo trì, và tái sử dụng mã nguồn hiệu quả hơn trong quá trình phát triển game.
Unit là một lớp đại diện cho một đơn vị lính trong game ScriptableObject tương ứng của Unit là UnitBaseStatsSO
Trường "unitName" là tên của đơn vị lính, giúp người đọc dễ dàng nhận diện và phân biệt các đơn vị khác nhau Mô tả chi tiết về "unitDescription" cung cấp thông tin tổng quan về đặc điểm và vai trò của đơn vị lính trong game hoặc dự án của bạn Hình ảnh "image" minh họa rõ nét về đơn vị, thu hút sự chú ý và tăng tính trực quan cho nội dung Thông tin "isRangeUnit" phân loại đơn vị là lính tầm xa hay tầm gần, giúp người chơi hoặc người đọc hiểu rõ khả năng chiến đấu của đơn vị Cuối cùng, "attackProjectile" cung cấp thông tin về vật thể phóng dùng trong tấn công, quan trọng cho việc xác định hành động chiến đấu của đơn vị trong các trận đấu hoặc chiến dịch.
(nếu là lính tầm xa) manaCost Năng lượng tiêu hao để triển khai đơn vị lính cooldownInterval Thời gian để có thể triển khai lại đơn vị lính
The attackAnimationDelay determines the delay in the attack animation in seconds, enhancing combat fluidity Critical strike chance (critStrikeChance) indicates the probability of landing a critical hit, while critStrikeDamage reflects the extra damage dealt on such critical hits Attack range defines how far a unit can strike enemies, and movementSpeed influences the unit's mobility across the battlefield Each unit possesses specific skills, with firstSkill and secondSkill representing their primary and secondary abilities, respectively Additionally, unitUpgradeDetails provide a comprehensive list of upgrade milestones, enabling strategic advancements for each unit Incorporating these metrics can optimize gameplay performance and improve SEO relevance for game strategy content.
(mỗi nâng cấp trong đó bao gồm chỉ số máu tối đa và sát thương)
Bảng THIẾT KẾ DỮ LIỆU.15 Danh sách các trường của UnitBaseStatsSO
SpellBase là lớp thuần ảo đại diện cho các phép bổ trợ được sử dụng
ScriptableObject tương ứng của SpellBase là SpellDetailsSO
Trường "Tên trường" mô tả tên của phép bổ trợ, giúp người chơi dễ dàng nhận biết và lựa chọn phù hợp "spellName" là tên của phép, đóng vai trò quan trọng trong việc xác định chức năng và tính năng đặc trưng của phép bổ trợ đó "spellDescription" cung cấp thông tin chi tiết về hiệu quả và cách sử dụng của phép, hỗ trợ người chơi hiểu rõ hơn về tác dụng của nó Hình ảnh "image" minh họa phép bổ trợ, giúp người chơi dễ hình dung và nhận diện nhanh chóng Thời gian hồi chiêu "spellCooldown" xác định khoảng thời gian để phép có thể sử dụng lại, ảnh hưởng đến chiến thuật chơi Năng lượng tiêu hao "manaCost" cho phép triển khai phép, quan trọng trong việc quản lý tài nguyên trong game Cuối cùng, danh sách các tham số khác "spellAttributeList" cung cấp các đặc tính bổ sung giúp tối ưu hóa việc sử dụng phép bổ trợ trong các tình huống khác nhau.
Bảng THIẾT KẾ DỮ LIỆU.16 Danh sách các trường của SpellDetailsSO
Lớp Level quản lý các yếu tố của màn chơi như thông tin địch, thông tin người chơi, ScriptableObject của Level là LevelDetailsSO
Trường "firstTimeRewardedGold" ghi nhận phần thưởng vàng cho người chơi nhận lần đầu tiên hoàn thành màn chơi, giúp thúc đẩy trải nghiệm chơi game ban đầu hấp dẫn hơn "replayRewardedGold" đề cập đến phần thưởng vàng dành cho mỗi lần chơi lại màn, khuyến khích người chơi thử thách thêm lần nữa để nhận thưởng cảm xúc và tăng thời gian chơi Với "rewardedGems", người chơi sẽ nhận được đá quý trong lần chơi đầu tiên, mở ra các cơ hội nâng cấp và mua sắm trong game Hệ thống sinh kẻ địch được thiết lập với các tham số như "enemySpawnConsistent" cho biết việc kẻ địch xuất hiện đều hay không, còn "enemySpawnableList" là danh sách các loại kẻ địch có thể xuất hiện trên màn chơi Thông số sức mạnh của kẻ địch được thể hiện qua "enemyStatueMaxHealth" (máu tối đa của công trình phe địch), "enemyMaxMana" (mana tối đa của hệ thống sinh địch) và "enemyManaPerSecond" (tốc độ hồi mana của kẻ địch), giúp cân bằng gameplay và tạo thử thách phù hợp cho người chơi.
Bảng THIẾT KẾ DỮ LIỆU.17 Danh sách các trường của LevelDetailsSO
Effect lưu trữ thông tin của hiệu ứng Các hiệu ứng có thể tác động đơn vị đồng minh hoặc kẻ địch ScriptableObject của Effect là EffectSO
Tên trường Mô tả effectName Tên của phép bổ trợ valueType Cho biết loại giá trị của phép: giá trị tuyệt đối
Trong quá trình sử dụng phép bổ trợ trong trò chơi, người chơi có thể thiết lập giá trị theo dạng tuyệt đối (Absolute) hoặc theo phần trăm (Percentage) để điều chỉnh tác động của hiệu ứng Giá trị này thể hiện mức độ ảnh hưởng của phép ảnh hưởng đến mục tiêu, như ảnh hưởng đến hình ảnh đại diện trên thanh chọn hoặc trong cửa hàng Các tham số quan trọng khác bao gồm affectTargetLayer, giúp xác định loại mục tiêu mà hiệu ứng hướng tới, và timeInterval, thể hiện thời gian tồn tại của hiệu ứng trong trận đấu Việc tối ưu hóa các yếu tố này giúp nâng cao hiệu quả và chiến thuật khi sử dụng phép bổ trợ.
Bảng THIẾT KẾ DỮ LIỆU.18 Danh sách các trường của EffectSO
THIẾT KẾ GIAO DIỆN
Giao diện Main Menu
Là giao diện đầu tiên khi người dùng mở trò chơi Gồm nút bắt đầu trò chơi và nút cài đặt để mở hộp thoại cài đặt
Hình Giao diện Main Menu.7 Giao diện màn hình Main Menu
Giao diện Select Level
Giao diện chọn màn chơi cho phép người dùng dễ dàng lựa chọn cấp độ và nhấn nút Play để bắt đầu trải nghiệm Ngoài ra, người chơi còn có thể truy cập vào giao diện Build bằng cách nhấn nút Build để tùy chỉnh các yếu tố trong game Ở giao diện Upgrade, người dùng có thể nâng cấp các kỹ năng hoặc vật phẩm để trở nên mạnh mẽ hơn Đặc biệt, nút Menu giúp quay trở về màn hình chính, mang lại trải nghiệm chơi game thuận tiện và đầy đủ.
Trong mỗi màn chơi, người chơi sẽ nhận được thông tin về số vàng và đá quý tích lũy sau chiến thắng, giúp theo dõi tiến trình của mình Khi hoàn thành lần đầu mỗi màn, người chơi còn nhận thưởng bổ sung để thúc đẩy trải nghiệm game thêm phần hấp dẫn Thông tin về số vàng và đá quý đã kiếm được luôn hiển thị rõ ràng ở góc trên màn hình, giúp người chơi dễ dàng kiểm tra thành tích của mình mọi lúc.
Hình Giao diện Select Level.8 Giao diện màn hình Select Level
Giao diện Level
Giao diện chơi của game bao gồm bản đồ, thanh chọn lính hoặc phép triển khai, cùng nút tạm dừng Người chơi có thể theo dõi các thông tin quan trọng như lượng mana hiện có, tốc độ hồi mana, và số vàng kiếm được trong mỗi màn chơi tại góc trái của thanh chọn Thanh chọn cho phép người chơi chuyển đổi giữa Tab Lính và Tab Phép để hiển thị các ô chứa lính hoặc phép tương ứng Mỗi ô trên giao diện chứa một loại lính hoặc phép cùng với số mana tối thiểu cần thiết để triệu hồi, giúp người chơi lên kế hoạch chiến thuật một cách chính xác.
Khi người chơi thắng (hoặc thua), một màn hình kết thúc màn sẽ được hiển thị
Hình Giao diện Level.9 Giao diện level
Giao diện Upgrade
Giao diện hiển thị thông tin các lính, phép hoặc thuộc tính công trình đã mở khóa hoặc chưa mở khóa, giúp người chơi dễ dàng quản lý và tra cứu Khi bạn chọn một ô lính, phép hoặc thuộc tính công trình bất kỳ, thông tin chi tiết về chúng sẽ tự động hiển thị ở góc phải của màn hình, hỗ trợ tối đa quá trình chơi và nâng cao trải nghiệm người dùng.
Hình Giao diện Upgrade.10 Giao diện Upgrade
Giao diện Build
Giao diện cho phép người chơi xây dựng đội hình lính và phép trước khi vào màn chơi Người chơi ấn chọn một quân lình ở góc dưới
Hình Giao diện Build.11 Giao diện Build