Game Design/Theorie, Loot Drop Chance - /Spawn-Rate

Ich habe eine sehr spezielle und langwierige Frage für Euch alle. Diese Frage ist sowohl über die Programmier-und Spiel-Theorie. Vor kurzem habe ich spawnbare Erz zu meiner Biegen Sie-Basierte Strategie-Spiel: http://imgur.com/gallery/0F5D5Ij (Für diejenigen von Ihnen, die Aussehen, bitte verzeihen Sie die Entwicklung Texturen).

Nun, auf die enigma, die ich bisher betrachten. In meinem Spiel, Erz generiert jedes mal eine neue Karte erstellt wird. 0-8 Erz-Knoten erzeugt pro level-Erstellung. Ich habe bereits diese arbeiten; außer es erzeugt nur "Emeraldite" an diesem Punkt, das bringt mich zu meiner Frage.

Wie würde ich, der Programmierer, die es so machen, Knoten bestimmten Rarität? Betrachten Sie dieses kurze Modell ist nicht wirklich Spiel-Daten:

(Pseudo Chancen, dass ein Knoten eine der folgenden)

Bloodstone 1 in 100
Default(Empty Node) 1 in 10
Copper 1 in 15
Emeraldite 1 in 35
Gold 1 in 50
Heronite 1 in 60
Platinum 1 in 60
Shadownite 1 in 75
Silver 1 in 35
Soranite 1 in 1000
Umbrarite 1 in 1000
Cobalt 1 in 75
Iron 1 in 15

Möchte ich es so machen, dass ein Knoten generiert werden könnten, theoretisch, alle der oben genannten, allerdings mit der Verschiedenheit betrachtet. Ich hoffe, die Frage ist klar genug. Ich habe versucht, Sie zu wickeln meinem Kopf herum, und selbst zu schreiben versucht, aus ein paar if-Anweisungen mit randoms, aber, ich halten kommen mit leeren Händen.

Im Grunde will ich nur von Euch zu sehen, mein Problem ist, und hoffentlich geben Sie mir einen Einblick, wie konnte ich diesen Ansatz in einer dynamischen Art und Weise.

Wenn keine Klärung erforderlich ist, Fragen Sie bitte; sorry nochmal, wenn das war verworren.

(Ich bin hinzufügen von C# - wie ein tag nur, weil das die Sprache ist, die ich benutze für dieses Projekt)

  • Eine zufällige Ansammlung von if-Anweisungen mit randoms, die ich schon verschämt beiseite gefegt.
  • Sollten Sie einige code, die Sie versucht haben. Das hilft, um Ihre Probleme lösen schneller
  • Auch ist diese nicht besser geeignet für gamedev.stackexchange.com statt direkt stackoverflow? Wie es korreliert direkt mit Spiel-Programmierung und auch etwas Spieltheorie
  • Wahrscheinlich sollte ich ihn da drüben, du hast Recht. Noch, wenn jemand will, um zu werfen Ihre zwei-Cent werde ich gerne empfangen.
  • Ihre Statistiken nicht addieren -- Sie haben angegeben, dass 90% der Zeit, die Sie wollen ein nicht-leerer Knoten .. aber die Chancen, die Erze nicht hinzufügen bis zu 90%
  • Dies nennt man die fitness-Anteil/roulette-radauswahl - en.wikipedia.org/wiki/Fitness_proportionate_selection
  • Als eine Angelegenheit von real world " - Beispiel, das nützlich sein könnte: diablo2.diablowiki.net/Treasure_Classes
  • Suchen für geladene Würfel-algorithmen, hier eine nette Antwort mit ein paar nützlichen links.
  • Kann ein Knoten mehr als einen geben? Kann es einen zusätzlichen Knoten am gleichen Ort? Wollen Sie eine inverse Korrelation zwischen einem Knoten-Typ und andere, oder sollten Sie unabhängig sein? Haben Sie Sorge, über "wie viele Eisen Knoten pro Spiel anzeigen" oder "wie viele Eisen Knoten pro Ressource-Knoten" mehr? Sind es Familien, die von node-Typen? Da ist jede Bestellung (auch nur teilweise) auf die node-Typen, wobei X ist besser als Y? Ist die Anzahl der Knoten fest pro Karte, oder zufällig? Wie zufällig soll es sein? Können Sie befassen sich mit Werten, die außerhalb von 0-8 leicht?
  • Die Knoten werden erzeugt, indem man die Welt Breite * 2, Welt Höhe *2, mit, dass, wie x und z, und dann die Schleife durch jeden Voxel zu finden, wenn es ein top-Nachbarn; wenn false, nehmen wir voxels y-Wert += 2.0 f und den Knoten platziert wird es durch den Vergleich, dass Voxels Lage durch einen epsilon-Wert. Es ist mathematisch unmöglich, dass zwei Knoten haben dieselben Koordinaten. Noch war das gewünschte.
  • ... huh? Warum *2 die Größe der Welt? Was meinen Sie mit "Vergleich durch einen epsilon-Wert"? (Und ich nehme an, die Antworten zu meinem vorherigen post sind "Nein", "Nein", "nicht geantwortet", "nicht geantwortet", "nicht geantwortet", "nicht geantwortet", "random", "das wissen Sie nicht: Sie schrieb-code und akzeptiert das Ergebnis, wie es schien vernünftig", "ja")? Können Sie bestätigen, dass die Auslegung und eindeutige Antworten oder "weiß ich nich"der "nicht beantworteten" Fragen? Danke.
  • Das gemeinsame Thema zu drehen, die verschiedene Nenner Wahrscheinlichkeiten in einigen gemeinsamen Nenner (z.B., Astrotrain Antwort) bringt mich wieder zurück zu D&D ' s loot-Tabelle-mechanik: dandwiki.com/wiki/SRD:Treasure
  • Ich fragte eine sehr ähnliche Frage an den Autor.SE über Datenstrukturen für diese Art von Zufall. Die Antworten dort sind wohl zutreffend für Ihre situation.
  • Für Epsilon zu sehen: pastebin.com/3HhxZAW4 ich will nicht zu offenbaren, die ganze Welt-generator-Quelle, aber das Beispiel sollte genügen, zu zeigen, wie Vergleiche ich die grobe Schätzung, bei der die Suche nach der mineral-Lage. Für deine anderen Fragen, Sie wird unbeantwortet bleiben, leider, denn die Antwort ist bereits gegeben und es ist überflüssig zu erklären, keine weiteren.

InformationsquelleAutor Krythic | 2014-09-23
Schreibe einen Kommentar