English flagItalian flagKorean flagChinese (Simplified) flagPortuguese flagGerman flagFrench flag
Spanish flagJapanese flagArabic flagRussian flagGreek flagDutch flagBulgarian flag
Czech flagCroat flagDanish flagFinnish flagHindi flagPolish flagRumanian flag
Swedish flagNorwegian flag     
By N2H
Willkommen in Raph Koster's persönliche Webseite: MMOs, Gaming, Schreiben, Kunst, Musik, Bücher.

UO’s resource system, part 3 UO die Ressource-System, Teil 3

June 5th, 2006 5. Juni 2006

I’ve now written two posts that were far lengthier than I anticipated, about the way that UO’s resource system was originally intended to work. Ich habe jetzt zwei schriftliche Beiträge, die weit längere, als ich erwartet, über den Weg, dass die Ressource UO-System wurde ursprünglich für die Arbeit. The first dealt with underlying data structures , and the second with applications of those data structures to the actual world . Der erste befasste sich mit den zugrunde liegenden Daten Strukturen, und die zweite mit Anwendungen dieser Daten Strukturen an die tatsächliche Welt. I want to talk a bit about future directions that we didn’t get to pursue. Ich möchte sprechen ein wenig über die zukünftige Richtung, die wir nicht bekommen zu verfolgen.

Cool ways to use what we already had Cool Möglichkeiten zu nutzen, was wir bereits

The mining system in UO was an example of “transmutation” in action. Die Bergbau-System in UO war ein Beispiel von "Transmutation" in Aktion. We placed ORE in the chunk eggs based on the presence of rocks and the terrain rock texture. Wir haben Erzvorkommen in dem Stück Eier auf das Vorhandensein von Felsen und das Gelände Rock-Textur. We mined ORE out by clicking on rocks or the rock texture and transferring the ORE to the new “pile of ore” object. Wir verminten ORE aus, indem Sie auf Felsen oder die Rock-Textur und die Übertragung der ORE auf die neue "Haufen von Erz"-Objekt.

When I added in the varieties of metals to the system, the way I did it was by adding a dynamic variable to the chunk egg. Wenn ich hinzugefügt, die Sorten von Metallen auf das System, so wie ich es war, indem eine dynamische Variable auf die Chunk-Ei. The were called “object variables” or “objvars” in UO parlance, and they were essentially flags with values that could be attached to any dynamic object. Die wurden als "Objekt Variablen" oder "objvars" in UO Sprachgebrauch, und sie waren im Wesentlichen Fahnen mit Werten, die sich an jedes dynamische Objekt. You could tag someone as “BEAT_THE_HARPY” with a value of “TRUE” and then use hasObjVar(target, “BEAT_THE_HARPY”) to see if the objvar was present, or val = getObjVar(target, “BEAT_THE_HARPY”) to get that value into a variable for script use. Sie können Tag jemand als "BEAT_THE_HARPY" mit einem Wert von "TRUE" und verwenden Sie dann hasObjVar (Ziel, "BEAT_THE_HARPY"), um zu sehen, wenn die objvar anwesend war, oder val = getObjVar (Ziel, "BEAT_THE_HARPY"), um diesen Wert in eine Variable für das Skript verwenden. These objvars were persistent, so you could build complex systems out of them. Diese objvars waren persistent, so dass Sie könnte Aufbau komplexer Systeme aus ihnen heraus.

I simply attached a little script to every chunk egg that checked to see if it had an objvar that defined a metal type. Ich habe einfach an ein kleines Skript zu jedem Stück Ei, dass überprüft, um zu sehen, wenn er ein objvar definiert, dass ein Metall-Art. If it didn’t, then it randomly chose a metal type and set the objvar to that value. Wenn es nicht, dann ist es zufällig wählte ein Metall-Typ und stellen Sie die objvar auf diesen Wert. This meant that after this script was updated, every chunk in the world bore a different kind of ore. Dies bedeutete, dass nach diesem Skript wurde aktualisiert, jedes Stück in der Welt trug eine andere Art von Erz. I weighted some to be rare and others to be more common. I, gewichtet einige eher selten zu sein und andere zu mehr Gemeinsamkeit.

When the ORE was mined, I had the mining script transfer that variable to the new object along with the ORE resource. Wenn das Erz gefördert wurde, hatte ich die Bergbau-Skript, dass die Variable Übertragung auf das neue Objekt zusammen mit dem Erz-Ressource. I also had it tint the ore graphic based on a standard lookup table, dependent on what the value of the objvar was. Ich hatte auch sie Tönung das Erz Grafik basiert auf einem Standard-Lookup-Tabelle, abhängig, was den Wert der objvar wurde. And thus colored armor was born — we simply had each step transfer the variable along. Und so farbigen Rüstungen geboren wurde - wir hatten einfach jedem Schritt die Variable entlang.

This worked even when we actually recycled the ORE and conjured up METAL out of thin air instead. Dies funktioniert sogar, wenn wir tatsächlich recycelt das Erz und beschworen METAL aus der dünnen Luft statt. This was the step of refining the ore into ingots. Dies war der Schritt der Raffination das Erz in Barren. You could also combine ore — I don’t recall how we handled this, but it was probably by picking the commoner of the two types. Sie können auch kombinieren Erz - ich mich nicht erinnere, wie wir behandelt, aber es wurde wahrscheinlich durch Bürgerliche die Kommissionierung der beiden Arten. It would have been fairly easy to add new metal types that were not minable but were only available as alloys, too. Es wäre ziemlich einfach, um neue Metall-Arten, die nicht minable, sondern wurden nur als Legierungen, zu. In a more modern system, we would have instead had types of METAL such as IRON or COPPER that inherited from the base type — and that is in fact how SWG worked. In einem modernen System, hätten wir statt hatte aus Metall wie Eisen oder Kupfer, geerbt von der Basis geben - und das ist in der Tat, wie SWG arbeitete.

This sort of transmutation, where you query the amount of RESOURCE1, delete it, and then create a corresponding amount of RESOURCE2, permitted the concept of “refinement” of one type of quality into another. Diese Art von Transmutation, wo Sie Abfrage der Höhe der RESOURCE1, löschen Sie es, und erstellen Sie dann eine entsprechende Menge von RESOURCE2, erlaubt der Begriff der "Verfeinerung" der eine Art von Qualität in eine andere. COTTON or FLAX into CLOTH is a similar thing, only with the wrinkle that it permits two different initial sources to become the same sort of thing in the end. Baumwolle oder Flachs Stoff ist in einer ähnlichen Sache, nur mit dem Falten da sie es ermöglicht, zwei verschiedene ursprünglichen Quellen bis zu ein und derselben Art der Sache am Ende.

I mention this example just to point out that there were a lot of possibilities for the use of transmutation of one resource type to another; for example, a stone mage could use up ORE as resources and turn it into MAGIC; really, we should have made one’s mana pool be literally how much MAGIC resource they represented. Ich erwähne dieses Beispiel nur darauf hinweisen, dass es eine Vielzahl von Möglichkeiten für die Nutzung der Transmutation von einem Ressourcen-Typ auf einen anderen, zum Beispiel, einen Steinwurf Magier können sie ORE als Ressourcen an und schalten Sie ihn in MAGIC; wirklich, wir sollten ein aus der Mana-Pool werden wahrsten Sinne des Wortes, wie viel MAGIC Ressource sie vertreten. A druid could have instead drawn power from the amount of GRASS or TREE that was around. Ein Druide haben könnte, anstatt die Kraft aus der Höhe von Gras oder Baum, der war rund. And a necromancer — well, every time something died, it could have added DEATH to the chunk egg based on what was killed; a necromancer would then be able to “mine death magic” from spots where many things had been killed. Und ein Nekromant - gut, jedes Mal, wenn etwas stirbt, es hätte Mehrwert Tod der Chunk Ei, basierend darauf, was getötet wurde, ein Nekromant wäre dann in der Lage, "Mine Tod Magie" von Spots, wo viele Dinge getötet worden war. Had we done this, I am sure we quickly would have had necromatic sacrifice altars, and they would have intentionally herded players (who of course would carry much power!) to those places to die. Hätten wir dies getan, ich bin sicher, dass wir schnell hätte necromatic opfern Altäre, und sie hätten absichtlich hütete Spieler (die natürlich würde viel Macht!) Auf die Plätze zu sterben. Temple of Doom, here we come… Tempel des Todes, hier kommen wir ...

