Ich möchte meine Gegenstände und Feinde zufällig (oder so zufällig wie möglich) platzieren. Im Moment benutze ich die XNA- Random
Klasse, um eine Zahl zwischen 800 für X und 600 für Y zu generieren. Es fühlt sich an, als würden Feinde mehr oben auf der Karte als in der Mitte oder unten erscheinen. Ich säe den Generator nicht, vielleicht ist das etwas zu beachten.
Gibt es andere beschriebene Techniken, die die zufällige Platzierung von Feinden auf einem 2D-Gitter verbessern können?
Antworten:
Die zufällige Platzierung sieht für das Auge nicht zufällig genug aus. Sie werden wahrscheinlich wollen, dass die Feinde etwas gleichmäßiger verteilt sind. Schauen Sie sich diesen Artikel über Poisson-Disk-Sampling an oder lesen Sie mehr über blaues Rauschen.
quelle
Shawn Hargreaves zur Rettung!
http://blogs.msdn.com/b/shawnhar/archive/2009/12/17/the-psychology-of-randomness.aspx http://blogs.msdn.com/b/shawnhar/archive/2010/09 /10/links-5-charles-bloom-on-randomness.aspx
Wenn Sie an zufällige Verteilung denken, meinen Sie wirklich eine gleichmäßige Verteilung. .Net's Random denkt zufällig. Sie brauchen etwas anderes, um es auszugleichen. Die Poisson-Disk-Sampling-Methode amitp, mit der verknüpft ist, passt perfekt zu Ihren Anforderungen.
quelle
Der folgende C # -Code generiert eine Reihe einheitlicher Punkte für Sie:
Beachten Sie, dass, wenn Sie den Random () -Konstruktor ohne Parameter verwenden, das von Ihnen erstellte Random-Objekt basierend auf der Zeit festgelegt wird. Es ist also im Wesentlichen zufällig, es sei denn, Sie führen es wiederholt mit sehr wenig Zeit zwischen den Aufrufen aus.
quelle