Cách tốt nhất để có kẻ thù NPC bao trùm trong trò chơi FPS là gì?


8

Câu hỏi của tôi là về cấu trúc dữ liệu (và cách sử dụng hợp lý cấu trúc này) đằng sau kiểu ép buộc kẻ thù NPC này: Làm thế nào để anh ta tính toán nơi anh ta có thể che chở khi người chơi bắn vào anh ta?

Nó có thể ở dạng FPS, hoặc trò chơi "bảng trò chơi" ...

Câu trả lời:


9

Bạn có 3 tùy chọn chính:

Tùy chọn # 1: (Mạnh mẽ nhất, nhưng chuyên sâu nhất về CPU)

Trong các khu vực góc tính toán thời gian thực đủ rộng để NPC ẩn và điều đó không được tiếp xúc với người chơi. Chọn nơi gần nhất để người chơi trốn.

Điều này sẽ hoạt động ở bất kỳ cấp độ nào là tốt và trên các cấp độ có hình học thay đổi trong quá trình chơi trò chơi. Nhưng sẽ mất nhiều thời gian nhất để hoạt động ổn định và sẽ sử dụng tối đa hầu hết các tài nguyên CPU trong trò chơi.

Tùy chọn # 2: (Tiết kiệm thời gian thiết kế cấp, nhấn thời gian thực tối thiểu)

Tạo một công cụ ngoại tuyến thực hiện kiểm tra góc và sau đó đặt các nút ở cấp độ của bạn cho tất cả các khu vực che phủ tiềm năng. LD sau đó có thể điều chỉnh các nút này hoặc loại bỏ các nút không phù hợp.

Trong quá trình chơi trò chơi chỉ cần tìm nút hợp lệ gần nhất.

Điều này thật tuyệt khi việc tìm định tuyến ở góc của bạn không phải chính xác 100% vì LD có thể sàng lọc một vài nút xấu ở đây và đó. Không thể phản hồi các thay đổi trong hình học trừ khi bạn bắt đầu thông minh với việc gắn chúng vào các đối tượng hoặc bật / tắt kịch bản.

Tùy chọn # 3: (Brute Force, hit thời gian thực tối thiểu)

Yêu cầu LD đặt thủ công tất cả các nút che, sau đó chỉ cần chọn nút hợp lệ gần nhất trong khi chơi trò chơi.

Nếu bạn có nhiều cấp độ hoặc cấp độ lớn, hãy mong đợi các LD sẽ khiếu nại.


3

Tôi nghĩ rằng cách tốt nhất để làm điều đó là thiết lập thủ công các hộp trong (các) khu vực mà bạn muốn các NPC đảm nhận.

Có một biến số cho "nỗi sợ hãi" hoặc một số số liệu khác mà bạn muốn, khi đạt đến ngưỡng, NPC sẽ di chuyển đến ô gần nhất nằm ngoài tầm nhìn của người chơi.

Bạn có thể tìm ra một cách linh hoạt để kẻ thù chiếm lấy phía sau bất kỳ đối tượng nào, nhưng nhiều lần hơn là không có thể tạo ra một số vị trí che phủ kỳ lạ và phi logic.


1

Có một mô tả về cách AI của killzone tìm kiếm không gian vị trí để có được vị trí tốt ở đây (PDF). Bạn có thể thay đổi chức năng đánh giá để tăng giá trị của vị trí che nếu AI bị bắn vào hoặc bị hư hại nặng. Do đó, AI không được bắn vào sẽ có thêm một chút rủi ro để có được mục tiêu.

Bạn cũng có thể thêm giải pháp của AttackHobbo, tăng lãi suất bảo hiểm tùy thuộc vào yếu tố sợ hãi (ví dụ 0: tôi bất khả chiến bại / 1: tôi cẩn thận / 5 làm ơn dừng lại)

Trân trọng


1

Phụ thuộc vào phong cách của trò chơi. Điều khá phổ biến là cho phép các nhà thiết kế cấp độ đặt các đối tượng che phủ, có thể là một khối lượng, một hình dạng đại diện cho một đối tượng che phủ hoặc một nút. Điều này đòi hỏi nhiều lao động hơn đối với các LD nhưng mang lại nhiều quyền kiểm soát hơn, điều thường được mong muốn trong một trò chơi có kịch bản chặt chẽ.

Đối với các trò chơi trong thế giới mở, bạn cần một hệ thống phát hiện bìa tự động. Chúng tôi đã sử dụng một vỏ được phát hiện trong thời gian chạy trong Battlefield: Bad Company (1 & 2) để có thể vô hiệu hóa và phát hiện lại về hủy hoại môi trường.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.