Other applications based solely on what was already present: Andere Anwendungen beruht lediglich auf, was bereits vorhanden:

  • You could do real tracking, based on things leaving traces in the chunk eggs. Sie tun können echte Verfolgung, die sich auf Dinge verlassen Spuren in der Chunk-Eier.

  • You could have NPCs or creatures who collected or desired items with specific resources. Sie hätte NSCs oder Kreaturen, die erhoben oder gewünschten Elemente mit spezifischen Ressourcen.
  • You could easily do a nice “detect magic” or really, “detect anything” sort of informational spell, with strength of the glows dependent on the amount of the resource present Sie könnte leicht eine nette "erkennen Magie" oder wirklich "etwas erkennen" Art der Informations-Rechtschreibprüfung, mit Stärke des leuchtet abhängig von der Höhe der Ressource präsentieren
  • You could create secret or transmutation paths — mix MAGIC and METAL to make MITHRIL or something, regardless of what the item looked like originally. Sie könnten nun mit der Geheimhaltung unterliegen oder Transmutation Pfade - Mix MAGIC METAL und Mithril zu machen oder etwas, unabhängig von dem, was das Element sah aus wie ursprünglich.
  • You could do “melting down” of materials. Sie tun könnten "Schmelzen" von Materialien.
  • You could create greater or lesser susceptibility to damage based on conditions. Sie könnten nun mit mehr oder weniger Anfälligkeit für Schäden, die auf Bedingungen. It’s easy to imagine a HUMIDITY value stored on a chunk egg — it could even move around. Es ist leicht vorstellbar, ein FEUCHTIGKEIT Wert auf ein Stück Ei - es könnte sogar bewegen. And then it could affect the growth rate of GRASS or the decay rate of METAL. Und dann könnte es Auswirkungen auf die Wachstumsrate von Gras oder den Zerfall von METAL.
  • This also reflects the whole “dragon fire breath actually sets things on fire” thing. Dies entspricht auch den gesamten "Drachen Feuer Atem tatsächlich setzt Dinge in Brand" Ding.
  • Player actions could affect resources on them, such as reputations with certain groups, karma, and so on. Player Maßnahmen beeinträchtigen könnte Ressourcen auf sie, wie Reputation mit bestimmten Gruppen, Karma, und so weiter. They could acquire the “scent” of things they worked with often, for example. Sie könnten Erwerb der "Duft" von Dingen, die sie mit oft, zum Beispiel. This would then replace a typical stats system, which would need to be hardcoded to interact with every other data type in the game. Dies würde dann an die Stelle einer typischen Statistik-System, das werden müssten fest zur Interaktion mit jedem anderen Datentyp in das Spiel.
  • This could, for example, allow a disease to be transmitted invisibly across the game, affecting only, say, magical reagents — and players could be the carriers without knowing it, unless it was detected by a spell or skill. Dies könnte, zum Beispiel, eine Krankheit zu übermitteln unsichtbar in das Spiel, nur die, sagen wir, magische Reagenzien - und die Spieler könnten die Träger ohne es zu wissen, es sei denn, es wurde festgestellt, durch einen Zauber oder Fähigkeiten.
  • Most obviously, had we chosen to incur the cost of streaming the chunk eggs, we could have actually made the rendering of the chunks change based on what the chunk egg represented. Die meisten natürlich, wir hatten sich dafür entschieden, entstehen die Kosten für die Streaming-Stück Eier, wir könnten tatsächlich aus der Erbringung der Chunks ändern, basierend darauf, was die Chunk-Ei vertreten. As the grass is eaten, bare dirt is left behind. Wie das Gras gefressen, blank Schmutz wird auf der Strecke bleiben. As the ore-bearing rock is reduced, change the rock tile to gravel. Da die Erz-Rock-Lager reduziert wird, ändern Sie die Rock-Ziegel auf Kies. As the temperature changes, draw dead grass or even snow. Als die Temperatur ändert, ziehen tote Gras oder sogar Schnee. And so on. Und so weiter.

I could go on; suffice to say that even with just an abstract property system and no real AI work, there’s lots of potential for a lot of interesting and fresh gameplay. Ich könnte noch weiter auf; genügt zu sagen, dass selbst mit nur eine abstrakte Eigenschaft System und keine wirkliche AI Arbeit, es gibt jede Menge Potenzial für eine Menge von interessanten und frischem Gameplay.

What we didn’t have: causality Was wir nicht haben: Kausalität

But the real issue with something like the dragon example is, “how do I know that the dragon is hungry, and not just a random spawn?” In other words, there needs to be a sense of purpose to what is going on. Aber das wirkliche Problem mit so etwas wie der Drache Beispiel ist, "wie kann ich wissen, dass der Drache ist hungrig, und nicht nur eine zufällige hervorzubringen?" Mit anderen Worten, es muss ein Gefühl der Zweck zu dem, was vor sich geht.

The reason why it matters that the dragon is hungry and not just a random spawn is because it suggests multiple ways to solve the problem. Der Grund, warum es darauf ankommt, dass der Drache ist hungrig und nicht nur eine zufällige hervorzubringen ist, weil er schlägt vor, mehrere Möglichkeiten, das Problem zu lösen. You could kill the dragon. Sie könnten den Drachen töten. You could also feed it to get it to go away. Sie können auch Futtermittel, damit Sie es weg zu gehen. Herd deer in between you and the village, let’s say. Herde Rotwild in zwischen Ihnen und dem Dorf, sagen wir mal. The problem is, maybe there is no reason. Das Problem ist, vielleicht gibt es keinen Grund. How can the player tell? Wie kann der Spieler sagen?

Let’s take the simpler case of some rabbits who eat the lettuce out of a farmer’s garden. Nehmen wir das einfacher Fall von einigen Kaninchen, die essen den Salat aus einem Landwirt Garten. What you really want is for the farmer to tell you “I’s gots me some rabbit issues; filthy buggers’re eatin’ muh lettuce! Was Sie wirklich wollen, ist für den Landwirt, Ihnen zu sagen, "ich's Gots mir einige Fragen Kaninchen; dreckiger buggers're eatin" muh Salat! I’ll pay ye ta ’sterminate’em!” Ich werde bezahlen ihr ta 'sterminate'em! "

The proposed but never implemented method for handling this required knowledge at one step remove. Die vorgeschlagene, aber nie umgesetzt Methode für den Umgang mit dieser erforderlichen Kenntnisse auf ein Schritt entfernen. The farmer would DESIRE his lettuce; this means he would walk around where it was, when he was not hungry, and if he could pick it up, he’d transfer it to his home. Der Bauer würde seinen DESIRE Kopfsalat, bedeutet dies, er würde gehen, wenn es um war, wenn er nicht hungrig, und wenn er könnte abholen, er hätte es auf seine Heimat. But the rabbits want to EAT the lettuce. Aber die Kaninchen wollen EAT der Kopfsalat. If the farmer knew the name and template type of whatever was making him unhappy by competing for his desired resource, then he could complain about it. Wenn der Bauer kannte den Namen und die Art der Vorlage unabhängig machte ihn unglücklich durch konkurrierende für seine gewünschte Ressource, dann konnte er sich über sie. And if we tracked what the player killed, he’d know that they were good rabbit exterminators and possibly provide a reward, without there being a static quest defined. Und wenn wir verfolgt, was der Spieler getötet, er würde wissen, dass sie gute Kaninchen exterminators und möglicherweise eine Belohnung, ohne dass eine statische Streben definiert werden.

What’s more, if players killed all the rabbits, but what came along next time as a spawn that ate lettuce happened to be deer, or even a lettuce blight, then the farmer would respond in the same way — anything that was eating “his” lettuce would be somethng he could complain about, and reward those who took action. Was gibt's mehr, wenn Spieler getötet alle Kaninchen, aber was kam entlang nächste Mal als spawn, dass aß Salat geschehen zu sein Hirsche, oder sogar ein Salat Plage, dann hat der Landwirt reagieren in der gleichen Art - alles, was war das Essen " seine "Salat wäre somethng konnte er sich über, und belohnen diejenigen, die die Aktion.

