Pacman: làm thế nào để mắt tìm đường trở lại hố quái vật?


321

Tôi đã tìm thấy rất nhiều tài liệu tham khảo về AI của những con ma ở Pacman, nhưng không ai trong số họ đề cập đến việc đôi mắt tìm đường trở lại hố ma trung tâm sau khi một con ma bị Pacman ăn thịt.

Trong thực hiện của tôi, tôi đã thực hiện một giải pháp đơn giản nhưng khủng khiếp. Tôi chỉ cứng mã hóa trên mọi góc độ nên được thực hiện.

Có giải pháp nào tốt hơn / hoặc tốt nhất không? Có lẽ một cái chung làm việc với các thiết kế cấp độ khác nhau?


11
Bạn có chắc chắn mã hóa cứng trên góc là đủ tốt? Điều này không đảm bảo tuyến đường tốt nhất. Hãy tưởng tượng con ma đang đối mặt với một lối đi hẹp dài. Theo thuật toán của bạn, anh ta sẽ phải đi xuống toàn bộ lối đi đó, đến một góc, và sau đó đi theo con đường nhanh nhất. Nếu bạn mã hóa cứng trên mỗi ô vuông sẽ đi theo hướng nào, anh ta có thể biết chỉ cần quay đầu lại.
Mark Peters

3
@Mark, phụ thuộc vào định nghĩa của bạn trên một góc. Nếu đó là kết nối T ngay cả khi bạn chỉ đi thẳng vào dòng trên cùng thì cũng không sao.
Thorbjørn Ravn Andersen

1
@ Thorbjørn: Tôi thậm chí không nói về giao lộ. Hãy nhìn vào bảng này: en.wikipedia.org/wiki/File:Pac-man.png . Nếu con ma di chuyển sang phải và định vị ở điểm thứ hai từ dưới cùng bên trái, nó sẽ không gặp bất kỳ giao lộ nào trong một thời gian. Điều đó sẽ khiến nó di chuyển xa hơn 10 ô vuông so với khi nó quay ngược (trái) và đi theo con đường ngắn nhất.
Mark Peters

6
giải pháp của bạn sử dụng các điểm mốc (hoặc mẩu bánh mì) và tôi nghĩ đó là một kỹ thuật được sử dụng phổ biến để tăng tốc thuật toán tìm đường.
Nick Dandoulakis

1
Cảm ơn tất cả các câu trả lời! Tôi chỉ bám vào giải pháp trước đây của tôi và mã hóa các hướng ở mọi góc. Để làm điều đó chung chung, yêu cầu tệp leveldesigner / a level cũng xác định thông tin này trong định nghĩa mức.
RoflcoptrException

Câu trả lời:


152

Trên thực tế, tôi muốn nói rằng cách tiếp cận của bạn là một giải pháp khá tuyệt vời, với chi phí thời gian gần như bằng không so với bất kỳ loại tìm đường nào.

Nếu bạn cần nó để khái quát hóa các bản đồ tùy ý, bạn có thể sử dụng bất kỳ thuật toán tìm đường nào - ví dụ: tìm kiếm đầu tiên rất đơn giản để thực hiện - và sử dụng điều đó để tính toán hướng nào để mã hóa ở mỗi góc, trước khi trò chơi được chạy.

