Giới thiệu dự án
Thị trường trò chơi điện tử toàn cầu đang chứng kiến sự tăng trưởng vượt bậc với quy mô doanh thu hàng trăm tỷ USD, trong đó phân khúc game nhập vai hành động (Action Role-Playing Game - ARPG) chiếm tỷ trọng doanh thu và lượng người chơi trung thành đáng kể. Tại Việt Nam, ngành công nghiệp phát triển game đang chuyển dịch mạnh mẽ từ các dự án 2D Casual đơn giản sang các sản phẩm 3D phức tạp ứng dụng công nghệ đồ họa thế hệ mới. Tuy nhiên, việc phát triển các tựa game 3D ARPG góc nhìn từ trên xuống (Top-Down) chất lượng cao đòi hỏi việc giải quyết đồng thời các bài toán kỹ thuật hóc búa: tối ưu hóa pipeline đồ họa thời gian thực, quản lý kiến trúc mã nguồn module hóa, đồng bộ trạng thái chiến đấu tốc độ cao và xây dựng hệ thống trí tuệ nhân tạo (AI) cho kẻ địch có tính thích ứng chiến thuật.
Đồ án tốt nghiệp "Phát triển Game 3D Top-Down RPG" do sinh viên Trần Trung Thành thực hiện dưới sự hướng dẫn của ThS. Nguyễn Thị Thanh Trúc tại Khoa Công nghệ Phần mềm, Trường Đại học Công nghệ Thông tin - ĐHQG TP.HCM (UIT) đã giải quyết trọn vẹn các thách thức trên. Dự án xây dựng một hệ thống game 3D hoàn chỉnh lấy cảm hứng từ thể loại dungeon crawler tuyến tính, tập trung vào cơ chế combat nhịp độ cao, hệ thống trạng thái Buff/Debuff động và kiến trúc quản trị dữ liệu linh hoạt trên nền tảng Unreal Engine.
+-------------------------------------------------------------------------+
| CÁC MỤC TIÊU CỐT LÕI CỦA DỰ ÁN |
+-------------------------------------------------------------------------+
| [1] Kiến trúc hóa hệ thống Game Instance & Managers theo Singleton Pattern|
| [2] Xây dựng Combat Pipeline thời gian thực thông qua Animation Notify |
| [3] Tích hợp hệ thống AI Enemy đa tầng qua Behavior Tree & Blackboard |
| [4] Thiết kế cơ chế Buff/Debuff toán học hóa cùng hệ thống 5 Class vũ khí|
| [5] Xây dựng Data-Driven Architecture quản trị chỉ số qua UDataTable |
+-------------------------------------------------------------------------+
Dự án áp dụng giải pháp kết hợp giữa ngôn ngữ C++ hiệu năng cao và Blueprint trực quan của Unreal Engine, kết hợp với các mẫu thiết kế phần mềm (Design Patterns) chuẩn mực nhằm tối ưu hóa bộ nhớ và khả năng mở rộng. Kết quả kỳ vọng là một bản build độc lập (Standalone Build) mượt mà trên hệ điều hành Windows 10/11 64-bit, duy trì ổn định 60 FPS với dung lượng RAM dưới 2.0 GB và độ trễ phản hồi input dưới 16.6ms. Phạm vi nghiên cứu tập trung vào trải nghiệm Single-player Offline, cơ chế vượt ải đánh Boss, hệ thống rèn đúc trang bị, luyện chế Potion và chuyển đổi class linh hoạt theo vũ khí.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Khảo sát các tựa game ARPG kinh điển và hiện đại cho thấy bức tranh rõ nét về sự cân bằng giữa tính phức tạp của hệ thống và trải nghiệm điều khiển của người chơi.
| Tiêu chí phân tích |
Diablo Series (Blizzard) |
The Witcher 3 (CD Projekt Red) |
Đồ án 3D Top-Down RPG (UIT) |
| Góc nhìn camera |
Top-Down Isometric cố định |
Third-Person góc nhìn thứ ba |
Top-Down 3D Perspective linh hoạt |
| Nhịp độ chiến đấu |
Nhanh, phụ thuộc spam skill/loot |
Chậm, thiên về tính toán/phản xạ |
Nhanh, né đòn (Dash iframe), combo vũ khí |
| Hạ tầng kết nối |
Bắt buộc Online / Server-authoritative |
Single-player Offline |
Single-player Offline độc lập |
| Độ phức tạp hệ thống |
Rất cao, khó tiếp cận cho Indie |
Rất cao, thế giới mở rộng lớn |
Module hóa gọn gàng, tối ưu cho Indie/PC |
| Cơ chế đổi Class |
Cố định từ đầu ván chơi |
Không đổi class (Cố định Geralt) |
Đổi Class tức thời theo 5 loại vũ khí |
Dựa trên phân tích khoảng trống thị trường (Gap Analysis) và yêu cầu kỹ thuật, các tính năng của dự án được phân bổ theo mô hình phân loại yêu cầu MoSCoW:
- Must have (Bắt buộc): Hệ thống di chuyển 8 hướng và xoay theo chuột; Combat combo bằng hitbox (
DamageBox, DamageSphere); 5 Class vũ khí (Knight, Archer, Single Sword Warrior, Double Sword Warrior, Mage); AI Behavior Tree cho quái thường và Boss; Hệ thống túi đồ (Inventory) và chỉ số trang bị.
- Should have (Nên có): Hệ thống bùa lợi và bất lợi đa dạng (13 loại Buff/Debuff); Bẫy môi trường (
Gimmick Bomb, Fire Arrow, Meteorite); Hệ thống rèn nâng cấp vũ khí và luyện đan dược; Tính toán sát thương có thuộc tính xuyên giáp (PierceDefense).
- Could have (Có thể mở rộng): Bảng chọn Buff ngẫu nhiên theo phong cách Roguelike khi dọn phòng quái tinh anh; Vật thể phá hủy rơi đồ (
Obstacle Jar).
- Won't have (Tạm hoãn): Chế độ nhiều người chơi qua mạng (Multiplayer Network Replication); Hệ thống nhiệm vụ phân nhánh phức tạp.
Thiết kế hệ thống
Kiến trúc phần mềm của trò chơi được xây dựng theo mô hình hướng đối tượng phân lớp, kết hợp mẫu thiết kế Singleton tập trung hóa để giải quyết triệt để vấn đề phân mảnh dữ liệu giữa các Level chuyển cảnh trong Unreal Engine.
graph TD
subgraph Core Architecture
GI[URPGGameInstance] -->|Manages| HM[HeroMgr]
GI -->|Manages| HBM[HeroBuffMgr]
GI -->|Manages| IM[ItemMgr]
GI -->|Manages| SM[StageMgr]
GI -->|Manages| TM[TableMgr]
GI -->|Manages| UM[UIBaseMgr]
GI -->|Manages| AM[AssetMgr]
end
subgraph Data-Driven Layer
TM -->|Loads| DT1[HeroTable]
TM -->|Loads| DT2[ItemEquipmentInfoTable]
TM -->|Loads| DT3[ItemBuffInfoTable]
TM -->|Loads| DT4[StageInfoTable]
end
subgraph Gameplay Entities
HM -->|Controls| P[Player Character]
P -->|Applies Damage| AI[Enemy AI / Boss]
HBM -->|Calculates Effect| P
HBM -->|Calculates Effect| AI
IM -->|Provides Equipment| P
end
Công nghệ sử dụng bao gồm:
- Game Engine: Unreal Engine 5.3 (C++ Source + Blueprint Visual Scripting).
- Môi trường phát triển: Microsoft Visual Studio 2022 v17.x, Windows SDK 10.0.
- Đồ họa & Hiệu ứng: Unreal Niagara & Cascade Particle System, Skeletal Mesh Animation Retargeting.
- Cơ sở dữ liệu cục bộ: Unreal Data Table (
UDataTable) ánh xạ cấu trúc FTableRowBase từ file định dạng CSV/JSON.
Thiết kế bảng dữ liệu (Data Schema)
Hệ thống chỉ số nhân vật và trang bị được số hóa thông qua các bảng cấu trúc chuẩn:
[HeroParamTable]
- HeroID: FName (Primary Key)
- BasePhysicAtk: float
- BaseMagicAtk: float
- BaseHP: float
- BaseDef: float
- BaseMagicDef: float
- AttackSpeedRate: float
- MoveSpeedRate: float
- CriticalRatio: float
- PierceDef: float
- PierceMagicDef: float
[ItemEquipmentInfoTable]
- ItemID: int32 (Primary Key)
- ItemName: FText
- EquipmentType: EEquipmentType (Weapon, Shoes, Armor, Gloves)
- WeaponClass: EWeaponClass (Knight, Archer, SingleSword, DoubleSword, Mage)
- AddedPhysicAtk: float
- AddedDef: float
- UpgradeCostMultiplier: float
Methodology
Dự án triển khai theo quy trình Agile/Scrum rút gọn với 4 giai đoạn chính kéo dài trong 16 tuần:
- Sprint 1 (Tuần 1-4): Xây dựng Core Framework, thiết kế cấu trúc Singleton
URPGGameInstance, lập trình Controller di chuyển nhân vật và gắn kết Animation Retargeting.
- Sprint 2 (Tuần 5-8): Hiện thực hóa Combat Pipeline, xây dựng Animation Notify State (
Notify DamageBox/DamageSphere), lập trình toán tử sát thương và thiết lập 13 trạng thái Buff/Debuff.
- Sprint 3 (Tuần 9-12): Thiết kế trí tuệ nhân tạo AIController, thiết lập cây hành vi
Behavior Tree, tích hợp Blackboard và tinh chỉnh thuật toán tìm đường Navigation Mesh A*.
- Sprint 4 (Tuần 13-16): Xây dựng hệ thống UI qua Unreal Motion Graphics (UMG), cân bằng chỉ số Data Tables, kiểm thử hiệu năng, xử lý lỗi tràn bộ nhớ và đóng gói bản phát hành.
Implementation và kết quả
Development process
Cốt lõi kỹ thuật của dự án nằm ở 3 module chính: Quản lý Singleton trung tâm, Cơ chế va chạm sát thương theo hoạt ảnh (Anim Notify Hitbox), và Trí tuệ nhân tạo AI Controller.
1. Triển khai kiến trúc quản lý Singleton
Để ngăn chặn memory leak và đảm bảo việc truy cập toàn cục an toàn giữa các hệ thống, URPGGameInstance quản lý danh sách các Sub-Manager thông qua bản đồ con trỏ đối tượng:
// Source: URPGGameInstance.h / RPGGameInstance.cpp
UCLASS()
class RPG_API URPGGameInstance : public UGameInstance
{
GENERATED_BODY()
private:
static URPGGameInstance* _instance;
UPROPERTY()
TMap<UClass*, UObject*> map_mgr_;
public:
virtual void Init() override;
virtual void Shutdown() override;
static URPGGameInstance* Instance() { return _instance; }
template<typename T>
T* GetMgrByClass()
{
UClass* MgrClass = T::StaticClass();
if (map_mgr_.Contains(MgrClass))
{
return Cast<T>(map_mgr_[MgrClass]);
}
return nullptr;
}
};
2. Công thức toán học tính toán sát thương & Xử lý va chạm
Hệ thống tính toán sát thương thời gian thực kết hợp chỉ số phòng thủ và tỷ lệ xuyên giáp được mô hình hóa theo công thức phi tuyến tính:
$$\text{Damage} = \text{TotalAtk} \times \left( \frac{600}{600 + \text{Defense} - \text{PierceDefense}} \right) \times \text{MagnificationRatio}$$
Trong đó:
- $\text{TotalAtk} = \text{PhysicAtk} + \text{PlusPhysicAtk}$ (đối với đòn vật lý) hoặc $\text{MagicAtk} + \text{PlusMagicAtk}$ (đối với đòn ma thuật).
- $\text{Defense} = \text{Def}$ hoặc $\text{MagicDef}$ tương ứng.
- $\text{PierceDefense} = \text{PierceDef}$ hoặc $\text{PierceMagicDef}$.
- $\text{MagnificationRatio} = 2.0$ khi kích hoạt đòn đánh chí mạng (Critical Hit dựa trên
CriticalRatio), ngược lại bằng $1.0$.
// Logic thực thi sát thương qua Anim Notify
float ARPGCharacterBase::CalculateFinalDamage(float RawAtk, float TargetDef, float PierceDef, bool bIsCrit)
{
float EffectiveDef = FMath::Max(0.0f, TargetDef - PierceDef);
float DefenseReduction = 600.0f / (600.0f + EffectiveDef);
float CritMultiplier = bIsCrit ? 2.0f : 1.0f;
return RawAtk * DefenseReduction * CritMultiplier;
}
Quá trình quét va chạm được kích hoạt chuẩn xác theo từng frame hoạt ảnh nhờ DamageBox và DamageSphere gắn trực tiếp vào Socket của vũ khí thông qua AnimNotifyState. Khi phát hiện va chạm với CapsuleComponent của đối phương, hệ thống sẽ đồng thời kích hoạt hiệu ứng HitFreezeDuration (khựng khung hình tạo cảm giác lực) và KnockbackDistance (đẩy lùi mục tiêu).
3. Cây hành vi AI và Thuật toán tìm đường
Kẻ địch (Bat, Golem, Orc, Worm) và Boss Bat được điều khiển thông qua AIController. Unreal Engine Navigation Mesh ứng dụng thuật toán tìm kiếm $A^*$ với hàm heuristic khoảng cách Euclid:
$$f(n) = g(n) + h(n) = g(n) + \sqrt{(X_{goal} - X_{current})^2 + (Y_{goal} - Y_{current})^2}$$
+-------------------------------------------------------------+
| BEHAVIOR TREE LOGIC WORKFLOW |
+-------------------------------------------------------------+
| [ROOT] |
| └── [Selector: Main Combat Decision] |
| ├── [Sequence: Execute Boss Special Skill] |
| │ ├── Decorator: IsTargetInSkillRange? |
| │ ├── Decorator: IsCooldownReady? |
| │ ├── Action: Cast Ice Balls / Dash Attack |
| │ └── Action: Set Cooldown Timer |
| ├── [Sequence: Melee/Ranged Attack Execution] |
| │ ├── Decorator: IsTargetInAttackRange? |
| │ └── Action: Play Attack Montage & Notify Hit |
| └── [Sequence: Target Tracking & Pathfinding] |
| ├── Service: Update Target Location Vector |
| └── Action: MoveTo (A* Navigation Mesh) |
+-------------------------------------------------------------+
Testing và validation
Quá trình kiểm thử được thực hiện đa diện từ Unit Testing các hàm tính toán chỉ số đến Performance Profiling trực tiếp trong engine:
- Test Case bao phủ: 42 kịch bản use case được kiểm thử (25 use case người chơi, 17 kịch bản tương tác combat và AI). Tỷ lệ vượt qua đạt 100% trên các luồng nghiệp vụ chính.
- Kiểm thử hiệu năng (Stress Test): Sinh đồng thời 50 thực thể quái
Bat và 1 Boss Bat cùng 3 bẫy Meteorite trong cùng một phân cảnh chiến đấu.
- User Acceptance Testing (UAT): Thử nghiệm với nhóm 15 người chơi trải nghiệm đánh giá độ phản hồi điều khiển, độ khó và tính cân bằng của các lớp nhân vật.
| Thông số Benchmark |
Mục tiêu thiết kế |
Kết quả thực tế (GTX 1650 / i5-10400) |
Kết quả thực tế (RTX 3060 / i7-12700) |
| Tốc độ khung hình (FPS) |
60 FPS ổn định |
58.4 - 62.1 FPS |
120+ FPS (Capped) |
| Thời gian xử lý khung hình (Frame Time) |
< 16.6 ms |
16.1 ms |
8.2 ms |
| Mức chiếm dụng RAM |
< 2.5 GB |
1.78 GB |
1.84 GB |
| Draw Calls mỗi khung hình |
< 1500 calls |
850 - 1120 calls |
890 - 1150 calls |
| Tỷ lệ tiêu diệt Bug nghiêm trọng |
100% |
18/18 lỗi nghiêm trọng được khắc phục |
- |
Kết quả đạt được
Dự án đã hoàn thành 100% các tính năng đề ra trong đề cương khóa luận ban đầu:
- Xây dựng hoàn chỉnh 5 Class nhân vật chiến đấu mượt mà với hoạt ảnh và hạt hiệu ứng Particle riêng biệt.
- Vận hành ổn định hệ thống 13 Buff/Debuff phức tạp: Thiêu đốt, Đóng băng, Choáng (Stun), Làm chậm (Slow), Chảy máu (Bleeding), Làm mù (Blindness), Hồi máu tức thì, Hồi máu theo thời gian, Bất tử, Tăng tốc đánh, Kháng khống chế (CC Immune), Tạo khiên chắn (Shield), Tăng tốc chạy.
- Hệ thống kinh tế trong game gồm: Quản lý Inventory, Rèn vũ khí, Nâng cấp phẩm chất trang bị, và Luyện chế Dược phẩm từ nguyên liệu nhặt được trong hầm ngục.
- Điểm đánh giá trải nghiệm người dùng đạt trung bình 8.8/10 điểm về độ mượt mà của hệ thống chiến đấu và độ thử thách của AI Boss.
Đổi mới và đóng góp
- Module hóa hệ thống Combat dựa trên Data-Driven & AnimNotifyState: Thay vì gắn trực tiếp logic sát thương vào mã nguồn nhân vật, việc sử dụng các Notify State chuyên biệt (
Notify DamageBox/DamageSphere) cho phép Designer có thể điều chỉnh phạm vi, lực đánh (Knockback), thời gian khựng (HitFreeze) và gắn thẻ Buff/Debuff trực tiếp trên thanh Timeline của Animation mà không cần can thiệp C++.
- Kiến trúc Buff/Debuff có khả năng xếp chồng và tính toán động: Hệ thống cho phép gắn trực tiếp các Effect Component lên Skeleton Bone của nhân vật, tự động quản lý thời gian hiệu lực và hoàn trả chỉ số gốc chính xác tuyệt đối sau khi bùa lợi/bùa hại kết thúc.
- Tối ưu hóa quản trị bộ nhớ qua Singleton GameInstance Manager: Triển khai cơ chế nạp lười (Lazy Loading) và quản lý tập trung toàn bộ Manager thông qua
URPGGameInstance, giúp giảm 35% chi phí khởi tạo lại dữ liệu khi chuyển đổi màn chơi (Stage Transition) so với việc đặt Manager cục bộ trên Level Blueprint.
Ứng dụng thực tế và triển khai
Kịch bản triển khai thực tế
Sản phẩm được định hình như một tựa game thương mại hóa quy mô Indie trên các nền tảng phân phối số (Steam, Epic Games Store, itch.io), hoặc sử dụng làm bộ khung mẫu (Framework Template) chất lượng cao phục vụ đào tạo lập trình game chuyên nghiệp tại các trường đại học.
+-----------------------------------------------------------------------+
| YÊU CẦU CẤU HÌNH PHẦN CỨNG HỆ THỐNG |
+-----------------------------------------------------------------------+
| Yếu tố Cấu hình tối thiểu Cấu hình đề nghị |
| OS Windows 10 64-bit Windows 10/11 64-bit |
| CPU Intel Core i3-8100 / AMD 1200 Intel Core i5-10400 / AMD 3600 |
| GPU NVIDIA GTX 1050 Ti (4GB) NVIDIA GTX 1660 Super / RTX 3060 |
| RAM 8 GB System RAM 16 GB System RAM |
| DirectX DirectX 11 DirectX 12 |
| Lưu trữ 5 GB dung lượng trống (SSD) 5 GB dung lượng SSD NVMe|
+-----------------------------------------------------------------------+
Lộ trình phát triển & Ước tính hiệu quả
+-------------------------------------------------------------------------+
| LỘ TRÌNH THƯƠNG MẠI HÓA (ROADMAP) |
+-------------------------------------------------------------------------+
| [Giai đoạn 1] Phát hành bản Alpha Test (Offline Single-player) |
| [Giai đoạn 2] Tích hợp Steam SDK, Thành tựu (Achievements), Cloud Save |
| [Giai đoạn 3] Mở rộng Network Replication (Hỗ trợ Co-op 2-4 người) |
| [Giai đoạn 4] Bổ sung Thuật toán tạo ải tự động (Procedural Generation) |
+-------------------------------------------------------------------------+
Chi phí phát triển mô hình hóa cho thấy việc tận dụng Unreal Engine và Data-Driven Design giúp giảm 50% thời gian sản xuất nội dung mới (New Stages/Monsters) trong các giai đoạn mở rộng tiếp theo.
Hạn chế và hướng phát triển
Dù đạt được toàn bộ mục tiêu kỹ thuật đề ra, đề tài vẫn tồn tại một số giới hạn cần được nâng cấp:
- Hạn chế kỹ thuật: Game hiện tại chỉ hỗ trợ trải nghiệm chơi đơn Offline; Hệ thống âm thanh (SFX/BGM dynamic) chưa được tích hợp đầy đủ hệ thống lọc vị trí âm thanh 3D; Số lượng màn chơi và chủng loại quái vật còn dừng ở mức tiêu chuẩn cho một bản Demo hoàn chỉnh.
- Hướng phát triển tương lai:
- Tái cấu trúc mã nguồn mạng sử dụng cơ chế Server-Authoritative Client Replication của Unreal Engine để hỗ trợ chế độ Co-op Online 2-4 người chơi.
- Ứng dụng thuật toán phân nhánh sinh hầm ngục tự động (Procedural Dungeon Generation) nhằm gia tăng giá trị chơi lại (Replay Value).
- Tích hợp hệ thống cây kỹ năng phân nhánh (Talent Tree) chuyên sâu cho từng lớp nhân vật.
Đối tượng hưởng lợi
+-------------------------------------------------------------------------+
| GIÁ TRỊ MANG LẠI CHO CÁC NHÓM ĐỐI TƯỢNG |
+-------------------------------------------------------------------------+
| [SINH VIÊN] Tài liệu tham khảo chuẩn mực về cấu trúc đồ án Game ARPG, |
| nắm vững cách kết hợp C++ và Blueprint trong Unreal Engine. |
| [LẬP TRÌNH VIÊN] Mẫu thiết kế Singleton Manager, cơ chế Anim Notify |
| Hitbox và Behavior Tree AI có thể tái sử dụng ngay. |
| [DOANH NGHIỆP] Khung sườn kỹ thuật hoàn chỉnh để phát triển nhanh các |
| tựa game Top-Down ARPG thương mại với chi phí thấp. |
| [NHÀ NGHIÊN CỨU] Dữ liệu thực nghiệm về tối ưu thuật toán A* và cơ chế |
| xử lý trạng thái Buff/Debuff trong engine thời gian thực.|
+-------------------------------------------------------------------------+
Câu hỏi thường gặp
1. Game yêu cầu cấu hình tối thiểu và môi trường triển khai như thế nào?
Game yêu cầu hệ điều hành Windows 10/11 64-bit, vi xử lý tối thiểu tương đương Intel Core i3 thế hệ 8, 8GB RAM và card đồ họa chuyên dụng NVIDIA GeForce GTX 1050 Ti (4GB VRAM) có hỗ trợ DirectX 11/12. Bản cài đặt đã được đóng gói độc lập dạng Standalone Win64 Executable, không yêu cầu cài đặt sẵn Unreal Engine trên máy người dùng cuối.
2. Hệ thống quản lý dữ liệu trong game có khả năng mở rộng (Scalability) ra sao?
Toàn bộ thông số nhân vật, phẩm chất vật phẩm, công thức nâng cấp và chỉ số màn chơi đều được tách biệt hoàn toàn khỏi logic code và lưu trữ tại các UDataTable. Khi muốn thêm quái vật, vũ khí hoặc màn chơi mới, lập trình viên hoặc nhà thiết kế game chỉ cần thêm dòng mới vào file CSV/JSON tương ứng mà không cần phải biên dịch lại mã nguồn C++.
3. Làm thế nào để giải quyết xung đột trạng thái khi nhân vật dính nhiều Buff và Debuff cùng lúc?
Hệ thống HeroBuffMgr quản lý trạng thái dưới dạng một mảng các đối tượng Buff độc lập có gắn định danh và thời gian sống (Duration). Khi tính toán chỉ số cuối cùng, hệ thống sẽ duyệt qua các trạng thái: nếu có trạng thái CCImmune (Kháng khống chế), các Debuff gây hiệu ứng xấu (Choáng, Đóng băng, Làm chậm) sẽ bị hủy bỏ ngay lập tức; các hiệu ứng sát thương theo thời gian (Thiêu đốt, Chảy máu) sẽ được trừ trực tiếp vào lượng máu khả dụng sau khi đã hấp thụ hết lớp Shield (Khiên chắn).
4. Cơ chế chuyển đổi 5 Class nhân vật hoạt động như thế nào trong mã nguồn?
Game không khóa người chơi vào một lớp nhân vật cố định ngay từ đầu. Thay vào đó, việc chuyển đổi Class được kích hoạt động (Dynamic Class Switching) mỗi khi người chơi thay đổi vũ khí chính trong Inventory. Khi một loại vũ khí mới được trang bị, HeroMgr sẽ đọc thông tin WeaponClass từ ItemEquipmentInfoTable, tự động thay thế bộ Animation Montage tương ứng và gán lại bộ kỹ năng đặc trưng của Class đó.
5. Dự án xử lý hiện tượng drop khung hình khi có nhiều quái vật và hiệu ứng hạt cùng lúc bằng cách nào?
Dự án áp dụng nhiều kỹ thuật tối ưu hóa phần cứng chuyên sâu:
- Sử dụng Animation Budget Allocator để giảm tần suất cập nhật khung xương (Tick rate) đối với các quái vật ở xa tầm quan sát camera.
- Thiết lập khoảng cách hiển thị chi tiết (LOD - Level of Detail) cho toàn bộ 3D Mesh trong hầm ngục.
- Tái sử dụng các hạt hiệu ứng Particle System và tối ưu phạm vi quét va chạm (Collision Sweep) của các hộp
DamageBox, giúp duy trì ổn định 60 FPS ngay cả trong các pha giao tranh mật độ cao.
Kết luận
Đồ án "Phát triển Game 3D Top-Down RPG" của tác giả Trần Trung Thành đã hoàn thành xuất sắc mục tiêu nghiên cứu và ứng dụng kỹ thuật phát triển game tiên tiến trên nền tảng Unreal Engine. Thông qua việc tổ chức mã nguồn bài bản với mẫu thiết kế Singleton, xây dựng hệ thống tính toán va chạm chiến đấu nhịp độ cao bằng Animation Notify, thiết lập 13 trạng thái Buff/Debuff đa dạng và phát triển AI thông minh qua Behavior Tree, đồ án đã chứng minh tính khả thi cao và năng lực làm chủ công nghệ đồ họa 3D hiện đại. Đây không chỉ là một công trình học thuật chỉn chu, hoàn chỉnh về mặt kỹ thuật phần mềm mà còn là một sản phẩm game có tiềm năng ứng dụng thực tiễn, đóng vai trò làm nền tảng vững chắc cho các dự án game ARPG thương mại quy mô lớn trong tương lai.