Similarly, in the village-attacked-by-dragon case, the villagers would have to like having other villagers around, so they could complain that “their” villagers were being destroyed by something else. Auch im Dorf-angegriffen-by-Drachen Fall, die Dorfbewohner hätten, um wie mit anderen Dorfbewohner um, so könnten sie beschweren sich darüber, dass "ihre" Dorfbewohner wurden zerstört durch etwas anderes. You could extend this to any number of things. Sie können sich diese auf einer beliebigen Anzahl von Dingen. Let’s say that the smith loves “his” METAL objects. Nehmen wir an, dass die Smith liebt "seine" METAL Objekte. If a rust monster wandered through town and damaged the METAL, then he would complain about that but no other villagers would unless they also DESIRED METAL. Wenn ein Monster Rost wanderte durch die Stadt und beschädigt die Metall-, dann würde er sich über, aber keine anderen Dorfbewohner, es sei denn, sie würde auch ANGESTREBTEN METAL.

The implementation problems here are tricky. Die Umsetzung Probleme hier sind trickreich. First, we would have needed to have some sort of registry so that the farmer could know about the rabbits, who are a third party to his relationship with his beloved vegetables. Erstens hätten wir gebraucht haben, um eine Art der Registrierung, so dass der Landwirt könnte wissen um die Kaninchen, die ein Dritter auf seine Beziehung zu seiner geliebten Gemüse. Worse, we would have also needed to relay the player actions against this third party so that the farmer could supply rewards and commentary. Schlimmer noch, wir hätten auch erforderlich, um die Relais-Player Maßnahmen gegen diese dritte Partei, so dass der Landwirt könnte Belohnungen und Kommentar.

Because of these hurdles, and because there was always something more urgent going on, we never got this in. Aufgrund dieser Hürden, und da gab es immer etwas mehr dringend los, wir nie dieses in.

A similar thing that we wanted above and beyond the basic resource system was the concept of targeted desires. Ein ähnliches, was wir wollten oben und über die grundlegenden Ressource wurde das Konzept der gezielten Wünsche. Instead of abstractly liking all METAL or all MEAT, we wanted to support the ability for something to pick a favorite: a preferred sword, a favorite pet. Statt abstrakt Mögen alle METAL oder das gesamte Fleisch, wollten wir Unterstützung für die Fähigkeit etwas zu holen ein beliebter: ein bevorzugter Schwert, ein beliebtes Haustier. The test case that we designed for this was actually a love triangle. Der Test Fall, dass wir speziell für dieses war tatsächlich eine Liebe Dreieck.

Both Fred and Bob would DESIRE (to be crude) HUMANFEMALE. Beide Fred und Bob würde LUST (zu roh) HUMANFEMALE. They would both search around for an object that met their desire, which would mean they would both hang around a female human NPC whenever they weren’t hungry. Sie würden sowohl für die Suche rund um ein Objekt, dass ihr Wunsch erfüllt, was bedeuten würde, sie würden beide hängen rund eine weibliche menschliche NPC, wenn sie nicht hungrig. However, if they found one that satisfied their desire (probably with a bit of a random roll) they would fixate on only that NPC, and poor Nellie would find that both Bob and Fred hung around her a lot. Allerdings, wenn sie eins gefunden, dass ihre Wunsch zufrieden (wahrscheinlich mit ein wenig von einem zufälligen Roll), sie würden nur auf fixieren, dass NPC, und arme Nellie würde feststellen, dass sowohl Bob und Fred hingen um sie herum eine Menge.

Now, HUMANFEMALE is a consumable resource. Nun, HUMANFEMALE ist ein Verbrauchsmaterialien Ressource. Bob, when around Nellie, is actually reducing it. Bob, als rund Nellie, ist es tatsächlich verringern. And that means, when you talk to Fred, he would be able to say “”I’s gots me some Bob issues; filthy buggers’re eatin’ muh Nellie! Und das bedeutet, wenn Sie sprechen Sie mit Fred, er wäre in der Lage zu sagen, "" I's Gots Bob mir einige Fragen, buggers're eatin schmutzig "muh Nellie! I’ll pay ye ta ’sterminate’im!” (or something of the sort). Ich werde bezahlen ihr ta 'sterminate'im! "(Oder etwas von der Art). Bob would be able to say the same thing in reverse. Bob der Lage wäre, zu sagen, das gleiche in umgekehrter Richtung. You could even solve the problem by finding something else for one of the two swains to do. Sie könnte sogar das Problem lösen, indem sie etwas anderes für eins der beiden swains zu tun. Even more interesting — if the dragon came along and ate Nellie, both Bob and Fred would be the first in line to seek revenge, or give a reward to a player who tackled the dragon problem. Noch interessanter werden - wenn der Drache kamen zusammen und aßen Nellie, die beide Bob und Fred wäre das erste in Zeile Rache zu suchen, oder eine Belohnung zu einem Spieler, der den Drachen in Angriff genommen Problem.

Similarly, rather than manually setting up paths and schedules for NPCs, you could create a script that has them gradually increase a FATIGUE value, or that switched their SHELTER from WORK to HOME locations based on the time of day. Ebenso, anstatt manuell die Einrichtung Wege und Zeitpläne für NPCs, könnten Sie ein Skript erstellen, das sie allmählich ein FATIGUE Wert, oder dass ihre eingeschaltet DEW vom Büro mit nach Hause Standorten auf der Grundlage der von der Tageszeit. You could have law-abiding citizens have an aversion to anything that produced DARK, so that at night they would cluster in lit interiors and under lamps, whereas only thief NPCs would be in the shadows. Sie könnte sich gesetzestreue Bürger haben eine Abneigung gegen alles, was produziert dunkel, so dass in der Nacht, sie würden Cluster in beleuchteten Innenräumen und unter Lampen, in der Erwägung, dass nur Dieb NPCs wäre in den Schatten.

The highest level of interface to all of this that we would have wanted for players would have included the notion of town criers and other news sources that pick “stories” from the ether and broadcast them. Die höchste Ebene der Schnittstelle zu allen von diesem, dass hätten wir wollten für Spieler hätte auch der Begriff der Stadt criers und andere Nachrichtenquellen, dass Pick "Geschichten" aus dem Äther und Broadcast sie. “Farmer Hayseed is pissed off about his lettuce getting eaten!” “Plague of street urchins won’t leave noble warriors alone!” “Fred kills Bob in jealous rage over Nellie!” and so on. "Farmer Hayseed ist zufriedener über seine Kopfsalat immer gegessen!" "Pest der Straße Gassenjungen wird nicht verlassen edlen Krieger allein!" "Fred tötet Bob in eifersüchtig Wut über Nellie!" Und so weiter.

Problems: closed loops, homeostasis, feedback Probleme: geschlossen Loops, Homöostase, Feedback

All of these sorts of applications rely on a large bank of dynamically assembled text that is contextual to the situation. Alle diese Arten von Anwendungen auf eine große Bank von dynamisch zusammengesetzt Text, ist kontextuellen auf die Situation. With the current desire for international localization of text, it’s unlikely that you can even execute on this. Mit dem aktuellen Wunsch nach internationalen Lokalisierung von Text, ist es unwahrscheinlich, dass Sie können sogar ausführen zu diesem Thema. Localization tends to demand static text, and indeed, UO had piles of dynamically assembled text that was removed when the title was localized to other languages, costing the game’s dialogue much of its flavor. Lokalisierung tendenziell die Nachfrage statischen Text, und in der Tat, UO hatte Haufen von dynamisch zusammengesetzt Text, der entfernt wurde, wenn der Titel wurde lokalisiert in andere Sprachen, kostet das Spiel den Dialog viel von ihrem Geschmack.

All of these higher-level applications can only really be built on top of a fully functional animal-level behavior system. Alle diese höheren Anwendungen können nur dann wirklich gebaut werden oben auf eine voll funktionsfähige Tier-Ebene Verhalten System. What’s more, in work since then, I have become persuaded that in fact, you need to drive the simulation to lower levels, such as humidity and temperature, just so you don’t find yourself creating special cases for simple behaviors. Was gibt's mehr, in der Arbeit, da dann, ich habe sich davon überzeugt, dass in der Tat zu können, benötigen Sie, um die Simulation auf einem niedrigeren Niveau, wie Feuchtigkeit und Temperatur, nur damit Sie nicht finden, selbst die Schaffung besonderen Fällen für einfache Verhaltensweisen. This leads to the concept that you could in fact build the whole world out of this, and just render textures and objects based on what resources are present, a concept first demonstrated in ALife examples such as Sugarscape . Dies führt zu dem Konzept, dass Sie könnte in der Tat bauen die ganze Welt aus, und machen nur Texturen und Objekte auf, welche Ressourcen vorhanden sind, ein Konzept in erster gezeigt, AL Beispiele wie Sugarscape.