EDIT (ngày 11 tháng 8 năm 2010): Tôi vừa được giới thiệu đến một trang rất chi tiết trên hệ thống Pacman: Hồ sơ Pac-Man , và vì tôi có câu trả lời được chấp nhận ở đây, tôi cảm thấy nên cập nhật nó. Bài báo dường như không đề cập đến hành động trở về ngôi nhà quái vật một cách rõ ràng nhưng nó nói rằng việc tìm đường trực tiếp trong Pac-Man là một trường hợp sau:

  • tiếp tục di chuyển về phía ngã tư tiếp theo (mặc dù đây thực chất là trường hợp đặc biệt của 'khi được lựa chọn, chọn hướng không liên quan đến việc đảo ngược hướng của bạn, như đã thấy trong bước tiếp theo);
  • tại ngã tư, nhìn vào các ô vuông lối ra liền kề, ngoại trừ cái bạn vừa đến;
  • chọn một trong đó là gần mục tiêu nhất. Nếu có nhiều hơn một mục tiêu gần bằng nhau, hãy chọn hướng hợp lệ đầu tiên theo thứ tự này: lên, trái, xuống, phải.

16
Tôi nghĩ rằng anh ta có nghĩa là bạn có thể tính toán nó trong thời gian chạy (khi mức được tải nhưng trước khi bạn bắt đầu chơi nó) nhưng chỉ một lần. Điều đó không khó để duy trì.
Mark Peters

3
Vâng, hoặc nếu có một công cụ để tạo các bản đồ, như là một phần của điều đó.
Kylotan

6
Không có gì sai với việc tính toán trước các đường dẫn trở lại. Bạn đang giao dịch lưu trữ (đường dẫn) cho hiệu suất thời gian chạy.
Steve Kuo

6
Cảm ơn. Tôi nghĩ Ill gắn bó với giải pháp này. Bất cứ ai cũng biết làm thế nào nó đã được thực hiện trong Pacman ban đầu?
RoflcoptrException

4
Không, tôi không. Câu hỏi ban đầu sử dụng thuật ngữ đó nhưng nó không chính xác ràng buộc về mặt pháp lý.
Kylotan

85

Tôi đã giải quyết vấn đề này cho các cấp chung theo cách đó: Trước khi cấp bắt đầu, tôi thực hiện một số loại "lấp lũ" từ lỗ quái vật; mỗi ô của mê cung không phải là một bức tường sẽ có một con số cho biết nó cách lỗ hổng bao xa. Vì vậy, khi mắt nhìn vào một viên gạch có khoảng cách 68, chúng nhìn vào những viên gạch lân cận có khoảng cách là 67; Đó là cách để đi.


15
Đúng. Floodfill rất tốt cho việc tìm đường trong mọi tình huống mà thế giới không quá lớn để khiến nó trở nên khả thi. Tôi sẽ nghĩ rằng nó có thể được sử dụng ngay cả trong các thế giới rộng lớn bằng cách áp đặt một lưới thô hơn có kết nối được tính toán trước. Nó sẽ khiến mọi thứ đi hơi xa nhưng điều đó sẽ tốt hơn so với tình trạng kẹt xe mà tôi đã thấy trong các trò chơi như vậy.
Loren Pechtel

1
Để tiết kiệm không gian (đối với các thế giới lớn hơn hoặc các hệ thống bị hạn chế), bạn có thể lưu hướng di chuyển ở mọi ngã tư, thay vì lưu một giá trị cho mỗi ô. Đây thực chất là những gì OP đã gợi ý.
BlueRaja - Daniel Pflughoeft

BlueRaja: Chắc chắn, nhưng nó phức tạp hơn để làm điều đó và kết quả là không tối ưu - con ma bị ăn giữa hai giao lộ, vì vậy anh ta có thể chạy sai hướng trong một thời gian. Giải pháp của tôi hoạt động tốt trên en.wikipedia.org/wiki/HP_200LX vậy nó có thể bị ràng buộc nhiều hơn thế nào?
Erich Kitzmueller

5
(Tôi đến trễ ...) Có, lấp đầy lũ là tốt, tuy nhiên bạn thực sự không cần một số đầy đủ, chỉ cần một hướng (hai bit) trong mỗi ô vuông để trỏ đến ô vuông tiếp theo để sử dụng.
Matthieu M.

Matthieu: Vâng, đó sẽ là một sự tối ưu hóa có thể.
Erich Kitzmueller

42

Để thay thế cho các thuật toán tìm đường truyền thống hơn, bạn có thể xem mẫu (Tên được đặt tên thích hợp!) Pac-Man Scob Antiobject .

Bạn có thể khuếch tán mùi hương quái vật xung quanh mê cung khi khởi động và để mắt theo nó về nhà.

Một khi mùi được thiết lập, chi phí thời gian chạy rất thấp.


Chỉnh sửa: đáng buồn là bài viết trên wikipedia đã bị xóa, vì vậy WayBack Machine để giải cứu ...


2
đây sẽ là câu trả lời của tôi Về cơ bản, nó giống như của ammoQ, nhưng tôi luôn nhớ về mùi pacman :)
Luke Schafer

