Tìm ra nút cổ chai của bạn
Một vài trăm đối tượng di chuyển không phải là một vấn đề. Tuy nhiên, một vài trăm đối tượng va chạm có thể. Nó sẽ mất một số thử nghiệm, nhưng tôi tin rằng nút cổ chai bạn có là sự va chạm.
Nhân tiện, chúng ta đang nói về bao nhiêu đối tượng? Nền tảng là gì? Một trăm đối tượng cho một trò chơi di động không giống như một trăm đối tượng cho một trò chơi web hoặc một trăm đối tượng cho một trò chơi trên máy tính để bàn.
Thử nghiệm cùng một trò chơi nhưng với các va chạm giữa các đối tượng bị cắt bị vô hiệu hóa và xem liệu bạn có làm cho nó bị trễ với số lượng đối tượng tương tự không. Nếu đó là trường hợp, nó có nghĩa là số lượng đối tượng tuyệt đối là nguyên nhân của rắc rối; mặt khác, các va chạm là vấn đề.
Điều này sẽ thông báo quyết định của bạn về những gì bạn sẽ làm để cải thiện hiệu suất. Không phải tất cả các ý tưởng dưới đây sẽ được áp dụng, và dù sao bạn cũng sẽ cần thử nghiệm.
Tôi sẽ không nói về việc tối ưu hóa cho một lượng lớn các vật thể ở xa người chơi, vì rắc rối dường như xảy ra khi tương tác với các vật thể.
Có một vấn đề khi bạn khiến họ di chuyển.
Nếu sự cố xảy ra khi tương tác với các đối tượng, không rõ việc loại bỏ các đối tượng không nhìn thấy sẽ giải quyết nó như thế nào ... tôi sẽ cho rằng nó có thể giúp ích.
Tôi sẽ chỉ nói rằng nếu các vật thể ở xa người chơi là một vấn đề, bạn có thể bắt đầu bằng cách có các cấp độ nhỏ hơn hoặc xem xét việc chia trò chơi theo từng phần mà bạn có thể tải và giảm tải tùy thuộc vào nơi người chơi sẽ đi.
Ngoài giới hạn
Tôi tin rằng khi nói đến việc dọn dẹp đống đổ nát, điều đầu tiên cần có là loại bỏ các vật thể nằm ngoài giới hạn. Ví dụ, mảnh đã rơi xuống một cái hố. Nếu không có cách nào người chơi có thể đến đó để xem nó, không có lý do gì để giữ nó xung quanh.
Tôi sẽ trở lại với điều này.
Làm cho nó thực tế hơn (phần 1)
Khi bạn cắt gỗ bằng cưa, rìu hoặc công cụ tương tự, sẽ có vật liệu bị mất (với mùn cưa, phoi, v.v.). Ngay cả khi bạn cắt bằng laser, tia laser sẽ đốt cháy một số gỗ. Ngoài ra, đối với những thứ không phải là gỗ thường sẽ có biến dạng xung quanh vết cắt, vỡ vụn, v.v.
Điều tôi đang nói là vết cắt không hoàn hảo, và một số vật liệu sẽ bị mất. Bạn có thể mô hình hóa điều đó trong trò chơi của bạn. Phép thuật cắt màu đỏ điều đó có độ dày. Loại bỏ độ dày đó khỏi các đối tượng (thêm hiệu ứng hạt nếu bạn cảm thấy quá tội lỗi).
Điều này có nghĩa là bạn sẽ không thể cắt bất cứ thứ gì nhỏ hơn độ dày đó, trên thực tế, cố gắng làm điều đó sẽ loại bỏ nó khỏi trò chơi. Thế là tốt! Điều đó có nghĩa là sẽ có một lượng lớn gạch vụn sẽ có, và có cách thức cơ học để dọn sạch nó trong trò chơi.
Thay đổi bánh răng cho các vật nhỏ
Điều này sẽ làm việc tốt hơn nếu va chạm là vấn đề.
Một khi một đối tượng quá nhỏ, các chi tiết của các góc khác nhau mà nó có ít liên quan hơn. Bạn có thể thay đổi thành một cơ chế va chạm ít chính xác hơn. Ví dụ: bạn có thể sử dụng trình thu thập vòng tròn.
Bạn có thể đối xử với các đối tượng nhỏ hơn mà không va chạm giữa chúng; chỉ xem xét va chạm giữa chúng và các đối tượng tác nhân (như hình đại diện của người chơi hoặc nhân vật do AI điều khiển).
Cuối cùng, các vật thể rất nhỏ có thể biến thành bụi (hiệu ứng hạt).
Làm cho nó thực tế hơn (phần 2)
Điều này sẽ làm việc tốt hơn nếu va chạm là vấn đề.
Vật chất biến dạng và phá vỡ dưới áp lực. Nếu bạn kết thúc với các vật thể dài với độ dày rất nhỏ, hãy chia chúng thành các vật thể nhỏ hơn để chúng có thể tận dụng giải pháp trên.
Chúng ta có thể giả vờ rằng nó có quá ít độ dày khiến nó vỡ vụn và vỡ khi bạn đánh nó.
Hợp nhất các đối tượng
Điều này sẽ hoạt động tốt hơn nếu số lượng đối tượng là vấn đề.
Một mẹo phổ biến mà nhiều trò chơi sử dụng để đối phó với số lượng lớn thả có thể ảnh hưởng đến hiệu suất là kết hợp các giọt với nhau.
Bạn có thể thử một cái gì đó tương tự cho các vật thể nhỏ gần nhau. Có họ trở thành một đối tượng duy nhất. Tuy nhiên, tôi không có ý gắn các mảnh lại với nhau. Tôi có nghĩa là tạo ra một đối tượng duy nhất để xử lý vật lý của họ; bạn vẫn có thể biểu diễn các phần riêng lẻ tạo nên đối tượng, có thể sử dụng các kỹ thuật gần giống với các hiệu ứng hạt.
Làm cho nó thực tế hơn (phần 3)
Bạn đã nghe nói về gió? Có gió trong thế giới thực.
Sử dụng gió để đẩy các vật nhỏ đi.
Tôi biết nó có thể nghe có vẻ trực quan, bởi vì điều đó có nghĩa là các vật thể nhỏ không được nghỉ ngơi, ít nhất là không ngay lập tức. Đọc dưới đây trước khi bạn đưa ra đánh giá của bạn.
Bạn có thể sử dụng gió để đẩy vật nhỏ ra trước - hoặc ngay khi - chúng bắt đầu chồng chất. Sẽ hoạt động tốt hơn nếu bạn đang sử dụng tối ưu hóa cho các đối tượng nhỏ (chẳng hạn như kết hợp chúng hoặc loại bỏ va chạm giữa chúng).
Hơn nữa, nếu bạn có thể sử dụng gió để đẩy vật phẩm vào hố hoặc ngoài lề, bạn có thể sử dụng như một cái cớ để loại bỏ vật phẩm. Tôi nói với bạn rằng tôi sẽ trở lại đó. Ngay cả khi bạn không, nó có thể là một cái cớ để loại bỏ các vật thể nhỏ ở quá xa người chơi, chỉ cần giả vờ gió đã loại bỏ chúng trong khi người chơi không nhìn.
Bạn có thể loại bỏ một số đối tượng trong khi người chơi không tìm kiếm, bạn có phước lành của tôi.
Thêm vào đó, bây giờ bạn có một cái cớ để thêm gió, bạn có thể thêm gió như một phần của các cơ chế hoặc chướng ngại vật khác của trò chơi. Bạn thậm chí có thể thêm vào câu chuyện về tinh thần của gió cố gắng giữ mọi thứ sạch sẽ, nếu bạn đang rất nghiêng.
Lưu ý : Bạn không nhất thiết phải kích hoạt gió khi có đống đổ nát để làm sạch (mặc dù điều đó sẽ hoạt động), bạn có thể có thể có gió xảy ra trong khoảng thời gian ngẫu nhiên.
Hải ly!
Một số hải ly gây phiền nhiễu đi cùng và ăn cắp gỗ của bạn!
Bây giờ bạn có một loại kẻ thù!
Ngoài ra, tất nhiên, họ loại bỏ gỗ trong khi bạn không tìm kiếm. Bạn thậm chí có thể thiết kế nó để bạn quay lại và thấy một con hải ly đang chạy trốn với một mảnh gỗ nơi từng là một đống. Điều đó sẽ làm cho một khoảnh khắc đáng nhớ, sẽ giải thích tại sao gỗ biến mất và sẽ giải quyết một số vấn đề về hiệu suất mà bạn gặp phải, tất cả cùng một lúc.
Đó là tất cả sự đánh đổi
Có những hạn chế của nền tảng hoặc các công cụ bạn đã chọn, thậm chí thời gian và ngân sách bạn có để phát triển trò chơi là một hạn chế. Bạn không thể thực hiện một mô phỏng hoàn hảo của thực tế, chưa . Không ai có thể .
Mọi nhà phát triển đều làm việc trong giới hạn mà nền tảng mục tiêu của họ và các công cụ họ có tại thời điểm đó áp dụng cho họ, và những trò chơi hay nhất phải đánh đổi để làm cho trò chơi trở nên thú vị và hấp dẫn ... thực tế, ngay cả khi điều đó có nghĩa là ít thực tế hơn, đôi khi họ vui vẻ và hấp dẫn bởi vì họ không thực tế.
Hãy để sự sáng tạo đến từ những hạn chế đó.
Mặc dù, bạn cũng có thể làm cho trò chơi của mình thực tế hơn , bằng cách chọn các phần của thực tế thuận tiện cho sự phát triển của bạn. Hãy xem xét rằng đôi khi loại bỏ các vật thể ra khỏi người chơi là một phần chi phí để tạo ra một trò chơi thú vị.