In fact, it should now be evident that what this represents, in totality, is just a fairly elaborate “artificial life” engine, grown to the point where it encompasses spawning, basic behaviors, and even a higher-order quest system. In der Tat, es sollte nun offensichtlich, dass das, was dieser repräsentiert, in Gesamtheit, ist nur eine recht aufwendige "Artificial Life"-Engine, gewachsen zu dem Punkt, wo es umfasst Hervorbringen, grundlegende Verhaltensweisen, und sogar ein höherer Ordnung Quest-System.

However, without the following ingredients, there’s little point to implementing something like this: Doch ohne die folgenden Zutaten, gibt es wenig Sinn für die Umsetzung in etwa so aus:

  • It has to be visible and responsive to players. Es muss sichtbar sein und für die Spieler. This includes exposing causality. Dazu gehören ausgesetzt Kausalität. Otherwise, it might as well be random. Ansonsten, es kann auch sein, daß nach dem Zufallsprinzip.

  • NPCs need to be able to communicate to players about wants, and need to react to those wants. NPCs müssen in der Lage zu kommunizieren, um Spieler zu wollen, und müssen reagieren auf diese will.
  • Static data must be avoided at all costs, which is incredibly difficult for a traditional game development team. Statische Daten müssen um jeden Preis vermieden, die ist unglaublich schwierig für ein traditionelles Spiel Entwicklerteam zu protokollieren.
  • The myriad of variables must push towards homeostasis, rather than boom-bust cycles. Die Vielzahl von Variablen müssen Vorstoß in Richtung Homöostase, sondern als Boom-Bust-Zyklen. A lot of Alife sims end up in boom-bust, and that’s not interesting to users. Eine Menge von AL Sims Ende bis in Boom-Bust, und das ist nicht interessant für die Nutzer.
  • Naturally renewing resources can’t be in a closed loop, because of player hoarding effects. Natürlich Verlängerung der Ressourcen kann nicht in einem geschlossenen Kreislauf, denn der Spieler Horten Auswirkungen.
  • You have to solve CPU issues with pathfinding and searches in order to make the system tenable. Sie haben zu lösen CPU Probleme mit Wegfindung und Suchen, um das System haltbar.

There were discussions on MUD-Dev circa 1998 about other means to handle this sort of system within a reasonable CPU budget. Es gab Diskussionen über MUD-Dev circa 1998 über andere Mittel, um diese Art von System innerhalb einer angemessenen CPU-Haushalt. One approach that would probably work for the latter is to use “level of detail” for the areas. Ein Ansatz wäre wahrscheinlich, dass Arbeit für die letztere ist die Verwendung von "Level of Detail" für die Bereiche. If no players are around, stop instancing up individual wolves hunting individual rabbits; instead, save all those off, and calculate periodically how many wolves and how many rabbits would be there after a certain amount of time. Wenn kein Spieler sind rund, Haltestelle Instancing individuelle Wölfe Jagd einzelnen Kaninchen; statt, speichern Sie alle, aus, und in regelmäßigen Abständen berechnen, wie viele Wölfe und wie viele Kaninchen wäre es nach einer gewissen Zeit.

You could stuff the world data into a quadtree and run higher and higher-level sims, instancing all the data back out only when you needed to interact with it in granular fashion; or you could timestamp the last interaction, and “catch the sim up” when a player approaches. Sie könnten Dinge der Welt in ein Quadtree, und führen Sie höher und höher-Ebene Sims, alle Instanzen die Daten nur zurück, wenn Sie benötigt zur Interaktion mit ihr in Granulatform Mode, oder Sie könnten Zeitstempel der letzten Interaktion, und "Fang die SIM-up "Wenn ein Spieler Ansätze. This latter method was in fact used for handling harvesters and the like in SWG, since they tended to reside in areas that we actually took offline when no players were around. Diese Methode wurde in der Tat für die Handhabung und die Erntemaschinen wie in SWG, da sie eher auf Aufenthalt in Bereichen, die wir tatsächlich dauerte offline, wenn kein Spieler waren rund. Using hillclimbing and broadcasting rather than constant radial searches is another approach. Mit Hillclimbing und Rundfunk als konstant radial sucht ist ein anderer Ansatz. Lastly, truly treating the whole thing as an artificial life landscape would allow you to even use image processing techniques to update the grid, since they have been highly optimized. Schließlich ist die Behandlung wirklich die ganze Sache als eine künstliche Landschaft Leben würde ermöglichen es Ihnen, sogar mit Bild Verarbeitung Techniken zur Aktualisierung der Gitter, da sie wurden stark optimiert.

On the closed loops, I have come to believe they were basically a mistake. Auf der geschlossenen Loops, ich komme zu der Annahme, sie waren im Grunde ein Fehler. The real world offers resources that are infinite in practice for most situations ; it is local scarcity that is interesting. Die reale Welt bietet Ressourcen, die sich unendlich in der Praxis für die meisten Situationen, es ist, dass lokale Knappheit ist interessant. The issues with exposing the causality of things can be solved, I am sure, but they will take some work. Die Themen, mit dem die Kausalität der Dinge gelöst werden können, da bin ich sicher, aber sie wird noch einige Arbeit.

In conclusion Im Abschluss

To my mind, this sort of algorithmic approach to developing a virtual world is not only the past, in UO’s case, but also the future. Meiner Meinung nach, diese Art von algorithmischen Ansatz für die Entwicklung einer virtuellen Welt ist nicht nur die Vergangenheit, in UO der Fall, sondern auch die Zukunft. It is not hard to imagine our crude “METAL” with no parameters acquiring things like “melting point” and “brittleness” and then being plugged into physics simulations in the holodeck. Es ist nicht schwer vorstellbar, unsere roh "METAL" ohne Parameter Erwerb Dinge wie "Schmelzpunkt" und "Brüchigkeit" und dann als Plug-in in der Physik-Simulationen in den Holodeck. There comes a point where a robust simulation model, even an abstracted one, is a cheaper thing to develop than the giant piles of use-once quests and data that we currently enjoy in the MMORPGs today. Es kommt ein Punkt, wo eine robuste Simulationsmodell, auch ein abstrahiert ein, ist ein billiger, was zu entwickeln als die riesigen Haufen von USE-einmal Quests und Daten, die wir zur Zeit genießen in der MMORPGs heute. Even social worlds would benefit from having this sort of underlying mechanic, because if implemented properly, it exposes simplified levels of robust interaction to everyone and gives people something to talk about. Auch soziale Welten profitieren würden aus, diese Art der zugrunde liegenden Mechaniker, denn wenn ordnungsgemäß umgesetzt, es setzt vereinfachten Ebenen der Interaktion robust und für jeden Menschen etwas gibt, darüber zu sprechen.

I also think that there is nothing wrong with having traditional static data layered atop this. Ich bin auch der Meinung, dass es nichts falsch mit, die traditionellen statischen Daten oben auf dieser Ebenen. Making an NPC with a hardcoded quest, no FOOD, SHELTER or DESIRE needs, and blissful ignorance of the situation around him is still easy in a system of this sort. Making ein NPC mit einem fest Streben, keine Nahrung, Unterkunft oder DESIRE Bedürfnisse, und glückseligen Ignoranz der Situation um ihn herum ist immer noch einfach in ein System dieser Art. On the other hand, how much better if he knows enough to freak out when the dragon comes up to the castle and starts frying chamberlains. Auf der anderen Seite, wie viel besser, wenn er weiß genug, um ausflippen, wenn der Drache kommt bis zum Schloss und beginnt Braten chamberlains.

I’d much rather be burning CPU on this sort of thing, frankly, than on 3d collision. Ich hätte viel lieber Brennen CPU auf diese Art der Sache, offen gesagt, als auf 3D-Kollision. A lot of players complain about whether or not they can jump over a short wall, and believe me, I feel their pain (a story for another day) — but the kinds of immersive power that a simulation like this can bring opens a lot more doors. Viele Spieler klagen darüber, ob oder nicht, sie springen können über einen kurzen Wand, und glauben Sie mir, ich fühle ihren Schmerz (eine Geschichte für einen anderen Tag) - aber die Art von Macht, die immersive eine Simulation davon öffnet sich bringen kann viel mehr Türen.