Có vẻ như bài viết trên wikipedia đã chết / bị xóa. Kết quả hàng đầu của google là chủ đề này, nhưng tôi nghĩ rằng điều này đến gần.
David

2
Tôi đã bối rối trong một giây nhưng sau đó ngay lập tức hiểu "mùi hương" nghĩa là gì. Đó là một cách tuyệt vời để mô tả những thứ vô hướng này!
Steven Lu


18

Bất kỳ giải pháp đơn giản nào hoạt động đều có thể duy trì, đáng tin cậy và thực hiện đủ tốt là một giải pháp tốt. Nghe có vẻ như bạn đã tìm thấy một giải pháp tốt ...

Một giải pháp tìm đường có thể phức tạp hơn giải pháp hiện tại của bạn và do đó có nhiều khả năng yêu cầu gỡ lỗi. Nó có lẽ cũng sẽ chậm hơn.

IMO, nếu nó không bị hỏng, đừng sửa nó.

BIÊN TẬP

IMO, nếu mê cung đã được sửa thì giải pháp hiện tại của bạn mã tốt / thanh lịch. Đừng phạm sai lầm khi đánh đồng "tốt" hay "thanh lịch" với "thông minh". Mã đơn giản cũng có thể là "tốt" và "thanh lịch".

Nếu bạn có cấp độ mê cung có thể định cấu hình, thì có lẽ bạn chỉ nên thực hiện tìm đường khi bạn định cấu hình mê cung ban đầu. Đơn giản nhất sẽ là để người thiết kế mê cung làm điều đó bằng tay. Tôi chỉ bận tâm đến việc tự động hóa việc này nếu bạn có một mê cung ... hoặc người dùng có thể thiết kế chúng.

(Ngoài ra: nếu các tuyến đường được định cấu hình bằng tay, nhà thiết kế mê cung có thể tạo một cấp độ thú vị hơn bằng cách sử dụng các tuyến đường tối ưu ...)


Có nó đang làm việc. Tuy nhiên tôi muốn viết mã tốt và không chỉ mã. Ngoài ra, tôi đã thêm câu cuối cùng trong câu hỏi của mình, vì vậy nếu có thể, thuật toán không chỉ dành cho một mê cung mà còn cho nhiều người.
RoflcoptrException

mê cung cũng có thể được tạo ra (Tôi có một thuật toán mà tạo ra mê cung pacman đẹp-looking), do đó, một chút tự động hóa là con đường để đi
Erich Kitzmueller

"... hoặc người dùng có thể thiết kế chúng." Trong trường hợp đó, bạn có một mê cung bazillion.
phuzion

@phuzion - Tôi nhận thức được điều đó. Tuy nhiên, có một sự khác biệt giữa hai trường hợp. Nếu đó là OP tạo ra một mê cung bazzilion, thì thật bất tiện khi phải tạo định tuyến bằng tay. Nếu đó là người dùng cuối ... điều đó có nghĩa là OP phải viết tài liệu, xử lý sự cố vô tận đối với mê cung của người dùng cuối, trường khiếu nại vô tận về việc nó không thân thiện như thế nào, v.v. Nói cách khác, lý do để thực hiện tạo tuyến đường tự động là khác nhau .
Stephen C

14

