Làm cách nào để tạo tính năng Ghost Replay trong trò chơi?


19

Khi bạn đặt thời gian vòng đua cá nhân tốt nhất trong trò chơi đua xe console, bạn có tùy chọn để cạnh tranh với hồn ma của mình.

Làm thế nào tính năng này có thể được tạo cho một người chơi loại trò chơi thông thường?


2
+1 Câu hỏi thú vị cho một người chỉ mới bắt đầu phát triển trò chơi (tôi). =)
Will Marcouiller

Nếu bạn cho chúng tôi biết đây là loại trò chơi gì, chúng tôi có thể giúp bạn cụ thể hơn.
Tấn

Câu trả lời:


10

Bóng ma thường được thực hiện bằng cách hiển thị phát lại lần thử trước. Phát lại này được kết xuất với một phiên bản không thể va chạm của xe người chơi để bạn không thể ảnh hưởng đến nó. Vì các game đua xe thường có tính năng chơi lại dù thế nào thì loại này cũng được cung cấp miễn phí.

Đây là một điểm khởi đầu tốt để xây dựng một hệ thống phát lại: http://www.gamasutra.com/view/feature/2029/developing_your_own_Vplay_system.php

Ngoài ra có một số câu hỏi ở đây về chủ đề đó:


+1 Chỉ cần học một cái gì đó mới với câu trả lời của bạn, cảm ơn! =)
Will Marcouiller

1

Nó phụ thuộc vào công nghệ bạn đang làm việc. Do đó, chúng ta không thể thực sự thảo luận về cách tốt nhất, vì nó có thể thay đổi từ công nghệ này sang công nghệ khác. Ý tưởng tổng thể theo ý kiến ​​của tôi sẽ là như sau:

  1. Sử dụng kho lưu trữ dữ liệu cơ bản để duy trì dữ liệu của bạn (XML, Cookies, Cơ sở dữ liệu, CSV, khác ...);
  2. Làm việc truy cập dữ liệu của bạn vào kho dữ liệu cơ bản này;
  3. Bạn cần giữ dữ liệu thông tin về điểm số tốt nhất của người chơi, do đó cần có số nhận dạng (email, tên đầu vào, khác ...);
  4. Liên kết điểm số tốt nhất này với định danh bằng cách này hay cách khác.

Nói tóm lại, giả sử việc sử dụng cơ sở dữ liệu, chúng ta có thể có hai bảng:

  1. Dữ liệu người dùng / người chơi (định danh, email, v.v.);
  2. Dữ liệu bảng thông tin tốt nhất.

Sau đó, bạn có thể lưu thông tin người dùng cùng với bảng điểm riêng lẻ, nếu muốn, có thể chứa sổ đăng ký ngày và giờ khi đạt được điểm này.

Tôi hy vọng điều này sẽ giúp và tôi đã hiểu chính xác câu hỏi. Nếu không, xin vui lòng cho biết để tôi có thể chỉnh sửa câu trả lời của tôi cho phù hợp.


3
Tôi nghĩ rằng anh ta có thể đang tìm kiếm một cơ chế ghi / phát lại để thực hiện điều này. Môi trường trò chơi quyết định, theo dõi các sự kiện thay đổi mọi thứ (ví dụ như người chơi nhập) và tương tự thường là những cách được đề xuất để làm điều này.
James

Cảm ơn James đầu vào của bạn! Đây là những điều mà tôi không biết, mặc dù câu trả lời của tôi cũng là một cách tiếp cận dễ dàng, khiêm tốn. Tuy nhiên, tôi quan tâm để tìm hiểu thêm về chủ đề này. Ồ và, +1 cho nhận xét của bạn, điều này dạy tôi rằng có những cách tiếp cận khả thi khác. =) Cảm ơn! =)
Will Marcouiller

Tôi thực sự xin lỗi vì sự ngu ngốc này Tôi vẫn đang học những điều cơ bản nhờ cả hai cho thông tin của bạn, tôi thực sự không thể trả lời với kiến ​​thức phù hợp vì tôi không sở hữu bất kỳ. những gì tôi muốn đạt được là mỗi lần tôi cố gắng đánh bại số điểm cao cá nhân mà tôi thấy trên màn hình một con ma (phát lại) về cách tôi chơi trò chơi khi tôi đặt điểm cao của mình
claude keller

@ Bạn sẽ cho anh ấy biết thông tin về những gì có thể được thực hiện cho thiết lập nhiều người chơi, một khi anh ấy thực sự tìm ra câu trả lời cho câu hỏi của anh ấy về một trò chơi một người chơi. Câu hỏi của anh là làm thế nào để tạo ra con ma ngay từ đầu.
Tấn

@AttackingHobo: Cảm ơn đã cho tôi biết. Tôi thực sự đã tìm ra từ bình luận của James về điều ghi âm, sau đó đọc câu trả lời của wkerslake, bây giờ tôi hiểu rõ hơn những gì được OP yêu cầu. Ngoài ra, bạn đã đúng khi nói rằng thiết lập được đề xuất của tôi có nhiều khả năng sẽ được sử dụng trong thiết lập nhiều người chơi. Này, tôi vẫn đang học ở đây, và cảm ơn vì đã cho phép phát triển tốt hơn! Phát triển trò chơi vẫn là một mẹo mới đối với tôi mặc dù tôi là một nhà phát triển có kinh nghiệm. =) Cảm ơn bình luận của bạn AttackHobo! =)
Will Marcouiller

1

Không dễ để trả lời câu hỏi này mà không có thêm thông tin về trò chơi của bạn. Câu trả lời từ wkerslake hoạt động miễn là cách chơi hiện tại với hồn ma không thể ảnh hưởng đến tính xác định của dữ liệu ma được ghi. Nếu dữ liệu được ghi lại là bản dùng thử thời gian ô tô duy nhất trong môi trường tĩnh, bạn sẽ ổn khi sử dụng kỹ thuật đó.

Tuy nhiên, trong nhiều trò chơi có phát lại ma, như Super Meat Boy, vị trí của người chơi có thể thay đổi trạng thái của cấp độ và AI. Rõ ràng, bạn không thể có bóng ma ảnh hưởng đến thế giới và AI, vì vậy tốt hơn là chỉ ghi lại vị trí + thay đổi hoạt hình (và mọi thứ khác có thể nhìn thấy) mỗi khung hình cho trình phát chính. Trong quá trình phát lại, chỉ cần kết xuất bóng ma ở vị trí hiện tại và khung hình động mà không có nó trên thế giới. Điều này cho phép bạn phát lại một con ma và không có trình phát hiện tại ảnh hưởng đến nó.

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.