The Alexandrian

Go to Part 1

The Lost Hunt - Fantasy Flight GamesWhen I designed The Lost Hunt for Fantasy Flight Games, I launched the scenario by having an elven village attacked by a kehtal (a servitor of the demon gods of Keht). The idea was pretty simple: The PCs could then follow the trail of this murderous creature, which would lead them to the interdimensional rift in which the demon gods were imprisoned.

The tricky part was the actual tracking. Although I wasn’t thinking in terms of game structures back in 2001, I knew that this section of the adventure needed more weight to it than a simple skill check. The experience of the adventure couldn’t be, “Fight a monster, make a Wilderness Lore check, and – ta-da! – you’ve found the interdimensional prison of an ancient god cult!”

So what I ended up doing was crafting a custom game structure for tracking: Following the trail required five successful Wilderness Lore checks (DC 20). Each failure would force the PCs to backtrack (requiring an additional success in order to find the trail they lost). Each successful check would bring them to a “pit stop” along the trail, which was described in boxed text: One established the creature’s prodigious leaping ability; another brought them to another scene of carnage wrought by the creature; and so forth.

Nothing too complex here: I was basically adapting the concept of complex skill checks (as found in numerous RPG systems) and tweaking it a bit. But it did take a little bit of thought and a little bit of experimentation to nail down the details. Once I had tucked this custom “pit stop and backtrack” game structure into my mental toolkit, though, it proved useful time and time again: I’ve used it probably a dozen times since then.

This is, obviously, a very simple example of how you can create custom game structures to organize your prep and affect your players’ experience with the game world. In fact, it’s so straight-forward some of you are probably saying, “Duh.”

So let’s tackle something a little more complicated.

BETWEEN THE STARS

Astronomy Picture of the Day - Flying Over Earth at Night

Campaign Concept: The PCs are the crew (and possibly owners) of a starship plying the interstellar trade routes. Although some planet-side activity might croup up, the focus of this campaign is going to be on the voyages of the ship itself.

Macro-Structure: For the macro-structure of the campaign, I’m going to use Traveller. As discussed in Part 10, Traveller has a well-developed system for handling interstellar travel and trade. This system empowers the PCs to make decisions about where they’re going; what they’re trading; and so forth.

Scenario Triggers: As we also discussed in Part 10, however, this game structure is incomplete. It has a closed resolution loop (go to starport, deliver goods, pick up goods, go to starport), but it lacks vertical integration. So the first thing we need to figure out is the trigger we’re going to use for transitioning from the trade-and-travel macrostructure to the scenarios that will probably fill most of our actual playing time.

I’m going to propose that, just like a dungeon has rooms and a wilderness has hexes, this campaign has voyages. In other words, just like we fill a room or a hex with content, we’re going to fill each trip from one star system to another with content. (Of course, some dungeon rooms are empty and some of our voyages may be uneventful. We’ll come back to that later.)

BETWEEN THE STARS – KEYING VOYAGES

We all know how to key a dungeon room or a hex: You write a number on the map and then you use that number to reference a description of the content of the room or hex. How do we key voyages? In other words, when the PCs leave a starport how do we know what this voyage will contain?

Linear Sequence: A simple solution would be a linear sequence. You prep a scenario for their first voyage (no matter where they’re headed); then you prep a scenario for their second voyage; and so forth. The obvious disadvantage of this approach is that it doesn’t include meaningful choice for the PCs.

Prometheus - ShipRandom: We could prep several voyages and then randomly determine which one we’ll use on any given trip. But, of course, once again we’ve eliminated meaningful choice for the PCs.

Space Hexes: We could key each hex on the subsector map with content. Couple of problems, though: First, any given voyage will actually contain multiple hexes. Second, because the campaign isn’t exploratory in nature there will be a lot of hexes they’re unlikely to visit (since they’ll probably be sticking to direct routes between planets). We could, of course, limit our prep to hexes near established trade routes and then implement a system for randomly determining which hex’s content on the flightpath gets triggered for any particular voyage. But doing that actually suggests what might be an easier approach…

Routes: What if we just key each route with content? When the PCs take a particular trade route, we trigger whatever content we keyed to that route. A potential problem here would be PCs who settle down into servicing a regular route: Once they’ve used up the keyed content for the route, there’ll be nothing new to experience the next time they take it. We could mitigate this by randomly determining cargo destinations (so that the PCs would be less likely to settle into a regular pattern) or by keying multiple scenarios to a single route (this would increase the prep load, but make it harder to completely “burn out” a given route).