Trong Pacman ban đầu, Ghost tìm thấy người ăn viên thuốc màu vàng bằng "mùi" của mình, anh ta sẽ để lại dấu vết trên bản đồ, con ma sẽ đi lang thang ngẫu nhiên cho đến khi họ tìm thấy mùi, sau đó họ chỉ cần đi theo con đường mùi dẫn họ trực tiếp đến người chơi. Mỗi lần Pacman di chuyển, "giá trị mùi" sẽ giảm đi 1.

Bây giờ, một cách đơn giản để đảo ngược toàn bộ quá trình là có một "kim tự tháp mùi ma", có điểm cao nhất ở trung tâm bản đồ, sau đó con ma chỉ di chuyển theo hướng của mùi này.


Tôi thực sự thích cách tiếp cận này và tôi cũng sẽ thử phương pháp này
RoflcoptrException

5
Điều này không đúng; nếu tất cả đều theo thuật toán này, cuối cùng họ sẽ đuổi theo anh ta. Hành vi của mỗi con ma là khác nhau; bạn có thể tìm thêm thông tin về bài viết Wikipedia.
dải phân cách

5

Giả sử bạn đã có logic cần thiết để theo đuổi pacman tại sao không sử dụng lại điều đó? Chỉ cần thay đổi mục tiêu. Có vẻ như nó sẽ làm việc ít hơn rất nhiều so với việc cố gắng tạo ra một thói quen hoàn toàn mới bằng cách sử dụng cùng một logic chính xác.


vâng tôi có logic để đuổi theo pacman đã được triển khai, nhưng tôi cũng không hài lòng với nó;)
RoflcoptrException

Theo kinh nghiệm của tôi (tôi thích viết các phiên bản pacman chỉ để giải trí), làm điều đó có thể dẫn đến đôi mắt bị mắc kẹt bên ngoài lỗ hổng trong một thời gian dài. Đó là bởi vì thuật toán rượt đuổi thường đi theo dòng chữ "nếu pacman ở phía bắc, đi về phía bắc" nhưng mê cung có thể chứa "bẫy" nơi mắt sẽ phải đi về phía nam trước. Kể từ khi pacman di chuyển, con ma sẽ sớm trốn thoát, nhưng cái lỗ là một mục tiêu cố định. (Lưu ý: Tôi đang nói về mê cung được tạo ra)
Erich Kitzmueller


3

Làm thế nào về mỗi hình vuông có một giá trị khoảng cách đến trung tâm? Bằng cách này cho mỗi hình vuông đã cho, bạn có thể nhận được các giá trị của hình vuông lân cận ngay lập tức theo mọi hướng có thể. Bạn chọn hình vuông có giá trị thấp nhất và di chuyển đến hình vuông đó.

Các giá trị sẽ được tính toán trước bằng bất kỳ thuật toán có sẵn nào.


Tôi sẽ đề nghị điều này. Một trận lũ tràn ra ngoài bắt đầu từ 'lỗ quái vật'. Tôi nghĩ rằng câu trả lời của bạn sẽ được hưởng lợi từ một hình ảnh.
AjahnCharles

3

Đây là nguồn tốt nhất mà tôi có thể tìm thấy về cách nó thực sự hoạt động.

http://gameai.com/wiki/index.php?title=Pac-Man#Respawn Khi những con ma bị giết, đôi mắt khinh khỉnh của chúng trở về vị trí bắt đầu. Điều này được thực hiện đơn giản bằng cách đặt ô đích của ma đến vị trí đó. Việc điều hướng sử dụng các quy tắc tương tự.

Nó thực sự có ý nghĩa. Có thể không phải là hiệu quả nhất trên thế giới nhưng một cách khá hay để không phải lo lắng về một trạng thái khác hoặc bất cứ điều gì dọc theo những dòng bạn đang thay đổi mục tiêu.

Lưu ý bên lề: Tôi đã không nhận ra những lập trình viên pac-man tuyệt vời như thế nào về cơ bản họ đã tạo ra một hệ thống tin nhắn trong một không gian rất nhỏ với bộ nhớ rất hạn chế ... điều đó thật tuyệt vời.