In the long run, I believe that all the pressures are towards simulationist environments, rather than handcrafted ones. Auf lange Sicht glaube ich, dass alle den Druck in Richtung sind simulationist Umgebungen, anstatt von Hand aus. CPU power continues to outpace the cost of human capability to design static scenarios. CPU-Leistung weiterhin schneller die Kosten für die menschliche Fähigkeit zur Gestaltung statischen Szenarien. At some point, reality will catch up to our designs from 1995. An einem gewissen Punkt, Realität wird aufholen zu unseren Designs aus 1995.

Postscript for the curious — I was reminded in the comment threads that the original UO strategy guide actually had in it all the resource values for everything in the game, as well as things like the actual AI algorithm for falling through FOOD, SHELTER, and DESIRE. Postscript für Neugierige - Ich wurde daran erinnert, in den Kommentar-Threads, dass der ursprüngliche UO Lösungsbuch tatsächlich hatte sie alle in die Ressource-Werte für alles, was im Spiel, als auch Dinge wie die tatsächliche AI-Algorithmus für fallen durch Nahrung, Unterkunft, und DESIRE .

*

[?] [?]
You can follow any responses to this entry through the RSS 2.0 feed. Responses are currently closed, but you can trackback from your own site. Sie können alle Antworten auf diesen Eintrag durch den RSS 2.0 feed. Die Antworten sind derzeit geschlossen, aber Sie können Trackback von Ihrer eigenen Website.

77 Responses to “UO’s resource system, part 3” 77 Responses to "UO die Ressource-System, Teil 3"

Jump to reader comments » | Leave a reply » Wechseln zu Leser Kommentare »| Lassen Sie eine Antwort»

