Làm thế nào tôi có thể tạo ra Fog of War gradient?


14

Tôi đang tạo một trò chơi 2D RTS từ trên xuống cho mục đích giáo dục. Hiện tại, tôi thực sự chỉ đang sao chép thiết kế / ý tưởng của Starcraft. Tôi đã quyết định có lẽ tôi cũng nên thực hiện Fog Of War.

Mong đợi của tôi:

  • Các khu vực hiện đang khám phá (đơn vị là có) nên được thắp sáng.
  • Khu vực previsouly khám phá (đơn vị ở đó) nên sẫm màu hơn nhưng hiển thị những gì mọi thứ đã ở đó khi đơn vị của bạn là ở đó.
  • Các khu vực chưa được khám phá (khu vực mà các đơn vị của bạn chưa từng đến) nên có màu đen hoàn toàn.
  • Cần có một sự thay đổi độ dốc từ mỗi loại (ví dụ: đã khám phá để khám phá trước đó) Xem hình dưới đây.

độ dốc giữa các vùng khả năng hiển thị

Chỉ cần các chi tiết thô: Làm thế nào tôi sẽ làm điều này?

Câu trả lời:


11

Bạn nên thêm thông tin về cách bạn đang thực hiện trò chơi, nhưng đây là một vài cách:

  • Giữ một bitmap của toàn bộ bản đồ, mỗi lần khám phá một khu vực mới chỉ cần lật các bit tương ứng khi chúng hiển thị. Bạn có thể làm tương tự cho khu vực tiết lộ.
  • Các đơn vị kẻ thù được rút ra chỉ khi chúng ở trong khu vực được tiết lộ. Bạn sẽ cần giữ trạng thái 'nhìn thấy lần cuối' cho các tòa nhà trong khu vực FOW.
  • Bạn không cần cập nhật khả năng hiển thị mọi khung hình - tùy thuộc vào tốc độ đơn vị tối đa của bạn, 5 hoặc 10 khung hình / giây là khá đủ.
  • Giả sử bạn đang sử dụng gạch vuông, bạn sẽ chỉ cần 4 mặt nạ để có được kết quả bạn cần: một cho gạch 'rắn' (bôi đen), một 'khuỷu tay' và một 'góc' và một 'cạnh thẳng' dốc. Bạn có thể nhận được tất cả những thứ khác từ những điều này bằng cách sử dụng các phép quay và độ trong suốt khác nhau.

Mong rằng sẽ giúp.


Ngoài ra, sử dụng chỉ mục không gian để lưu trữ các đối tượng trò chơi của bạn, để bạn có thể nhanh chóng truy vấn những đối tượng nào hiển thị cho người chơi.
Kai
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.