Finden Sie Ihren Engpass heraus
Ein paar hundert bewegte Objekte sollten kein Problem sein. Es könnten jedoch einige hundert kollidierende Objekte sein. Es wird einige Tests erfordern, aber ich glaube, der Engpass, den Sie haben, ist die Kollision.
Übrigens, über wie viele Objekte sprechen wir? Was ist die Plattform? Einhundert Objekte für ein Handyspiel sind nicht dasselbe wie einhundert für ein Webspiel oder einhundert Objekte für ein Desktop-Spiel.
Testen Sie dasselbe Spiel, aber mit deaktivierten Kollisionen zwischen den ausgeschnittenen Objekten, und prüfen Sie, ob es bei ähnlichen Objektmengen zu Verzögerungen kommt. Wenn dies der Fall ist, bedeutet dies, dass die schiere Menge an Objekten die Ursache für Probleme ist. Ansonsten sind die Kollisionen das Problem.
Dies informiert Sie über Ihre Entscheidung, wie Sie die Leistung verbessern möchten. Nicht alle der folgenden Ideen werden zutreffen, und Sie müssen sowieso testen.
Ich werde nicht über das Optimieren für eine große Anzahl von Objekten in der Nähe des Players sprechen, da die Probleme bei der Interaktion mit den Objekten zu auftreten scheinen.
Es gibt ein Problem, wenn Sie bewirken, dass sie sich bewegen.
Wenn das Problem bei der Interaktion mit den Objekten auftritt, ist unklar, wie das Entfernen nicht sichtbarer Objekte das Problem beheben kann. Ich gehe jedoch davon aus, dass es möglicherweise hilft.
Ich sage nur, wenn Objekte, die weit vom Spieler entfernt sind, ein Problem darstellen, können Sie zunächst kleinere Level haben oder das Spiel in Teile aufteilen, die Sie je nach Standort des Spielers laden und entladen können.
Außerhalb der Grenzen
Ich glaube, wenn es darum geht, Trümmer aufzuräumen, ist das erste, was man haben muss, Gegenstände zu entfernen, die außerhalb der Grenzen liegen. Zum Beispiel das Stück, das in eine Grube gefallen ist. Wenn der Spieler nicht in der Lage sein sollte, dorthin zu gelangen, um es zu sehen, gibt es keinen Grund, es zu behalten.
Ich werde darauf zurückkommen.
Mach es realistischer (Teil 1)
Wenn Sie Holz mit einer Säge, einer Axt oder einem ähnlichen Werkzeug schneiden, geht Material verloren (Sägemehl, Späne usw.). Selbst wenn Sie mit einem Laser schneiden, verbrennt der Laser etwas Holz. Außerdem kommt es bei Dingen, die kein Holz sind, normalerweise zu Verformungen am Schnitt, Bröckeln usw.
Was ich sage ist, dass der Schnitt nicht perfekt ist und etwas Material verloren geht. Sie können das in Ihrem Spiel modellieren. Das magische rote Ding hat Dicke. Entfernen Sie diese Dicke von den Objekten (fügen Sie Partikeleffekte hinzu, wenn Sie sich zu schuldig fühlen).
Dies bedeutet, dass Sie nichts schneiden können, was kleiner als diese Dicke ist. Wenn Sie dies versuchen, wird es aus dem Spiel entfernt. Das ist gut! Dies bedeutet, dass es eine Obergrenze für die Menge an Trümmern gibt, die vorhanden sein wird, und dass es eine mechanisch einwandfreie Möglichkeit gibt, diese im Spiel zu beseitigen.
Ändern Sie die Gänge für kleine Gegenstände
Dies funktioniert besser, wenn Kollisionen das Problem sind.
Sobald ein Objekt zu klein ist, sind die Details der verschiedenen Winkel weniger relevant. Sie könnten zu einem weniger genauen Kollisionsmechaniker wechseln. Beispielsweise könnten Sie Kreiscollider verwenden.
Sie können auch kleinere Objekte ohne Kollision untereinander behandeln. Betrachten Sie nur Kollisionen zwischen ihnen und Agentenobjekten (wie dem Avatar des Spielers oder von der KI kontrollierten Charakteren).
Schließlich können sehr kleine Objekte in Staub verwandelt werden (Partikeleffekte).
Mach es realistischer (Teil 2)
Dies funktioniert besser, wenn Kollisionen das Problem sind.
Material verformt sich und bricht unter Druck. Wenn Sie lange Objekte mit sehr geringer Dicke haben, zerlegen Sie diese in kleinere Objekte, damit diese die oben beschriebene Lösung nutzen können.
Wir können so tun, als hätte es zu wenig Dicke, als dass es bröckelt und zerbricht, wenn Sie es schlagen.
Objekte zusammenführen
Dies funktioniert besser, wenn die Anzahl der Objekte das Problem ist.
Ein häufiger Trick, den viele Spiele verwenden, um mit großen Mengen an Tropfen umzugehen, die die Leistung beeinträchtigen könnten, ist das Bündeln von Tropfen.
Sie könnten etwas Ähnliches für kleine Objekte ausprobieren, die sich in der Nähe befinden. Haben sie ein einzelnes Objekt geworden. Ich will die Teile aber nicht zusammenkleben. Ich meine, ein einzelnes Objekt zu erstellen, um mit ihrer Physik umzugehen. Sie können immer noch die einzelnen Teile darstellen, aus denen sich das Objekt zusammensetzt, möglicherweise mithilfe von Techniken, die Partikeleffekten ähneln.
Mach es realistischer (Teil 3)
Hast du von Wind gehört? Es gibt Wind in der realen Welt.
Verwenden Sie Wind, um kleine Gegenstände wegzuschieben.
Ich weiß, dass es kontraintuitiv klingen kann, weil es bedeutet, dass kleine Objekte nicht zur Ruhe kommen, zumindest nicht sofort. Lesen Sie weiter unten, bevor Sie ein Urteil fällen.
Sie können verwenden Wind vor wegzuschieben kleines Objekt - oder sobald - sie beginnen zu stapeln. Was funktioniert besser, wenn Sie Optimierungen für kleine Objekte verwenden (z. B. Kombinieren oder Entfernen von Kollisionen zwischen diesen).
Wenn Sie Wind verwenden können, um Objekte in Gruben oder auf andere Weise außerhalb der Grenzen zu schieben, können Sie dies als Entschuldigung für das Entfernen der Objekte verwenden. Ich habe dir doch gesagt, dass ich darauf zurückkommen werde. Selbst wenn Sie dies nicht tun, kann dies als Entschuldigung dafür dienen, kleine Objekte zu entfernen, die zu weit vom Spieler entfernt sind. Stellen Sie sich einfach vor, der Wind hätte sie entfernt, während der Spieler nicht hinschaute.
Sie können einige Objekte entfernen, während der Spieler nicht hinschaut. Sie haben meinen Segen.
Darüber hinaus haben Sie jetzt eine Ausrede, um Wind hinzuzufügen, den Sie als Teil anderer Mechaniken oder Hindernisse des Spiels hinzufügen können. Sie könnten sogar den Geist des Windes in die Erzählung aufnehmen, der versucht, die Dinge sauber zu halten, wenn Sie so geneigt sind.
Hinweis : Sie müssen nicht unbedingt Wind auslösen, wenn es Trümmer zum Reinigen gibt (obwohl dies funktionieren würde). Möglicherweise kann Wind in zufälligen Intervallen auftreten.
Biber!
Ein nerviger Biber kommt vorbei und stiehlt dein Holz!
Jetzt hast du einen feindlichen Typ!
Außerdem entfernen sie natürlich Holz, während Sie nicht hinsehen. Sie können es sogar so gestalten, dass Sie zurückkehren und sehen, wie ein Biber mit einem Stück Holz davonläuft, wo früher ein Haufen war. Das würde für einen unvergesslichen Moment sorgen, erklärt, warum das Holz verschwunden ist und löst einige der Leistungsprobleme, denen Sie gegenüberstehen, auf einmal.
Es ist alles Kompromisse
Es gibt Einschränkungen bezüglich der Plattform oder der von Ihnen gewählten Tools. Auch die Zeit und das Budget, die Sie für die Entwicklung des Spiels benötigen, sind begrenzt. Eine perfekte Simulation der Realität ist noch nicht möglich . Niemand kann .
Jeder Entwickler arbeitet innerhalb der Grenzen seiner Zielplattform und der Tools, die ihm zu der Zeit zur Verfügung standen, und die besten Spiele mussten Kompromisse eingehen, um das Spiel unterhaltsam und ansprechend zu gestalten ... auch wenn dies weniger Realismus bedeutet. Oft machen sie Spaß und sind ansprechend, weil sie nicht realistisch sind.
Lassen Sie Kreativität aus diesen Grenzen kommen.
Sie können Ihr Spiel aber auch realistischer gestalten , indem Sie die für Ihre Entwicklung geeigneten Teile der Realität auswählen. Bedenken Sie, dass manchmal das Entfernen von Gegenständen, die nicht im Spiel sind, die Kosten für ein unterhaltsames Spiel verursacht.