Trackbacks & Pingbacks Trackbacks & Pingbacks
  1. Broken Toys » Blog Archive » It’s All About The Rabbits wrote on Broken Toys »Blog Archiv» It's All About The Rabbits schrieb am

    [...] Part 3 is now posted. [...] Teil 3 ist jetzt gebucht. [...] [...]

  2. MMORPG - Raph Koster über die UO Resourcen Teil 3 wrote on MMORPG - Raph Koster über die UO Resourcen Teil 3 schrieb am

    [...] Cool ways to use what we already had The mining system in UOUltima Online von Electronic Arts. [...] Cool Möglichkeiten zu nutzen, was wir bereits hatten die Bergbau-System in UOUltima Online von Electronic Arts. was an example of “transmutation” in action. war ein Beispiel von "Transmutation" in Aktion. We placed ORE in the chunk eggs based on the presence of rocks and the terrain rock texture. Wir haben Erzvorkommen in dem Stück Eier auf das Vorhandensein von Felsen und das Gelände Rock-Textur. We mined ORE out by clicking on rocks or the rock texture and transferring the ORE to the new “pile of ore” object. Wir verminten ORE aus, indem Sie auf Felsen oder die Rock-Textur und die Übertragung der ORE auf die neue "Haufen von Erz"-Objekt. When I added in the varieties of metals to the system, the way I did it was by adding a dynamic variable to the chunk egg. Wenn ich hinzugefügt, die Sorten von Metallen auf das System, so wie ich es war, indem eine dynamische Variable auf die Chunk-Ei. The were called “object variables” or “objvars” in UO parlance, and they were essentially flags with values that could be attached to any dynamic object. Die wurden als "Objekt Variablen" oder "objvars" in UO Sprachgebrauch, und sie waren im Wesentlichen Fahnen mit Werten, die sich an jedes dynamische Objekt. You could tag someone as “BEAT_THE_HARPY” with a value of “TRUE” and then use hasObjVar(target, “BEAT_THE_HARPY”) to see if the objvar was present, or val = getObjVar(target, “BEAT_THE_HARPY”) to get that value into a variable for script use. Sie können Tag jemand als "BEAT_THE_HARPY" mit einem Wert von "TRUE" und verwenden Sie dann hasObjVar (Ziel, "BEAT_THE_HARPY"), um zu sehen, wenn die objvar anwesend war, oder val = getObjVar (Ziel, "BEAT_THE_HARPY"), um diesen Wert in eine Variable für das Skript verwenden. These objvars were persistent, so you could build complex systems out of them. Diese objvars waren persistent, so dass Sie könnte Aufbau komplexer Systeme aus ihnen heraus. I simply attached a little script to every chunk egg that checked to see if it had an objvar that defined a metal type. Ich habe einfach an ein kleines Skript zu jedem Stück Ei, dass überprüft, um zu sehen, wenn er ein objvar definiert, dass ein Metall-Art. If it didn’t, then it randomly chose a metal type and set the objvar to that value. Wenn es nicht, dann ist es zufällig wählte ein Metall-Typ und stellen Sie die objvar auf diesen Wert. This meant that after this script was updated, every chunk in the world bore a different kind of ore. Dies bedeutete, dass nach diesem Skript wurde aktualisiert, jedes Stück in der Welt trug eine andere Art von Erz. I weighted some to be rare and others to be more common. I, gewichtet einige eher selten zu sein und andere zu mehr Gemeinsamkeit. When the ORE was mined, I had the mining script transfer that variable to the new object along with the ORE resource. Wenn das Erz gefördert wurde, hatte ich die Bergbau-Skript, dass die Variable Übertragung auf das neue Objekt zusammen mit dem Erz-Ressource. I also had it tint the ore graphic based on a standard lookup table, dependent on what the value of the objvar was. Ich hatte auch sie Tönung das Erz Grafik basiert auf einem Standard-Lookup-Tabelle, abhängig, was den Wert der objvar wurde. And thus colored armor was born — we simply had each step transfer the variable along. Und so farbigen Rüstungen geboren wurde - wir hatten einfach jedem Schritt die Variable entlang. This worked even when we actually recycled the ORE and conjured up METAL out of thin air instead. Dies funktioniert sogar, wenn wir tatsächlich recycelt das Erz und beschworen METAL aus der dünnen Luft statt. This was the step of refining the ore into ingots. Dies war der Schritt der Raffination das Erz in Barren. You could also combine ore — I don’t recall how we handled this, but it was probably by picking the commoner of the two types. Sie können auch kombinieren Erz - ich mich nicht erinnere, wie wir behandelt, aber es wurde wahrscheinlich durch Bürgerliche die Kommissionierung der beiden Arten. It would have been fairly easy to add new metal types that were not minable but were only available as alloys, too. Es wäre ziemlich einfach, um neue Metall-Arten, die nicht minable, sondern wurden nur als Legierungen, zu. In a more modern system, we would have instead had types of METAL such as IRON or COPPER that inherited from the base type — and that is in fact how SWGStar Wars Galaxies von Sony Online Entertainment. In einem modernen System, hätten wir statt hatte aus Metall wie Eisen oder Kupfer, geerbt von der Basis geben - und das ist in der Tat, wie SWGStar Wars Galaxies von Sony Online Entertainment. worked. arbeitete. This sort of transmutation, where you query the amount of RESOURCE1, delete it, and then create a corresponding amount of RESOURCE2, permitted the concept of “refinement” of one type of quality into another. Diese Art von Transmutation, wo Sie Abfrage der Höhe der RESOURCE1, löschen Sie es, und erstellen Sie dann eine entsprechende Menge von RESOURCE2, erlaubt der Begriff der "Verfeinerung" der eine Art von Qualität in eine andere. COTTON or FLAX into CLOTH is a similar thing, only with the wrinkle that it permits two different initial sources to become the same sort of thing in the end. Baumwolle oder Flachs Stoff ist in einer ähnlichen Sache, nur mit dem Falten da sie es ermöglicht, zwei verschiedene ursprünglichen Quellen bis zu ein und derselben Art der Sache am Ende. Link: UO’s resource system, part 3 150)?150:this.scrollHeight)”> __________________ The tools suck! Link: UO die Ressource-System, Teil 3 150)? 150: this.scrollHeight) "> __________________ Die Werkzeuge saugen! — Raph Koster [...] - Raph Koster [...]

  3. Faith wrote on Faith schrieb am

    [...] Comments [...] [...] [...] Kommentare

  4. Nephilim wrote on Nephilim schrieb am

    Online. Online. Some interesting stuff in there from a virtual world design standpoint. Einige interessante Dinge dort aus in eine virtuelle Welt Design Sicht. Here are the three articles: Part One is about the underlying data structures. Hier sind die drei Artikel: Ein Teil geht es um die zugrunde liegenden Daten Strukturen. Part Two is about the application of those data structures to the virtual world.Part Three is about the future directions they didn’t get to pursue with UO, and an ample source of ideas for your own creations. Zweiter Teil geht es um die Anwendung dieser Daten Strukturen an die virtuelle world.Part Drei geht es um die Zukunft Richtungen sie nicht bekommen, um mit UO, und eine große Quelle von Ideen für Ihre eigenen Kreationen. Those articles reminded me of a permeating magic discussion that was going on the RPGDX bulletin board a while back that generated Diese Artikel erinnert mich an einen durchdringend Magie Diskussion, die vor sich ging die RPGDX Brett eine Weile zurück, dass die generierten

  5. Friendly Tentacle Monster » Blog Archive » Copenhagen interpretation - Wikipedia, the free encyclopedia wrote on Friendly Tentakel Monster »Blog Archiv» Kopenhagener Interpretation - Wikipedia, der freien Enzyklopädie schrieb am

    [...] Anyway. [...] Wie auch immer. Read the 3 posts on Raph’s website and help me brainstorm some system to implement to pass the time. Lesen Sie die 3-Stellen auf Raph der Website, und mir dabei hilft Brainstorming einige System zu implementieren, um die Zeit. Studying some bifurcation maps would be much more interesting provided one knew it were modelling “units of goodness” and the current exchange rate for “Nick’s mom” or what have you. Studieren einige Gabelung Karten wäre viel interessanter, die ein wusste, dass es waren Modellierung "Einheiten der Güte" und den aktuellen Wechselkurs für "Nick's mom" oder was auch immer. [...] [...]

  6. Mutual Admiration Society :: ������ä �à ���à - fun: love in game mechanics wrote on Gegenseitige Bewunderung Gesellschaft:: A A A - Spaß: Liebe im Spiel Mechanik schrieb am

    [...] ���à! [...] À! �������à ������à â ��������ÿ �����à ���ò �à ��ô �à �����à �����í )) ������î ������ì, �������â ��������ç �å ������å: ( http://www.raphkoster.com/2006/06/05/uos-resource-system-part-3/ ) [...] A A A ÿ ò à à à à ô I)) î i, a C A A: (http : / / www.raphkoster.com/2006/06/05/uos-resource-system-part-3/) [...]

  7. RPGDX > Forums > Design and programming > UO Resources System wrote on RPGDX> Foren> Design und Programmierung> UO Resources System schrieb am

    [...] Just FYI, Raph Koster, author of "A Theory of Fun," just finished blogging a series of articles that describe the process they used to create the resources system used in Ultima Online. [...] Nur zur Information, Raph Koster, Autor des Buches "A Theory of Fun", gerade das Bloggen eine Reihe von Artikeln, die beschreiben, die sie verwendet, um die Ressourcen-System verwendet in Ultima Online. Some interesting stuff in there if you’re looking to build a more environment-based RPG (as opposed to scripted, console-style). Einige interessante Dinge in der es, wenn Sie sich für den Aufbau einer mehr Umwelt-basierten RPG (im Gegensatz zu Skript, Konsolen-Stil). Here are the three articles: Part One is about the underlying data structures. Hier sind die drei Artikel: Ein Teil geht es um die zugrunde liegenden Daten Strukturen. Part Two is about the application of those data structures to the virtual world. Zweiter Teil geht es um die Anwendung dieser Daten Strukturen in die virtuelle Welt. Part Three is about the future directions they didn’t get to pursue with UO, and an ample source of ideas for your own creations. Teil Drei ist über die Zukunft Richtungen sie nicht bekommen, um mit UO, und eine große Quelle von Ideen für Ihre eigenen Kreationen. Those articles reminded me of the permeating magic discussion we had a while back, and makes me want to go back and revisit it. Diese Artikel erinnert mich an die Magie durchdringt Diskussion hatten wir eine Weile zurück, und macht mich wollen, gehen Sie zurück und überprüfen sie. Heh._________________Visit the Sacraments web site to play the game and read articles about its development. Heh._________________Visit die Sakramente Web-Seite an das Spiel spielen und lesen Sie Artikel über seine Entwicklung. [...] [...]

  8. Ultima Online ChatZone - UO’s resource system wrote on Ultima Online ChatZone - UO der Ressource System schrieb am

    [...] rnum=Math.round(Math.random() * 100000); document.write(”); Ultima Online Chatzone MAIN    UP    REPLY UO’s resource system Zappa 12.195.89.1306/6/2006 12:45:54 PM This explains alot about how things worked in the game that us players were only able to delve into on the bare surface. [...] Rnum = Math.round (Math.random () * 100000); document.write ( "); Ultima Online Chatzone MAIN UP ANTWORT UO der Ressource System Zappa 12.195.89.1306/6/2006 12:45: 54 PM Dies erklärt eine Menge darüber, wie die Dinge in das Spiel, dass uns Spieler waren nur in der Lage, tief in auf der nackten Oberfläche. It is a very nice read on something that few people notice.http://www.raphkoster.com/2006/06/03/uos-resource-system/http://www.raphkoster.com/2006/06/04/uos-resource-system-part-2/http://www.raphkoster.com/2006/06/05/uos-resource-system-part-3/ [...] Es ist ein sehr netter lesen über etwas, dass nur wenige Menschen notice.http: / / www.raphkoster.com/2006/06/03/uos-resource-system/http://www.raphkoster.com/2006/06/04 / uos-resource-system-part-2/http: / / www.raphkoster.com/2006/06/05/uos-resource-system-part-3/ [...]

  9. Psychochild's Blog wrote on Psychochild's Blog schrieb am

    That’s not very realistic! Das ist nicht sehr realistisch!

    I’ve read a few posts lately that have inspired me to write this entry. Ich habe gelesen, ein paar Stellen in letzter Zeit, die mich inspiriert zu schreiben diesen Eintrag gelesen.
    UO’s resource system on Raph’s blog (http://www.raphkoster.com/2006/06/03/uos-resource-system/). UO der Ressource System auf Raph Blog (http://www.raphkoster.com/2006/06/03/uos-resource-system/). This fascinating post, in three parts, talks about the goals, design, impleme… Diese faszinierende Post, in drei Teile, Gespräche über die Ziele, Design, exécution ...

  10. Reverence Online Forums-viewtopic-Crafting thoughts and background! wrote on Reverence Online Foren-viewtopic-Crafting Gedanken und Hintergrund! Schrieb am

    [...] Have you guys seen this? http://www.raphkoster.com/2006/06/03/uo…ce-system/ http://www.raphkoster.com/2006/06/04/uo…em-part-2/ http://www.raphkoster.com/2006/06/05/uo…em-part-3/_________________-Marcaaus http://ctprofiles.net/951789 [...] [...] Haben Sie diese Jungs gesehen? Http://www.raphkoster.com/2006/06/03/uo ... ce-System / http://www.raphkoster.com/2006/06/04/uo ... EM-Teil-2 / http://www.raphkoster.com/2006/06/05/uo ... em-part-3/_________________-Marcaaus http://ctprofiles.net/951789 [...]

  11. Persistent Realms, LLC :: View topic - Mobs, or NPCs wrote on Persistente Realms, LLC:: Thema anzeigen - Monster, NPCs oder schrieb am

    [...] I know this answer is kind of a cop-out, but I think anything you can do with the game mechanics should be reference-able/flagged, you know, isSleeping(), isFighting()…look to the game mechanics, there are your flags. [...] Ich weiß, diese Antwort ist eine Art cop-out, aber ich denke, alles, was Sie tun können, mit der Spielmechanik sollte reference-able/flagged, Sie wissen, isSleeping (), isFighting () ... Blick in die Spielmechanik, es sind Ihre Fahnen. It would be nice if you could modify short descs based on a flag check, ie: %NPC is standing here. Es wäre schön, wenn Sie könnten modifizieren kurze descs auf der Grundlage einer Flagge überprüfen, dh:% NPC steht hier. %NPC is fighting %PC. % NPC kämpft% PC. Raph Koster just posted some interesting articles about NPCs and resources on his blog, the latest is: http://www.raphkoster.com/2006/06/05/uos-resource-system-part-3/ Related to that I’d like to see mobs with tradeable flags. Raph Koster nur gebucht einige interessante Artikel über NPCs und Ressourcen auf seinem Blog, das neueste ist: http://www.raphkoster.com/2006/06/05/uos-resource-system-part-3/ Verwandte zu, dass ich " d, um zu sehen, wie Mobs mit handelbaren Flags. For example, a player kills a mob, a witness mob gets a flag to attack the player. Zum Beispiel, ein Spieler tötet ein Mob, ein Zeuge mob bekommt eine Flagge, um die Spieler. That flag isTradeable for a certain duration, such that if the mob runs into another mob, they can pass flags, and the next mob has a chance of picking up the hostileToPlayer() flag as well. Das Flag isTradeable für eine bestimmte Dauer, so dass, wenn der Mob läuft in eine andere mob, sie können Fahnen, und die nächste Mob eine Chance hat, von der Kommissionierung bis hostileToPlayer () Flagge als gut. It doesn’t have to just be about hostile flags, if a player does a mob a favor they might have a niceToPlayer flag that they can then pass; in this way a player character affects the game world in a more organic, natural way than a script telling all the mobs what to do. Es muss nicht nur über feindliche Fahnen, wenn ein Spieler hat ein Mob einen Gefallen sie haben ein niceToPlayer Flagge, dass sie dann, auf diesem Wege ein Spieler Charakter wirkt sich auf die Spielwelt in einer organischen, natürlichen Weg als ein Skript zu sagen alle Mobs, was zu tun ist. [...] [...]

  12. UO’s Resource System at MMOG Nation wrote on UO's Resource-System auf der MMOG Nation schrieb am

    [...] I loves me some Raph Koster. [...] Ich mag mir einige Raph Koster. He has a discussion of Ultima Online’s resource system that spans three articles, and is completley worth a read. Er hat eine Diskussion über Ultima Online Ressource System, das sich über drei Artikeln, und ist komplett wert gelesen. He references the ‘Playing to Bake Bread‘ article he wrote a while back in the article, and I should point out that’s well worth a look too. Er verweist auf den "Spielen, backen Brot" Artikel schrieb er eine Weile zurück in den Artikel, und ich möchte darauf hinweisen, dass das auch einen Besuch wert zu. We ended up saying that a given object (which was still defined in a template) could have as part of it, a set of resources. Am Ende erreichten wir dann sagen, dass ein bestimmtes Objekt (das war noch in einer Vorlage) könnte sich als Teil davon, eine Reihe von Ressourcen. A resource was just a label — nothing more and nothing less. Eine Ressource wurde nur ein Label - nicht mehr und nicht weniger. (Much later, in SWG, that team would introduce the concept of resources with stats, but that’sa post for another day.) The server had a list of the resources that existed in the world, and designers could create new ones fairly readily. (Viel später, im SWG, dass die Zusammensetzung des Teams würde das Konzept der Ressourcen mit Statistiken, aber das ist Post für einen anderen Tag.) Der Server hatte eine Liste der Ressourcen, die bereits in der Welt, könnte Designer und neue zu schaffen ziemlich leicht . Resources were things like METAL, WOOD, and CLOTH. Ressourcen wurden Dinge wie Metall, Holz und Tuch. But they were also things like MAGIC and PLAYER and other such abstract qualities.  [...] Aber sie waren auch Dinge wie MAGIC und Player und andere solche abstrakte Qualitäten. [...]

  13. Madscientist.net wrote on Madscientist.net schrieb am

    post three) about the resource system in Ultima Online, how it was suppose to work, and why it didn’t. What is really interesting, at least to me, is how the resource system was suppose to tie very heavily to the behavior of creatures. nach drei) über die Ressource-System in Ultima Online, wie es war nehme an zu arbeiten, und warum es nicht. Was ist wirklich interessant, zumindest für mich, ist, wie die Ressourcen-System wurde nehme zu binden sehr stark auf das Verhalten von Kreaturen.

  14. Tales of the Rampant Coyote wrote on Tales of the Rampant Coyote schrieb vor am

    More Interesting AI Raph Koster has posted a GOLD MINE of information on the ecological / economic systems of Ultima Online (see part 1, part 2, andpart 3), and a discussion on the “dumbing down” of NPCS in MMORPGs. Weitere interessante AI Raph Koster hat eine Goldmine von Informationen über die ökologische / wirtschaftlichen Systeme von Ultima Online (siehe Teil 1, Teil 2, andpart 3), und eine Diskussion über die "dumbing down" von NPCs in MMORPGs. Raph’s comments go on how these sophisticated plans for Ultima Online and Star Wars Galaxies were eventually deep-sixed in favor of maintainability and simplicity (not to mention catering to Raph der Kommission gehen, wie diese anspruchsvolle Pläne für Ultima Online und Star Wars Galaxies wurden schließlich tief-sixed zu Gunsten der Wartbarkeit und Einfachheit (ganz zu schweigen von Catering bis

  15. mike thinks he's so smart wrote on Mike denkt, er ist so smart schrieb vor am

    crap more forgivable. crap mehr entschuldbar. And boy is it ever random. Und Jungen ist es immer zufällig. They’re just making it up as they go along; I’m radically lowering my expectations for any kind of resolution ‘cuz it’s only coming haphazardly if at all. Sie sind nur die es sich wie sie entlang gehen, ich bin radikal senken meine Erwartungen für jede Art der Resolution "cuz es nur kommen, wenn zufällig bei allen. Raph Koster just posted a 3-part blurb aboutthe UO resource system Raph Koster nur einen 3-teilig Klappentext aboutthe UO Ressource System

  16. C# Game Development wrote on C # Game Development schrieb vor am

    the "working memory" though I’m not quite sure what this specifically is. der "Arbeitsspeicher" aber ich bin nicht ganz sicher, was das speziell ist. (I found this in System.Environment.WorkingMemory or something, I haven’t looked it up yet.) I also finished reading about Ultima Onlines resource system plans: Part1 Part2Part3 I found it interesting as I use to play UO. (Ich fand dies in System.Environment.WorkingMemory oder etwas habe ich nicht sah es noch.) Ich bin auch fertig Lesung über Ultima Online-Ressource System Pläne: Part1 Part2Part3 Ich fand es interessant, da ich nutzen, um spielen UO. No recent mmorpgs interests me at all, they are just cooperative, single player style, games in a vast chat room. Keine aktuellen MMORPGs interessiert mich bei allen, sie sind nur Genossenschaft, einzelne Spieler Stil, Spiele in einem großen Raum aus. In UO the game and game goals were more emergent from interaction with the players, In UO das Spiel und Spiel Ziele wurden mehr entstehender von Interaktion mit dem Spieler,

  17. Mining For Fish » Blog Archive » Essential Reading - UO’s Resource System wrote on Bergbau Für Fische »Blog Archiv» Essential Reading - UO's Resource System schrieb vor am

    [...] I’ma few days late on this, but Raph’s recent three post series on how the original resource system for UO was developed is worthwhile reading(part 1, part 2, part 3). [...] Ich bin ein paar Tage zu spät, aber Raph der letzten drei post-Reihe auf, wie die Original-Ressource für UO-System wurde entwickelt, lohnt Lesung (Teil 1, Teil 2, Teil 3). I recommend these articles not only for the obvious reasons of examining what was attempted before and why it failed, but because these links will be of particular interest to anyone who has taken the time to read my thesis and found the material within of value to them. Ich empfehle diese Artikel nicht nur für die offensichtliche Gründe zu prüfen, was vor und versucht, warum er hängen geblieben war, sondern weil diese Links werden von besonderem Interesse für jeden, der getroffen hat, die Zeit zu lesen, meine These gefunden und das Material innerhalb von Wert, um sie . What was tried in UO is a practical example of some of those ideas, and I certainly would have included this work as a reference had I been aware of it at the time. Was wurde versucht in UO ist ein praktisches Beispiel für einige dieser Ideen, und ich hätte diese Arbeit als Referenz hatte ich bekannt war es an der Zeit. [...] [...]

  18. GameDevMike - News, opinions, articles, tips & tricks on game development with an Indie twist. wrote on GameDevMike - News, Meinungen, Artikeln, Tipps & Tricks auf Spiel-Entwicklung mit ein Indie-Touch. Schrieb am

    to his blog feed. zu seinem Blog-Feed. Today, I went back to the blog by chance and found some great posts he has made recently on game AI. Heute ging ich zurück auf das Blog durch Zufall gefunden und einige gute Stellen er hat vor kurzem auf Spiel AI. The series of three posts began when he was commenting on Raph Koster’s recent posts regarding Ultima Online (here, here andhere). Die Serie von drei Stellen begann, als er kommentiert Raph Koster's recent posts über Ultima Online (hier, hier andhere). In that first post, Jay talks about how perception is reality in games. In diesem ersten Post, Jay Gespräche darüber, wie die Wahrnehmung der Realität ist in Spielen. In the next post, he pontificates on points he picked up at an old GDC session on how to make AI more believable. In den nächsten Post, er pontificates auf Punkte er Aufheben an einer alten GDC Tagung über, wie man AI mehr glaubwürdig. Finally, the last post Schließlich hat die letzten Beitrag

  19. The ORIGINAL UO - UOGamers Forums wrote on Die ORIGINAL UO - UOGamers Foren schrieb vor am

    [...] The ORIGINAL UO This is a series of articles written by one of the original designers of Ultima Online, Raph Koster. [...] Die ORIGINAL UO Dies ist eine Serie von Artikeln, die von einer der ursprünglichen Entwickler von Ultima Online, Raph Koster. He used to work at Sony Interactive or whoever produced Star Wars Galaxies, which was supposedly UO’s successor. Er verwendet, um Arbeit bei Sony Interactive oder wer auch immer produziert Star Wars Galaxies, die angeblich UO-Nachfolger. I never played it, I don’t know. Ich habe nie gespielt, ich weiß es nicht. These articles describe the way the world of Brittannia was supposed to have worked. Diese Artikel beschreiben die Art, wie die Welt der Brittannia war zu haben. They’re a little geeky, and you need to understand at least a little bit about how computers work and games are programmed to really wrap your head around how amazing this idea was. Sie sind ein wenig geeky, und Sie müssen verstehen, zumindest ein wenig darüber, wie Computer funktionieren und Spiele sind so programmiert, dass wirklich den Kopf wickeln rund erstaunlich, wie diese Idee war. It never made it to UO’s release because of technical difficulties (slow computers back in 1997). Es nie war es in UO die Freigabe wegen der technischen Schwierigkeiten (langsamen Computern zurück in 1997). However, I think it’s worth a read, and might be worth some consideration the next time the team goes to revamp monster spawns or wants to add quests or anything like that. Aber ich denke, es ist wert gelesen, und könnte im Wert von rund Prüfung das nächste Mal das Team geht an Neuordnung Monster Spawns oder will, um Quests oder ähnliches. The article is broken up into 3 parts, and they don’t link to each other, so I’ll link them seperately here. Der Artikel ist aufgeteilt in 3 Teilen, und sie sich nicht gegenseitig verbinden, so dass ich sie getrennt Link hier. UO’s Resource System: Part 1 UO’s Resource System: Part 2 UO’s Resource System: Part 3 [...] UO's Resource System: Teil 1 UO's Resource System: Teil 2 UO's Resource System: Teil 3 [...]

  20. UO’s resource system on Raph Koster - MMOz wrote on UO der Ressource System auf Raph Koster - MMOz schrieb am

    [...] UO’s resource system, part 3 on Raph Koster [...]

  21. IGDA SAN DIEGO » Ultima Online on the Operating Table wrote on

    [...] Ultima Online’s Resource System III [...]

  22. The Gaming Bitch » Evolution? wrote on

    [...] http://www.raphkoster.com/2006/06/03/uos-resource-system/ http://www.raphkoster.com/2006/06/04/uos-resource-system-part-2/ http://www.raphkoster.com/2006/06/05/uos-resource-system-part-3/ [...]

  23. Lost Rambling: June 2006 wrote on

    [...] was originally planned/attempted in the early UO and the reasons that it didn’t work (Part 1, 2, 3).Which is very interesting to me, since I have been reading up what I can. In a strangely related [...]

  24. Resource management and MMOs - Darkfall Forums wrote on

    [...] of day, atleast not how they invisioned it. These articles can be found here, part 1, part 2, and part 3. These are very interesting reads by the way. I think anybody who enjoys MMOs should read them. I [...]

  25. Mischiefblog wrote on

    UO resource system write-up, long lost (and missed by me as reference material)–of course he did this in June 2006 when I was concerned with things like interviewing for a new job. UO’s Resource System (part 1) UO’s Resource System (part 2) UO’s Resource System (part 3)

  26. VR Community Forums : :: View topic - UO's Resource System wrote on

    [...] by Raph Koster on UO’s (planned and never fully implemented) Resource System: Part 1 Part 2 Part 3 This is pretty much the reason I got into MMOs in the first place - I was thoroughly intrigued by [...]

  27. RLMMO :: View topic - Ecosystems wrote on

    [...] http://www.raphkoster.com/2006/06/04/uos-resource-system-part-2/ http://www.raphkoster.com/2006/06/05/uos-resource-system-part-3/ Damn, I want an MMO that has all that stuff in it in the worst way. Hell, I would love to have [...]

  28. Metaplace.info forums • View topic - Some unofficial research... wrote on

    [...] by Michael Chui on Mon Oct 01, 2007 11:07 pm Scopique wrote:And don’t forget the stuff that didn’t MAKE it into UO, like the dynamic ecosytem.If you have no idea what he’s talking about,http://www.raphkoster.com/2006/06/03/uo … ce-system/http://www.raphkoster.com/2006/06/04/uo … em-part-2/http://www.raphkoster.com/2006/06/05/uo … em-part-3/Also,http://www.raphkoster.com/2006/06/09/why-dont-our-npcs/ [...]

  29. Genetik und Züchtung wrote on

    [...] :-)Bis dahin kann ich das hier empfehlen:UO's ressource systemUO's ressource system 2UO's ressource system 3by Raph CosterUngefähr so möchten wir es handhaben. Wenn du es mitberechnest und das system so [...]

  30. The Joshua Tree wrote on

    I can’t explain why, but I always look at my memories in UO through rose-colored glasses. I remember playing back in 1997 and getting PK’d all the time as I mined ore (which was always gone due to the now-defunct resource banksystem). I took some time off for a few years but eventually found my way back. A lot had changed in my time away, but I found a good group of friends to help me through the transition. UO was a sandbox in many ways. Origin Systems provided the world but the

  31. Mark’s Link Blog » links for 2007-12-05 wrote on

    [...] Raph’s Website » UO’s resource system, part 3 (tags: gamedev software design) [...]

Reader Comments
  1. Eugenius said on

    My opinion if someone redid UO with Ralph’s creature behavior patterns, I think we would have a new hit over night.

  2. Morgan said on

    Raph wrote:
    To my mind, this sort of algorithmic approach to developing a virtual world is not only the past, in UO’s case, but also the future.

    Eugenius wrote:
    My opinion if someone redid UO with Ralph’s creature behavior patterns, I think we would have a new hit over night.

    RunUO . There! You can experiment now. :)

  3. chabuhi said on

    My opinion if someone redid UO with Ralph’s creature behavior patterns, I think we would have a new hit over night.

    Yeah, that would certainly be neat to see, but I’m afraid too many people have so much emotionally vested in what they want(ed) UO to be and made so many compromises in their minds (or sacrificed their wants really) that any rehashing of UO would be crippled by over-adoring fans.

  4. CadetUmfer said on

    Seems the root of the problem is the same one that plagues nearly every aspect of “simulation”–that perceived causality is more important than actual causality. But you said this before, if a player can’t readily determine why things are happening, then it may as well be random.

    I’d liken it to a kind of uncanny valley of simulations. As you simulate something with more and more accuracy, you encounter more unexpected (from the player’s POV) behavior, and you’re forced to either impose more artificial limits, or simulate even more accurately.

    Like all systems, it’sa matter of balance. Take software development. You want to abstract away your objects, behavior and state up to a point, to facilitate faster development, more flexibility, etc. But if you keep going, eventually you end up bogged down in an Architecture Astronaut hell of Manager-Factory-Visitor-Work Items.

  5. Morgan said on

    Raph wrote:
    All of these sorts of