Thế hệ thủ tục tiến hóa [đóng]


7

Có bất kỳ ví dụ nào về các công ty hoặc bài báo sử dụng thuật toán tiến hóa ( EA ) hoặc lập trình di truyền ( GP ) trong việc tạo nội dung theo thủ tục cho các trò chơi không? Điều này có tồn tại trong ngành công nghiệp?

Đây là về nơi duy nhất tôi thực sự tìm thấy nó:
http://pcg.wikidot.com/pcg-alacticm:automatic-game-design

Tôi cũng đã kiểm tra những câu hỏi này và tôi biết cách của mình xung quanh PCG:
"Thế hệ thủ tục" là gì và nó được thực hiện như thế nào?
Tạo thủ tục của vô hạn cấp
2d Tạo vũ trụ theo thủ tục


Một bài viết thực sự hay về chủ đề này, mặc dù nó mang tính lý thuyết hơn là kỹ thuật: Researchgate.net/publication/220061075/d Download Nó bao gồm rất nhiều về việc tạo địa hình bằng GP và EA.
Nick O'Brien

Câu trả lời:


5

Nhìn chung, hầu hết các trò chơi đều chọn phương pháp tạo kịch bản AI dễ dàng và dễ đoán hơn nhiều, hoặc sử dụng tiếng ồn để tạo địa hình / nội dung. Hầu hết các trò chơi có xu hướng tránh lập trình tiến hóa / di truyền bởi vì, thật lòng mà nói, nó thường quá tốn kém để thực hiện hoặc quá ngẫu nhiên để hầu hết người chơi hiểu.

Ngoài một số trò chơi chủ yếu là thử nghiệm và thích hợp như Pond của Darwin hay loạt Sinh vật , tôi thực sự không thể nghĩ ra bất kỳ trò chơi nào sử dụng EA hoặc GP. Đen và Trắng đã sử dụng mô hình Niềm tin-Khát vọng làm cơ sở cho Sinh vật AI, nhưng trò chơi đã nhận được nhiều phản ứng tiêu cực do hành vi của Sinh vật dường như là ngẫu nhiên. Có khả năng trò chơi Đen và Trắng thứ hai đã sử dụng kịch bản cho sinh vật AI.


Vì vậy, kết luận chung là không, điều này đã không được sử dụng thực tế?
Alex Shepard

@AlexShepard Đúng. Không có đủ lợi ích để thực hiện các thuật toán khá phức tạp khi mức độ làm bằng tay hoặc AI theo kịch bản cũng hoạt động tốt (đôi khi, tốt hơn). Tất nhiên, một điều nó có thể được sử dụng là trong các công cụ "đằng sau hậu trường", trong đó một mức được tạo bằng EA hoặc GP qua đêm, và kết quả được lưu và sử dụng trong trò chơi (mặc dù có thể sẽ có thêm điều chỉnh kiểm tra thêm)
thedaian

4

Câu trả lời của thedaian là một câu hỏi hay vì nó cung cấp các ví dụ.

Tôi nghĩ rằng vấn đề chính được nhìn thấy với các phương pháp này là một trong những kiểm soát. Một khi bạn bắt đầu đối phó với các heuristic, thứ mà cuối cùng dựa vào, sẽ rất khó để phát triển một hệ thống làm những gì bạn muốn nó làm. Thẳng thắn mà nói, đó là vấn đề chi phí và rủi ro dự án. Nếu bạn có một ý tưởng trò chơi mà bạn có thể thực hiện mà không cần sử dụng chúng, hoặc sử dụng một số phương pháp tiếp cận thủ tục trực tiếp hơn, thì tốt hơn cho bạn.

Vấn đề với ngay cả những cách tiếp cận AI cơ bản nhất (lấy ví dụ về đường dẫn A *) là chúng mất một thời gian để hiểu trước và cần nhiều thời gian hơn để thành thạo. Tôi nghĩ rằng điều này giữ cho chúng ta gần hơn với các cách tiếp cận đơn giản hơn, tĩnh hơn. Nó không nuôi dưỡng sự đổi mới, nhưng lợi tức đầu tư nhanh chóng là một điều khó bỏ qua.

Phải nói rằng, tôi chắc chắn đứng về phía "Nếu không ai thử nó sẽ không bao giờ biết". Một dự án GP đã được ủ trong tâm trí tôi một thời gian.

(Một cách tiếp cận khác mà bạn có thể muốn xem xét là các mạng lưới thần kinh, nó thường được nhóm lại với nhau như là một quy trình máy bắt chước các hình thức cải tiến tự nhiên - trong trường hợp này là học - thông qua việc loại bỏ.)


1

Kiểu lập trình này thường được sử dụng, nếu có, để cung cấp cho các Đại lý AI 'tính cách' của họ. Sử dụng các giá trị khác nhau có sẵn, bạn có thể thử và tạo ra các chỉ số 'tốt nhất' cho một tác nhân để tồn tại và phát triển trên thế giới nhưng đó không phải là điều tích cực được thực hiện trong khi chơi trò chơi vì một lý do rất chính đáng. Đó là một trò chơi.

Bạn có thể cho máy tính học cách liên tục đánh bại người chơi, nhưng ai sẽ chơi một trò chơi mà bạn chỉ có thể thua? Vấn đề là đưa ra một thách thức và sử dụng các thuật toán di truyền mà bạn có thể thử và tìm các kết hợp AI để chơi theo những cách nhất định để thể hiện các cài đặt dễ, trung bình và khó. Hoặc, ví dụ như trong các trò chơi RTS, chơi các phong cách như máy nghiền hoặc máy quay.

Các thuật toán này được áp dụng nhiều hơn cho các nhà phát triển muốn điều chỉnh trò chơi của họ thay vì được sử dụng tích cực trong các trò chơi sau khi ra mắt. Nếu bạn đọc sách Gem Lập trình trò chơi, bạn có thể tìm thấy các bài viết trong đó đưa ra các ví dụ về cách chúng được sử dụng cho các trò chơi RTS để giúp cân bằng AI.

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.