2

Tôi nghĩ giải pháp của bạn phù hợp với vấn đề, đơn giản hơn thế, là tạo ra một phiên bản mới "thực tế" hơn, nơi mắt ma có thể đi xuyên tường =)


2
Để thêm tính chân thực hơn nữa, hãy cho phép những con ma có thể di chuyển qua các bức tường: D
Thomas Eding

3
Đó là những bức tường mờ đục của ma, nhưng những con ma thứ hai, (ma của một con ma) thì trong suốt hơn. (bạn có thể tìm thấy nhiều hướng dẫn sử dụng với các lỗi được chuyển đổi trong các tính năng)
Hernán Eche

1
+1 cho "bóng ma thứ hai" - ồ vâng, đạo hàm của một con ma chắc chắn phải vượt qua các vật thể thứ nhất như bức tường ... :)
Assad Ebrahim

2

Đây là một ý tưởng tương tự và mã giả cho ý tưởng lấp đầy của ammoQ.

queue q
enqueue q, ghost_origin
set visited

while q has squares
   p <= dequeue q
   for each square s adjacent to p
      if ( s not in visited ) then
         add s to visited
         s.returndirection <= direction from s to p
         enqueue q, s
      end if
   next
 next

Ý tưởng là đó là một tìm kiếm đầu tiên theo chiều rộng, vì vậy mỗi lần bạn bắt gặp một hình vuông liền kề mới, con đường tốt nhất là thông qua p. Đó là O (N) tôi tin.


2