BETWEEN THE STARS – SPICING THE STRUCTURE

So our basic structure looks like this: We key each trade route with an encounter or scenario which is experienced when the PCs take the route. In addition, we randomize cargo destinations to discourage the PCs from wearing a groove into a particular trade route.

That, by itself, would give us enough structure to run a campaign: We could draw up the local subsector, map out the trade routes, key them, and start play. But what could we do to spice things up – adding flavor, complexity, and/or detail to the campaign?

Random Chance: Instead of a route’s encounter happening automatically when the route is taken, we could have a randomized scenario check. Since the players won’t know whether there will be complications on a particular voyage, this will make the campaign less predictable (and also possibly less frustrating). Setting the right probability of experiencing a route scenario will probably require some experimentation: Will the PCs end up taking multiple routes on most journeys (getting from planet A to planet C via planet B)? How interested are the players in the actual trade mechanics of the game (as opposed to using the trade mechanics as a mere method of delivering content)? And so forth.

For the sake of argument, let’s say that we want roughly a 1 in 3 chance of triggering a scenario. (A roll of 1-2 on 1d6.)

Scenario Sources: Now that we’ve randomized the occurrence of scenarios, we can use that same mechanic to include encounters from non-route-based sources.

First, we’re going to seed our cargo and passenger tables with scenario triggers. For example, carrying a shipment of positronic brains makes it more likely to be targeted by rogue robotic hijackers. Or a particular passenger might be targeted for assassination.

Second, our scenario check (which is performed once per route) is now revised: On a roll of 1 we trigger a route scenario; on a roll of 2-3 we trigger a passenger scenario; on a roll of 4-5 we trigger a cargo scenario. A roll of 6 indicates no encounter.

Scenarios are theoretically being triggered on rolls of 1-5 on 1d6, but our practical odds of experiencing a scenario on any given route will remain roughly 1 in 3 because the PCs may not be carrying cargo or passengers with scenario triggers.

Weighted Route Tables: Instead of just keying a unique encounter (or a set of unique encounters) to each route, we could instead key each route with a weighted scenario table: So in the Black Expanse you’re more likely to get hit by pirates, while in the Inner Systems you’re more likely to get hit with a random audit.

(Alternatively, we could rebuild our scenario check and include “region scenarios” as a fourth type: So each route would be keyed with a unique scenario; each region would have a random scenario table; and we’d also have cargo/passenger scenarios.)

“Empty” Voyages: As noted above, we’ve now created “empty” voyages (i.e., voyages on which no scenarios will be triggered). In order to spice these up, I’m going to take a page from Ars Magica, combine it with the character creation rules for Traveller, and create a game structure for handling “down time”: Improving your skills. Improving your ship. Working on research projects. And so forth.

Dockside Encounters: Another possibility would be adding structures for dockside encounters and/or scenarios. But I’m actually going to deliberately eschew this sort of thing: I want this campaign to be focused on the ship.

While it’s certainly possible that the players will get tangled up in some planet-side intrigue, by specifically excluding this content from the campaign structure I’ll be steering the focus of the game away from it: Docking will generally be the boring bit that bridges the gap between the exciting stuff.

Go to Part 14: Scenario Structures for Between the Stars

