Category:Radiant Story/ja
Category:Radiant Story
Summary (要約)[edit | edit source]
Radiant Story とは、動的なクエスト作成のためのシステムです。あらかじめ全てが定義されているわけではなく、ランタイムで別のクエストの構成要素(場所やアクター、アイテム)を作り出したり見つけたりすることができます。
これは、基本的にはオブリビオンやフォールアウト3での設定と同じですが、 "Aliases" 、 "Scenes" 及び "Story Manager" が追加されています。
Aliases[edit | edit source]
Alias とは、クエストで使用される Reference もしくは Location のことです。これには個別の値が割り当てることもできますし、任意の Reference リスト及び場所から拾い上げられ"満たされる"こともできますし、 Leveled List から新しい Reference を作成することもでき、更に別のクエストから Alias を持ってくることもできます。
ゲームを映画に例えるなら、クエストは言わば台本になります。そして Alias は、役割であり、小道具であり、場所でもあります。そしてゲームは、アクターに役割を演じさせ、アイテムを小道具にし、場所を使用して映画を開始させることができるプロデューサーです。
Dialogue は指定の NPC ではなく、 Alias に条件付けることができます。また、 Packages も指定の NPC ではなく、 Alias に与えることができます。つまり、いかなるアクターも、そのクエスト中は Alias で与えられた"役割を演じる"ことができるのです。
注意事項: Alias は事前に定義することもできます。しかしそれらは動的であり、厳密に管理されたクエスト(メインクエストやギルドクエスト)でさえ、いくらかのストーリーは動的です。
Scenes[edit | edit source]
Scenes are data in Quests that are used to set up packages and dialogue for multiple actors in such a way that they form a scene, much like a scene in a play. You pick which Aliases to include in the scene, and define package actions, and dialogue actions for each Alias across various phases. Phases, package action stacks, and dialogue action stacks can all have Conditions so that you can add variations and controls to various scenes.
For example, in Skyrim we set up a little "quest" that works like this: When the player enters an inn (change location event, looking for keyword on the location of "LocTypeInn," fills an Innkeeper alias and a Servant alias, and if you sit down in a chair starts a scene where the innkeeper calls out to the servant to come take the player's order. This can work in any inn, and the dialogue in the scene can be conditionalized so that each innkeeper welcomes the player in a unique way, and calls out the name of the servant, but all use the same quest and scene to get the behavior.
Story Manager[edit | edit source]
The heart of the Radiant Story system is the Story Manager. It is a nested node tree that holds all of the radiant story quests and is used to determine which quest or quests are started as a result of receiving a Story Manager Event from the game.
Every Story Manager Event comes along with various Event Data. For example: A "Change Location" event data includes the old and new locations, and the "Kill Actor" event data includes the victim, the killer, and whether the death is known to be a crime of murder. You can use this Event Data to respond to events that meet specific criteria. This makes Radiant Story a powerful tool for crafting quests and scenes that respond to the players actions or immediate situation, or send him to some place he hasn't been before, etc.
The primary way you make use of Event Data is by using Conditions on the quests and nodes in the Story Manager to check Event Data for particulars.
For instance you can use the condition "Run On->Event Data:Victim - GetInFaction MySpecialFaction == 1" to respond to the deaths of actors who are members of particular factions. This works for data that are passed in as references. For other types of data you use the special GetEventData condition.
You can also use Papyrus Script Events that run on a script attached to a Quest to interrogate the data that was passed into the Story Manager that caused the quest to start. For instance, if you want to set a global variable when a quest starts based on the event data.
Examples of Radiant Story Content[edit | edit source]
- Bounty Quests - player enters a town, find the innkeeper there, put a bounty letter to give the player that sends you to a random bandit location with the objective to kill the boss bandit there, and put reward dialogue on the Steward or Jarl of the hold where the inn is located in.
- Companions Questline Jobs - find an animal den location, give the player an objective to go kill the boss animal there.
- Create a dead adventurer in the wilderness, create a special magical item, place it in a random dungeon's "boss chest" and put a note on the dead adventurer that gives the player a quest target and objective to find said treasure.
- Player Shouts in a town - create a letter that is sent to the player by courier that gives him an objective to find the word wall in a randomly chosen dungeon that has a word wall in it.
- Have the guests of player-NPC wedding to be friends of both the player and his spouse.
- If a relative of a nearby NPC dies, have that NPC freak out run home and lock their doors and have "mourning" dialogue.
- If the player drops a weapon on the ground, find a nearby guard to come and scold the player for leaving dangerous items laying around
As you can see, Radiant Story is a power tool for making a quest or scene and leaving certain details nebulous (its location, its quest target, its quest giver, etc.) to be filled in later - it is helpful for directing players to a place they haven't been before, and it can also be used to generate world reactions that respond to things the player has done or involving NPCs the that are important to the player.
Components[edit | edit source]
There are many components that are used in the creation of a Radiant Story. Here's a list of the various things that inform or make use of the Radiant Story system.
- The Radiant Story Manager holds the hierarchy of conditionalized quests to start in resposne to Story Manager Events
- Quests can be flagged with Story Manager Events which starts it (or set to start when the player starts a new game - "game enabled")
- Quest Aliases can be filled by creating something new, or picking randomly from a list of practically anything existing in the game world, limited by conditions, rather than set to specific actors and locations
- Packages can be flagged to be owned by quests, and then have their Package Data point at Quest Aliases rather than specific references (for example, an NPC's travel package location can be a radius around MyQuest's "WidgetOfDoom" Alias)
- Papyrus Scripts
- Have Script Events that can intercept the Radiant Story Event Data and process things before the quest starts
- Can force references and force locations into aliases even after the quest starts (so you can have "dynamic" content, even after a quest fires up and starts rolling)
- Can start a "Script Event" radiant story event using the SendStoryEvent function, so that you can fire off a radiant quest from a script
Where to start?[edit | edit source]
Take a simple radiant quest, like one of the Bounty Quests that shipped with the original Skyrim game (BQ01, BQ02, BQ03, BQ04) and try to deconstruct it. See how it uses the Change Location event. See how the conditions are set to fill the aliases. And then make a new bounty quest to go kill something else. Then try extending it so that you are supposed to retrieve something (and make an alias a created reference from a magical weapon loot list). Then change it so it's not an innkeeper but one of the other town folks who gives you the quest. Take a look at some of the "world interaction" quests (prefixed with "WIxxx") to see how you can use some of the other story manager events and find nearby citizens and start scenes.
Language: | English • 日本語 |
---|