Tôi không biết nhiều về cách bạn triển khai trò chơi của mình, nhưng, bạn có thể làm như sau:

  1. Xác định vị trí mắt tương đối vị trí với cổng. tức là nó còn lại ở trên? Ngay bên dưới?
  2. Sau đó di chuyển mắt đối diện với một trong hai hướng (chẳng hạn như làm cho nó di chuyển sang trái nếu nó ở bên phải cổng và bên dưới cổng) và kiểm tra xem có và các bức tường ngăn bạn làm như vậy không.
  3. Nếu có những bức tường ngăn bạn làm như vậy thì hãy làm cho nó di chuyển ngược lại hướng khác (ví dụ: nếu tọa độ của mắt so với chốt ở phía bắc và nó hiện đang di chuyển sang trái nhưng có một bức tường theo cách đó di chuyển về phía nam.
  4. Hãy nhớ kiểm tra mỗi lần di chuyển để tiếp tục kiểm tra vị trí của mắt so với cổng và kiểm tra xem khi nào không có tọa độ vĩ độ. tức là nó chỉ ở trên cổng.
  5. Trong trường hợp nó chỉ ở phía trên cổng di chuyển xuống nếu có một bức tường, di chuyển sang trái hoặc phải và tiếp tục thực hiện số 1 - 4 này cho đến khi mắt nằm trong hang.
  6. Tôi chưa bao giờ thấy ngõ cụt ở Pacman, mã này sẽ không tính đến ngõ cụt.
  7. Ngoài ra, tôi đã bao gồm một giải pháp khi đôi mắt sẽ "chao đảo" giữa một bức tường trải dài qua nguồn gốc trong mã giả của tôi.

Một số mã giả:

   x = getRelativeOppositeLatitudinalCoord()
   y
   origX = x
    while(eyesNotInPen())
       x = getRelativeOppositeLatitudinalCoordofGate()
       y = getRelativeOppositeLongitudinalCoordofGate()
       if (getRelativeOppositeLatitudinalCoordofGate() == 0 && move(y) == false/*assume zero is neither left or right of the the gate and false means wall is in the way */)
            while (move(y) == false)
                 move(origX)
                 x = getRelativeOppositeLatitudinalCoordofGate()
        else if (move(x) == false) {
            move(y)
    endWhile

2

Đề xuất của dtb23 về việc chỉ chọn một hướng ngẫu nhiên ở mỗi góc, và cuối cùng bạn sẽ thấy lỗ quái vật nghe có vẻ thiếu kinh khủng.

Tuy nhiên, bạn có thể sử dụng thuật toán trở về nhà không hiệu quả của nó để làm cho trò chơi thú vị hơn bằng cách giới thiệu nhiều biến thể hơn trong độ khó của trò chơi. Bạn sẽ làm điều này bằng cách áp dụng một trong các cách tiếp cận ở trên, chẳng hạn như điểm tham chiếu của bạn hoặc vùng lũ, nhưng làm như vậy không mang tính quyết định. Vì vậy, ở mỗi góc, bạn có thể tạo một số ngẫu nhiên để quyết định xem nên chọn cách tối ưu hay hướng ngẫu nhiên.

Khi người chơi tăng cấp, bạn sẽ giảm khả năng một hướng ngẫu nhiên được thực hiện. Điều này sẽ thêm một đòn bẩy khác về mức độ khó chung ngoài tốc độ cấp, tốc độ ma, tạm dừng ăn thuốc (vv). Bạn đã có nhiều thời gian hơn để thư giãn trong khi những con ma chỉ là đôi mắt vô hại, nhưng thời gian đó trở nên ngắn hơn và ngắn hơn khi bạn tiến bộ.


2

Câu trả lời ngắn gọn, không hay lắm. :) Nếu bạn thay đổi mê cung Pac-man, đôi mắt sẽ không nhất thiết phải quay lại. Một số hack nổi xung quanh có vấn đề đó. Vì vậy, nó phụ thuộc vào việc có một mê cung hợp tác.


2

Tôi sẽ đề nghị rằng con ma lưu trữ con đường anh ta đã đi từ lỗ đến Pacman. Vì vậy, ngay khi con ma chết, anh ta có thể đi theo con đường được lưu trữ này theo hướng ngược lại.


2
con đường đó có lẽ sẽ còn quá dài
Ahmad Y. Saleh

Bất cứ khi nào bạn xem lại một nút, bạn có thể loại bỏ một vòng lặp khỏi lịch sử. Điều đó sẽ làm cho nó khá hơn một chút trực tiếp. Có thể thú vị hơn là luôn đi theo cùng một đường dẫn trực tiếp, nhưng khá thường xuyên, nó sẽ bao gồm một số vòng lặp gần như ngớ ngẩn (ví dụ 3 cạnh của một hình vuông).
AjahnCharles

1

Biết rằng các đường dẫn pacman là không ngẫu nhiên (nghĩa là mỗi cấp độ cụ thể 0-255, mực đen, mờ, hồng và clyde sẽ hoạt động chính xác cùng một đường dẫn cho cấp độ đó).

Tôi sẽ lấy cái này và sau đó đoán có một vài con đường chính bao quanh toàn bộ mê cung như một "đường dẫn trở lại" mà một vật thể nhãn cầu đang chờ xử lý khi nó là người đàn ông pac ăn ma.


1

Những con ma trong pacman tuân theo các mô hình dự đoán ít nhiều có thể dự đoán trước về việc cố gắng khớp trên X hoặc Y cho đến khi đạt được mục tiêu. Tôi luôn cho rằng điều này giống hệt nhau khi mắt tìm đường quay trở lại.


1
  1. Trước khi trò chơi bắt đầu, hãy lưu các nút (nút giao) trong bản đồ
  2. Khi quái vật chết lấy điểm (tọa độ) và tìm nút gần nhất trong danh sách nút của bạn
  3. Tính toán tất cả các đường dẫn bắt đầu từ nút đó đến lỗ
  4. Đi theo con đường ngắn nhất theo chiều dài
  5. Thêm chiều dài của khoảng trắng giữa điểm và nút gần nhất
  6. Vẽ và di chuyển trên con đường

Thưởng thức!


1

Cách tiếp cận của tôi là sử dụng ít bộ nhớ (theo quan điểm của thời đại Pacman), nhưng bạn chỉ cần tính toán một lần và nó hoạt động cho mọi thiết kế cấp độ (bao gồm cả các bước nhảy).

Nhãn nút một lần

Khi bạn lần đầu tiên tải một cấp độ, hãy gắn nhãn tất cả các nút hang quái vật 0 (biểu thị khoảng cách từ hang ổ). Tiến hành gắn nhãn bên ngoài các nút được kết nối 1, các nút được kết nối với chúng 2, và cứ thế, cho đến khi tất cả các nút được dán nhãn. (lưu ý: điều này thậm chí hoạt động nếu hang ổ có nhiều lối vào)

Tôi giả sử bạn đã có các đối tượng đại diện cho mỗi nút và kết nối với hàng xóm của họ. Mã giả có thể trông giống như thế này:

public void fillMap(List<Node> nodes) { // call passing lairNodes
    int i = 0;

    while(nodes.count > 0) {
        // Label with distance from lair
        nodes.labelAll(i++);

        // Find connected unlabelled nodes
        nodes = nodes
            .flatMap(n -> n.neighbours)
            .filter(!n.isDistanceAssigned());
    }
}

Lũ - điền từ hang ổ

Mắt di chuyển đến hàng xóm với nhãn khoảng cách thấp nhất

Khi tất cả các nút được gắn nhãn, việc định tuyến mắt là tầm thường ... chỉ cần chọn nút lân cận có nhãn khoảng cách thấp nhất (lưu ý: nếu nhiều nút có khoảng cách bằng nhau, thì không vấn đề gì được chọn). Mã giả:

public Node moveEyes(final Node current) {
    return current.neighbours.min((n1, n2) -> n1.distance - n2.distance);
}

Ví dụ được dán nhãn đầy đủ

Bản đồ hoàn chỉnh


0

Đối với trò chơi PacMan của tôi, tôi đã tạo ra một shortest multiple path homethuật toán hơi " " hoạt động cho những gì mê cung mà tôi cung cấp cho nó (trong bộ quy tắc của tôi). Nó cũng hoạt động trên khắp các đường hầm.

Khi cấp độ được tải, tất cả đều path home data in every crossroadtrống (mặc định) và khi những con ma bắt đầu khám phá mê cung, chúng crossroad path home informationsẽ tiếp tục được cập nhật mỗi khi chúng chạy vào ngã tư "mới" hoặc từ một con đường khác vấp ngã một lần nữa trên ngã tư đã biết.


-2

Người đàn ông gốc pac không sử dụng AI tìm đường hoặc AI ưa thích. Nó chỉ khiến các game thủ tin rằng nó có chiều sâu hơn so với thực tế, nhưng thực tế nó là ngẫu nhiên. Như đã nêu trong Trí tuệ nhân tạo cho các trò chơi / Ian Millington, John Funge.

Không chắc nó có đúng hay không, nhưng nó rất có ý nghĩa với tôi. Thành thật mà nói, tôi không thấy những hành vi mà mọi người đang nói đến. Red / Blinky cho ex không theo dõi người chơi mọi lúc, như họ nói. Dường như không ai kiên định theo dõi người chơi. Cơ hội mà họ sẽ theo bạn có vẻ ngẫu nhiên với tôi. Và thật là hấp dẫn khi thấy hành vi ngẫu nhiên, đặc biệt là khi cơ hội bị truy đuổi là rất cao, với 4 kẻ thù và các tùy chọn rẽ rất hạn chế, trong một không gian nhỏ. Ít nhất là trong lần thực hiện ban đầu, trò chơi cực kỳ đơn giản. Hãy xem cuốn sách, nó ở một trong những chương đầu tiên.


vâng, nó đã sử dụng một số AI. Và vâng, Blinky theo pacman khi anh ta ở chế độ rượt đuổi (thỉnh thoảng chuyển sang nó), vì vậy mọi thứ đều ổn
Jean-François Fabre
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.