5 Responses to “Game Structures – Part 13: Custom Structures”

  1. Pasquale says:

    Hi, would you use this structure for a Transhuman Space campaign? I love the setting but it seems unusable since it lacks any default structure, I am struggling to figure out a way to make sense of all that rich setting and show it to my players.

  2. Justin Alexander says:

    Hmm… That’s an interesting thought.

    The big problem with Transhuman Space is that the complexity, depth, and density of the setting requires a heavy upfront investment from the players.

    To give a basis of comparison:

    My open table OD&D campaign relies almost entirely on common knowledge. If a player knows what an elf, dwarf, halfling, and wizard are, I can provide a functional basis for understanding the game world in about 60 seconds.

    My dedicated 3.5 campaigns set in the Western Lands are a bit more involved: I have an 8 page handout (half of which consists of practical lists like “gods you can choose”, “languages you can choose”, etc.). It probably requires about 5-10 minutes from the players, with another 30 minutes or so dedicated to character creation.

    Transhuman Space, on the other hand, doesn’t have a lingua franca of common genre tropes to fall back on. It is a very specific, very complex, and very deep setting. In order for most characters to function coherently in such a setting, the players need to have a specific, complex, and deep understanding of the setting.

    Basically, a setting like that often requires that the players read most of the setting book for themselves. That requires hours of investment, and I’ve found that most players won’t commit it.

    Adding to that, as you say, is that Transhuman Space is a third generation campaign setting: That largely meaningless terminology I just made up means that Transhuman Space was designed as a setting, without any real consideration or focus given to the types of stories/games that can be told in that setting.

    So, to answer your question at long last: Yes. I think you could use a structure similar to this as a solution to both problems.

    It’s been about 10 years since I read Transhuman Space, so take any specifics with a grain of salt, but the general approach I would take would look something like this:

    (1) Set the PCs up as the crew of a tramp freighter. These vessels, due to their relative isolation and the difficulty of maintaining network connections and advanced tech on a mobile platform, end up being a lot more culturally conservative than the rest of the solar system. (In other words, their crews cleave a lot closer to early-21st century norms, so the players don’t have to “reach” as far to understand their characters.)

    (2) The scenario structure needs to be tweaked somewhat to accommodate interplanetary travel instead of interstellar travel, but the basic principle of “key to the voyage” should still work.

    (3) I would key each voyage to reveal some specific facet of the Transhuman Space setting. (Over time, therefore, the campaign would slowly introduce your players to its intricacies one chunk at a time.)

    In terms of keying, this can actually be quite liberating. Flipping through the setting book randomly and just grabbing stuff off the page, for example, gives me:

    – A large group of executives from Nanodynamics is travelling to a base in the outer system to inspect the installation of zero-gee nanofabrication tools. But they’re being targeted by pro-union terrorists from the recently acquired Exogenesis Systems Technologies. (see page 95)

    – A poorly secured microbot swarm breaks loose in the ship’s cargo hold.

    – The crew is hired to make the long haul out to Miranda with 3HE mining supplies. There’s a spy onboard trying to figure out what China’s real intentions are for the Miranda colony. (see page 48)

    – A Felician combat bioroid sneaks onboard in an effort to escape her contract. A corporate hunting team, however, is trying to track her down. And since Felician killed their captain, they may be more interested in vigilante justice than fulfilling their contract. (see page 116)

    And so forth.

  3. Pelle says:

    Am I missing something about the “pit stop and backtrack” game structure? It doesn’t seem to add any meaningful player decisions, they will just have to roll Wilderness Lore until they get lucky and find each pit stop.

    Is the structure mainly for you to slot in the pit stops, and to make it time sensitive (plot, resources, random encounters etc)?

  4. Justin Alexander says:

    It’s specifically to slot in the pit stops. The structure itself is not inherently interesting; what creates interest is what you fill the structure with.

    In the case of The Lost Hunt, each pit stop was designed to drop a clue. The tracking thus became a kind of mini-investigation during which the PCs could piece together information about the monster they were tracking. (Although I was surprised just now, upon picking up the published book, to discover that all of that material was cut. So don’t bother tracking down a copy for an example… track it down for the crazy Escher dungeon.)

    How the act of tracking becomes relevant can vary a lot, though. (If it’s NOT relevant, then you’d just use a single skill check and move past the empty time, right?) It might even tie into other structures: For example, in a hexcrawl following a trail step-by-step is a one way to expand your map; and getting lost while following a trail can be a mechanism that results in the PCs randomly stumbling onto unrelated content.

    As you say, it can also be relevant if time is a factor.

  5. Said Achmiz says:

    For game structures for a “between the stars” style game, I think an excellent source of inspiration is the old Mac game Escape Velocity (a.k.a. “EV”).

    EV was very tightly designed, and had several interlocking structures:

    When the game starts, your ship is in a star system, near a planet. The default action (suggested by the first tutorial hint message) is to land on the planet. Having landed, there are several things you can do: visit the spaceport bar, access the mission computer, refuel your ship, access the commodities exchange, visit the outfitter, visit the shipyard. Some of these may not be available on all planets, but one thing you can always do is take off (which puts you back in space, where you started).

    The… let’s say, secondary default action… is to activate your hyperdrive, pick a connection, and jump. In EV, each star system is connected to one or more other systems, via a hyperspace route. When you’re in a system, you always know what connections that system has (it’s visible on your hyperspace navigation map), but you don’t necessarily know what’s on the other end of any given connection (the destination is shown as an unknown system, until you’ve visited it at least once).

    So, stripped way down to its barest bones, the standard action cycle looks like this: you’re in a star system, which has zero or more planets and one or more hyperspace connections; you can land on one of the planets (if any), then take off; you can jump to a “neighboring” star system (via one of its hyperspace connections); rinse, repeat. You can obviously keep doing this indefinitely (and because you don’t know what’s in star systems you haven’t visited and on planets you haven’t landed on, you are motivated to keep doing this central action cycle by the desire and need to explore).

    Now, making a hyperjump costs fuel. (For example, your starting ship, the shuttlecraft, can hold 4 jumps’ worth of hyperdrive fuel.) And refueling costs money. So, to keep exploring, you need some way to make money. There are several:

    First, the commodities exchange, available on most inhabited planets. Here you can buy one of six standard commodities, or one of a number of specialized commodities, at a price which varies between worlds. This is a very standard “buy low, sell high” space trading game setup—buy a bunch of Food for a Low price, travel to some other planet in some other system where Food sells at a High price, sell for profit; buy Medical Supplies at a Low price, travel to… etc.

    Commodities trading, of course, not only provides the money needed to continue exploring the galaxy (by paying for the fuel spent on hyperjumps), but in turn motivates exploration (because you want to find what sells where for how much, i.e. you want to identify lucrative trade routes; and you can only do that by visiting planets in various star systems, and going to the commodities exchanges on each planet).

    Commodities trading also hooks into ship purchasing and upgrading. If you buy a bigger ship, you can carry more cargo, letting you make more money faster. (And you can upgrade your ship to carry more cargo, with the same effect.) But buying a bigger ship, and upgrading your ship, costs money, which in turn motivates trading and exploration…

    The second way to make money is to take on recurring missions. The spaceports of most inhabited worlds have a mission computer, where you can pick up missions like “deliver [stuff] to [planet]”, or “carry passengers to [planet]”. Missions like this are an easier way to make money than trading (because you don’t need to proactively keep track of what sells where for how much, and instead are simply told where to go, and paid when you get there; however, such missions have a much lower ceiling of revenue flow than commodities trading), but the interesting thing about them is how they encourage exploration: when you view a mission (either one you’ve accepted or one you’re only considering), you get a location marker on your galaxy map… which is independent of whether you have explored that part of the galaxy; in other words, the part of your galaxy map where the mission’s destination system is located may be entirely blank (because you haven’t explored the systems in that region), but you will see a mission marker there, which tells you “there is an inhabited system at this galactographic location; start following hyperspace routes in that direction, and you’ll eventually find a path that will take you to this system which you’ve just been told about”.

    And some of the available missions have a time limit (e.g. “deliver [stuff] to [place] by [date]”). These pay more, but automatically fail if not completed on time. Time elapses when you make a hyperjump (one day, in the shuttlecraft you start with; two or even three days, in a larger ship) or when you land on a planet (one day).

    So, already, we have a closed loop of a couple of different game structures: you’re jumping between systems, landing on planets, where you buy/sell commodities and/or accept/complete delivery missions, while spending the money you make from those activities on refueling your ship (so you can keep making hyperjumps) and upgrading your ship (so you can carry more cargo at at time, or make more hyperjumps without having to land on a planet to refuel; the latter is often crucial for completing timed missions).

    To this strong baseline of exploration and trading we then add two structures which together constitute the heart of the game: combat and plot missions.

    The combat system is straightforward but elegant. There’s no separate “combat mode”; you can simply take combat actions against other ships in the same system, whenever you’re in space (i.e., not on a planet); and, conversely, any ships that are in the same system can choose to attack you. Combat is both a reason to make money (because ship upgrades, i.e. improvements to your combat capabilities, cost money) and a way to make money (because you can board disabled ships and take their money and cargo). (So piracy – or, conversely, pirate-hunting – is also a complete structure: travel between systems, where you encounter various ships; attack, disable, board, and plunder those ships; land on planets, where you refuel, upgrade your ship with better combat capabilities, replenish your combat supplies (e.g., expended ordnance), and sell your plundered cargo; take off; rinse, repeat. And of course you can seamlessly combine privateering, trading, and courier missions, engaging in all of these things opportunistically as you travel around the galaxy.)

    Finally, plot missions. The objectives of such missions tend to be relatively straightforward (go to [planet]; take [stuff] from [planet] and bring it to [space station]; destroy [ship], which will be in [system]; escort [ships] to [system], fighting off any attacking vessels; locate [ship], which may be anywhere within two hyperjumps from [system]; etc.). What makes plot missions interesting as game structures is the ways in which they can trigger. Unlike the standard recurring missions, which are always accepted via the mission computer in a planet’s spaceport, plot missions can trigger:

    1. Via the mission computer.

    2. By visiting a spaceport bar. You enter the bar and see someone / someone accosts you / etc. (This is by far the most common way of getting a plot mission, and is the standard means by which plot missions are glued together; you go to the bar, you are offered a mission, you accept it, you carry it out, you land on the specified world to complete the mission, and the completion text tells you to go to the bar to accept the next mission in the sequence.)

    3. By hailing another ship. (There’s a “hail ship” action, which you might use in the normal course of play to request ship-to-ship refueling – much more expensive than planetside refueling, but saves you from having to land – or to offer a bribe to an attacking enemy vessel, to persuade them to leave you alone. Sometimes, though, you’ll get a transmission from another ship in the same system; answer it, and you’ll trigger a plot mission.)

    4. By boarding a derelict vessel. Sometimes you’ll encounter a disabled vessel in a system; you can board such a vessel, and often it contains some money or cargo you can plunder. But sometimes, you trigger a mission (“some of the crew are still alive, and will pay you well if you bring them to their destination”) – or, alternatively, the derelict turns out to be a trap, and pirate ships jump into the system when you board it.

    Notably, the chance to trigger any given plot mission when its prerequisites are met (i.e., you have completed certain other missions, you have a certain minimum reputation with the offering faction, you have a certain minimum combat rating, etc.) and you take the triggering action (visiting the spaceport bar or mission computer on the/a world where the mission is available, etc.) need not be 100%. In other words, as you play, and do various things (complete various missions, destroy ships of various factions, etc.), your actions are continually altering the set of plot missions which can trigger with various probabilities when you engage in various standard activities. Keep playing, keep exploring and doing “the usual stuff” (i.e., engaging with the standard game structures), and plot missions will find you soon enough.

    Together, all of the above makes for a game that is very dynamic, while never leaving you at a loss with no clear actions to take.

    This set of structures is then rounded out with a number of clever bits, like:

    1. A fairly robust faction/reputation system. Your status with a faction (the Confeds, the Rebels, Starbound Shipping, the Artemis Group, etc.) can increase by completing missions for them, by destroying their enemies’ ships, or by defending their ships from attack; it can decrease by attacking their ships, or by taking any other action which improves your rep with their enemies. Higher rep with a faction means they’ll offer you more sensitive (i.e., harder and more lucrative) missions; very poor rep with a faction means their worlds won’t let you land, and their ships will attack you on sight.

    2. The “tech levels” system means that while many (though not all) inhabited worlds have a ship outfitter (for upgrading your existing ship) and/or a shipyard (for purchasing a better ship), not every outfit and every ship class is available for purchase everywhere. More advanced / wealthier worlds have better selections, and some outfits/ships are available only on, say, worlds of a certain faction; this is another incentive to explore the galaxy, and another reason to travel to specific systems. And some ships/outfits are only available after you’ve completed certain missions (e.g., the Rebellion won’t sell a Rebel Cruiser to just anyone; it only becomes available for purchase from shipyards on Rebel planets once you’ve completed some specific missions for the Rebellion).

    3. The “disasters” system. On any given day there’s some chance of a randomly selected disaster taking place. A disaster consists of a location (a planet), some descriptive text, and an effect on the price of a specified commodity on that planet, such as “due to a miners’ strike on Spica, the price of uridium ore is very high” or “a plague on Levo has increased the price of medical supplies there”. The disaster has some duration (typically a few weeks), during which period the commodity price change at that location persists. The key thing, however, is that you (the player) learn about a disaster in one of two ways: you can visit any spaceport bar in the galaxy and watch the news; or, alternatively, you can hail any civilian vessel and talk to them, which causes them to (with some probability) tell you about any ongoing disaster. Because disasters can dramatically affect the profitability of trade routes (and so any player who makes money from trading will want to know about any ongoing disaster), they function as an additional incentive to engage with two of the ways (the spaceport bar, talking to other ships) in which plot missions can trigger.

    4. Mission bits. When you complete a mission, it can set one or more “mission bits” in your pilot file; these are state flags, which can affect a wide variety of things. Mission bits can make other missions available or unavailable (this is how “mission strings” are implemented, i.e. how missions are arranged into sequential and branching plot lines), toggle the availability for purchase of ships or outfits, change what sorts of ships may be encountered in the galaxy, and can even reshape the galaxy itself, by changing entire systems and planets. This is the primary mechanism by which the players’s actions in EV can have substantive, permanent consequences.

    5. Each star system has an “encounter table” of ships and fleets (groups of ships traveling together) which may be found in that system. (NPC ships are dynamic, of course; they jump in, spend some time in the system, engage in combat if they see enemy vessels, then jump out.) These might be something like “a Confed fighter wing”, “a fleet of merchant freighters escorted by fighters”, “a pirate corvette”, or specific NPCs like “the S.S. Bozeman” or “Blackbeard the pirate in his Kestrel light cruiser”. Together, the various properties of a star system (what inhabited worlds or stations are present there, and what faction do they belong to; what ship types are typically encountered there; are there asteroids there) affect the calculus not only of “do I want to go to this system” but also “do I want to pass through this system on my way to my next destination”. Because there are usually multiple possible hyperjump routes between any two non-neighboring systems, the player quite often faces interesting choices even when planning their hyperspace itinerary (do you take the route with a higher chance of pirate attacks, or the route that will take two more hyperjumps to get there? what if one of your options is to go through a part of space you haven’t explored yet, so you’re not even sure what’s out there? is that better or worse than risking a pirate attack? what if you’re carrying illicit cargo and you don’t want to pass through Confederate space, lest you be scanned by one of their patrol vessels and your contraband detected? etc.). The same considerations affect the choice of whether to accept any given mission, of course (this courier mission pays well, but it takes you past the fringe of Confederate space, where safety is not guaranteed; do you trust your ship to be tough enough, and your piloting skills to be good enough, to evade any would-be attackers?).

    6. In a D&D-like game, your “level” is both what you’ve done (how much XP you’ve earned) and what you can do (including both your innate capabilities, and the effects of your equipment, as the expected total value of your gear is strongly correlated with level). In EV these two things are disconnected: what you can do depends on what ship you happen to be flying (including any upgrades you’ve made to it)—but what you’ve done is reflected in your combat rating (based on how many ships you’ve defeated in combat and how tough they were), your reputation with various factions, and your completed missions. It’s the latter (what you’ve done) and not the former (what you can do) which controls what missions are available to you. In other words, progression in capabilities is strictly instrumental, and orthogonal to “moving forward through the game”, which consists of progression through accomplishments only.

    So that’s Escape Velocity. Now, it seems to me that all but one of these elements are positively trivial to translate into a TTRPG. What have I described here, after all, but a bunch of random tables, a bunch of keyed entries, and a simple map? You barely even need any resolution mechanics (there aren’t any “skill checks” involved, etc.).

    The one exception, of course, is the ship combat system. It’s a key element of the game; even players who aren’t interested in playing a combat-oriented “campaign” (e.g., those who mostly want to focus on trading within the safety of the civilized, well-protected core worlds) will still make choices that are affected by the possibility of attack… and for most players, ship combat is core gameplay. Now, I don’t know of any TTRPGs that’ve featured really good starship combat systems, though I’ll admit that I haven’t looked very hard. In any case, any TTRPG rendition of something like EV would have to get ship combat right, or it won’t work.

    And, of course, this setup still lacks the “vertical integration” that Justin talks about. In EV, when you’re planetside, you never leave the spaceport. There’s no support for wandering around a world and having adventures, so you’d presumably still want to graft some such thing onto the above-described system. (Although, with a set of structures this rich, it’s not clear that you’d really need to?)

Leave a Reply

Archives

Recent Posts


Recent Comments

Copyright © The Alexandrian. All rights reserved.