ỨNG DỤNG AI VÀO XÂY DỰNG GAME TRÊN UNITY

Một phần của tài liệu nghiên cứu về unity3d game engine và thiết kế trõ chơi thể loại moba (Trang 117 - 134)

III. TRÍ TUỆ NHÂN TẠO

4. ỨNG DỤNG AI VÀO XÂY DỰNG GAME TRÊN UNITY

a) Ứng dụng điều hƣớng và tìm đƣờng (Navigation and Pathfinding) vào

các đối tƣợng di chuyển trong game

Các đối tƣợng di chuyển trong game cần thêm thành phần Navigation Agent để có thể tìm đƣờng đi ngắn đến vị trí bất kỳ và tránh đƣợc các vật cản.

b) Ứng dụng FSM (Finite State Machine) vào điều khiển các đơn vị lính

Để lính có thể vận hành một cách tự động cần cài đặt FSM cho từng đơn vị lính. Ta cần xây dựng lớp AI cho lính và trong lớp AI có các trạng thái cơ bản nhƣ: tuần tra (Patrol), truy đuổi (Chase), tấn công (Attack), chết (Die). Các trạng thái đƣợc vận hành nhƣ sơ đồ bên duới:

SVTH:

Nguyễn Đức Trung 1101707

Trần Minh Trung 1101708 95

Hình IV.63: Hình minh họa sơ đồ chuyển trạng thái

 Chú thích sơ đồ:

o Target on sight: mục tiêu trong tầm nhìn.

o Lost/killed target: mục tiêu ngoài tầm nhìn, hoặc chết.

o Target on range: mục tiêu trong tầm đánh.

o Target out of range: mục tiêu ngoài tầm đánh

o Current Health <= 0: lính hết máu.

 Trạng thái tuần tra (trạng thái đầu tiên khi lính đƣợc khởi tạo)

o Nếu không có mục tiêu trong tầm nhìn, lính sẽ đi theo điểm (waypoint) trên một trong các đƣờng đƣợc quy định trƣớc (top, mid, bot).

SVTH:

Nguyễn Đức Trung 1101707

Trần Minh Trung 1101708 96

 Trạng thái truy đuổi

o Nếu mục tiêu trong tầm đánh thì chuyển sang trạng thái tấn công.

o Nếu mục tiêu nằm ngoài tầm nhìn, hoặc bị tiêu diệt thì chuyển sang trạng thái tuần tra.

 Trạng thái tấn công

o Nếu mục tiêu nằm ngoài tầm đánh và trong tâm nhìn thì chuyển sang trạng thái truy đuổi.

o Nếu mục tiêu nằm ngoài tầm nhìn hoặc bị tiêu diệt thì chuyển sang trạng thái tuần tra.

o Ngƣợc lại, hết thời gian chờ đánh thì tấn công mục tiêu.

 Trạng thái chết (trạng thái xảy ra khi lính hết máu)

o Hủy đối tƣợng sau thời gian.

o Chia đều kinh nghiệm cho số tƣớng địch trong tầm nhìn.

c) Ứng dụng cây hành vi (Tree Behaviour) để máy điều khiển tƣớng trong

game

Để nhân vật có hành vi xử lý phù hợp với các tình huống có thể xảy ra trong game. Ta cần xây dựng cây hành vi cho nhân vật. Sơ đồ cây hành vi đƣợc xây dựng với nút gốc gắn với bộ thực hiện nhiệm vụ chọn lọc (Selector). Bộ chọn lọc sẽ gắn với các bộ thực hiện nhiệm vụ tuần từ (Sequence). Trong mỗi bộ tuần từ là một cây con thể hiện duới dạng sơ đồ thực hiện một hoặc nhiều hành vi. Các sơ đồ cây con: sơ đồ đổi đƣờng, sơ đồ trụ đƣờng, sơ đồ tấn công trụ, sơ đồ tham chiến, sơ đồ tấn công, sơ đồ mua trang bị ( sơ đồ mua trang bị cơ bản, sơ đồ mua trang bị cao cấp, sơ đồ mua trang bị chính), sơ đồ canh đòn đánh cuối diệt địch, sơ đồ tuần tra (sơ đồ tuần tra không tƣớng địch và có đồng minh, sơ đồ tuần tra không tƣớng địch và không có đồng minh, sơ đồ tuần tra có tƣớng địch và có đồng minh, sơ đồ tuần tra có tƣớng địch và không có đồng minh), sơ đồ sử dụng kỹ năng, sơ đồ trạng thái chết.

SVTH:

Nguyễn Đức Trung 1101707

Trần Minh Trung 1101708 97

Chú thích ký hiệu trong sơ đồ:

Bộ thực hiện nhiệm vụ chọn lọc (Selector Task)

Bộ thực hiện nhiệm vụ tuần tự (Sequence Task)

Kiểm tra đièu kiện đẻ thực hiện nhiệm vụ tuần tự

Sơ đồ cây con

Bộ thực hiện nhiệm vụ thay đổi (Decorator Task)

Bộ thực hiện nhiệm vụ chọn lọc (Selector Task)

Đƣờng liên kết

SVTH:

Nguyễn Đức Trung 1101707

Trần Minh Trung 1101708 98

Hình IV.64: Sơ đồ đổi đường

SVTH:

Nguyễn Đức Trung 1101707

Trần Minh Trung 1101708 99

Hình IV.66: Sơ đồ tấn công trụ

SVTH:

Nguyễn Đức Trung 1101707

Trần Minh Trung 1101708 100

Hình IV.68: Sơ đồ tấn công

SVTH:

Nguyễn Đức Trung 1101707

Trần Minh Trung 1101708 101

SVTH:

Nguyễn Đức Trung 1101707

Trần Minh Trung 1101708 102

SVTH:

Nguyễn Đức Trung 1101707

Trần Minh Trung 1101708 103

SVTH:

Nguyễn Đức Trung 1101707

Trần Minh Trung 1101708 104

SVTH:

Nguyễn Đức Trung 1101707

Trần Minh Trung 1101708 105

SVTH:

Nguyễn Đức Trung 1101707

Trần Minh Trung 1101708 106

SVTH:

Nguyễn Đức Trung 1101707

Trần Minh Trung 1101708 107

SVTH:

Nguyễn Đức Trung 1101707

Trần Minh Trung 1101708 108

SVTH:

Nguyễn Đức Trung 1101707

Trần Minh Trung 1101708 109

SVTH:

Nguyễn Đức Trung 1101707

Trần Minh Trung 1101708 110

SVTH:

Nguyễn Đức Trung 1101707

Trần Minh Trung 1101708 111

Hình IV.80: Sơ đồ trạng thái chết

Một phần của tài liệu nghiên cứu về unity3d game engine và thiết kế trõ chơi thể loại moba (Trang 117 - 134)

Tải bản đầy đủ (PDF)

(183 trang)