Nếu đây là lần đầu tiên bạn phát triển AI, bạn không phải lo lắng về những thứ như mô hình trạng thái, toán học hành vi hoặc thậm chí có được một cuốn sách về chủ đề này.
Bạn thực sự có thể thoát khỏi một cái gì đó như thế này:
if( targetInRange == true )
{
FireAtTarget();
}
else if( bulletComingTowardsMe == true )
{
MoveAwayFromBullet();
}
else
{
WanderAroundAimlessly();
}
Khía cạnh chính của việc làm cho AI chính xác là bằng cách suy nghĩ về những hành vi mà bạn muốn nhân vật có và cách thực hiện điều này một cách thực tế. Vì vậy, đối với một kẻ thù tàu vũ trụ cơ bản, tôi tưởng tượng những hành động khả thi mà nó có thể thực hiện sẽ là:
- Di chuyển xung quanh
- Ngọn lửa, cháy
- Chạy trốn
Và khi nào những hành động này có thể xảy ra?
- Di chuyển xung quanh - Không có gì khác để làm
- Lửa - Khi tôi phát hiện kẻ thù
- Chạy đi - Khi tôi không đủ sức khỏe / Khi tôi đang cháy / v.v.
Sau khi bạn đã thực hiện điều này do số lượng "trạng thái" thấp mà nhân vật của bạn có thể ở trong đó, bạn có thể sử dụng một câu lệnh if đơn giản như câu trên. Sau đó tôi sẽ khuyên bạn nên xem Hành vi chỉ đạo vì đây là những hành vi rất đơn giản để thực hiện và có thể dẫn đến chuyển động thực sự tốt.
Có thể tìm thấy nhiều hơn ở đây: http://www.red3d.com/cwr/steer/
Và tôi chắc chắn sẽ giới thiệu cuốn sách Lập trình trò chơi AI của Mat Buckland Ví dụ , đặc biệt là khi bạn bắt đầu.
Khi bạn thực sự thoải mái với những điều này, tôi sẽ đề nghị xem xét các Mô hình Chiến lược và Bang.
Vấn đề là bắt đầu nhỏ và đơn giản. Đừng lo lắng về tất cả các điều khoản mà mọi người cứ loay hoay về các FSM và các mẫu thiết kế và bất cứ điều gì. Thiết kế và xây dựng trước hết, sau đó lo lắng về cách bạn có thể cải thiện nó bằng cách sử dụng các phương pháp hoặc tiêu chuẩn hiện có.
Mong rằng sẽ giúp!