General Category > Game Mechanics

Making shops less frustrating

(1/7) > >>

magic.coding.fairy.peridot:
As I understand it, the only criteria determining which items a shop gets are the type of shop and (maybe) the price of items. Since a Buru Buru costs more than the high-end personal weapons, it's hard to arrange to have stores that have only "common" items and stores that stock exotic high-end items. So every store has pretty much the same potential inventory, and shopping amounts to visiting all the relevant stores at random, hoping they've randomly acquired one of the few useful items. It'd be nice to change this.

Leaving aside implementation for the moment, how should it look to the player? The JRPG style is to have items strictly ranked by quality and low enough in price that you basically get new, better items as you advance the plot by reaching new areas. The Western RPG style has shops pretty much only sell common items, so that all magical or high-quality items are obtained as loot. The Nethack style has rare, non-refreshing shops, so that what you get is as random as in GH but there's no point cycling from store to store; Nethack also raises item costs high enough that you don't necessarily have access to high-quality items until later in the game even if they're in stores. The Angband style has most stores selling only common items; the exception is the Black Market, which has a slowly-refreshing stock of random, occasionally-good items at such exorbitant prices that it's just not a very useful source of supply; in practice good items always come as loot.

GearHead also suffers from the problem that SF2 items really ought to be more expensive than all but the fanciest SF0 gear. This clashes with the fact that a Buru Buru and its supplies and repairs ought to be about as available to the player as a decent pistol and its ammunition. This problem must afflict other games with multiple scales of combat, but I can't really think of any other than the ancient "Crescent Hawks Inception", which pretty much relegated SF0 combat to the beginning, before you had the opportunity to acquire a mech.

I'm a big fan of region-based difficulty, so my inclination would be to add an additional property to buyable items, "quality". Then Hogye merchants would sell only common items, which might include Buru Burus and swords but not automatic rifles or Wraiths. Downtown Snake Lake and its environs would present more dangerous random encounters and quests but offer slightly higher-quality gear. For the second-best gear you might have to go into the frontier towns, where life is more dangerous. For the very best gear, you'd have to do quests or capture it in combat. Unfortunately, this region-based difficulty is kind of in conflict with the renown-based difficulty system. Even with the renown difficulty system, one could arrange for towns that are under attack by tougher enemies to offer better gear.

Implementation-wise, the biggest step would be to annotate all items with some kind of quality indicator. I don't know how hard this would be; presumably it would at least require someone to manually go through the item list and add a quality number to each item. I know that PV is supposed to serve this purpose, but because it treats SF0, SF2, weapons, armor, food, and tools the same way, it makes it really hard to give shops interestingly distinct inventories.

Alternatively, items could have flags like "ILLEGAL", "MILITARY", "TOPSECRET", or whatever, and these could be used to make some stores special.

What do people think? This is a good time to hack on store mechanics, particularly if they can be ported to Lua...

Daemonward:
Some kind of "availability/quantity" attribute might be a good idea. For example, extremely common items might have a rating of 0.95, meaning any given store has a 95% chance of having that item in stock, and a 95% chance of having another of that item in stock after each purchase. Uncommon items, with a rating of 0.05, would only show up 5% of the time and there would only be a 5% chance that the store has more than one of that item in stock.

An item's base availability could also be modified by tags to make that item's availability in certain shops more or less likely. Certain mecha dealerships could specialize by type (aerofighters, groundhuggers, zoanoids, etc.), weight (<30 tons, 30-60 tons, 60-90 tons, >90 tons), faction (Federation Defense Force, Solar Navy, Aegis Overlord Luna, etc.), or manufacturer (BioCorp, RegEx, Kettel Industries, etc.) and certain weapon stores could specialize in edged melee weapons, slug throwers, non-lethal weapons, etc. For example, a TR-93 XS Razer might have a base availability of 0.2, but at Arachnoids R Us, arachnoid-type mecha have an availability modifer of 3.0, so there is a 60% chance that they have a TR-93 XS Razer in stock (and a 60% chance that they have more than one).

Another idea would be to introduce "licenses" or "clearance levels" of some sort that a character must acquire (through quests!) before the (non-black market) shops will sell them certain classes of equipment.

Telok:
There is a CONTRABAND tag in the equipment files, and shops do stock only those items with tags that match their own (WEAPON, GUN, MELEE, INSTRUMENT, FEDCOM, AEGIS).

There is an equal chance to get each item (that matches the keywords of the store) in the equipment files. You can increase the chance of something appearing in the store by increasing the number of times it appears in the equipment files. This is much less elegant than a rarity system, but it has the same effect.

Crucifix:
It would be nice if this could simply be set by Supply and Demand, though I appreciate it's more complicated.

Each shop starts out with a randomised array of equipment. Equipment has a stock count.

If the player buys anything from a store, the item and any "types" of the item get's a "sold" marker.
Each day "market forces" choose ~1-20 item types at random and add a "sold" marker to them too, lowering the stock count accordingly.

If an item has "sold" that day, then it's Demand increases. If it hasn't, it decreases.

Each week, the shop restocks. Anything with a <0 Demand is removed from inventory. New stock is randomly selected from any items with a type that has a Demand of ~5+ (capped by shop-wealth and "potential types" - a music shop won't sell mecha). Anything else remains in-stock and its stock count is reset. Higher demand items already present increase their stock count cap by 2.

If more items went out of stock than went in (keep ~20 items in stock, variable by shop), any new stock from available stock types is added at random.

This randomly changes stock without player intervention. Popular items have more chances to be purchased at random, as their stock count increases to allow more purchases, meaning stores will naturally develop "favourites" without player intervention, and due to the random nature and probability distributions, most stores will independently develop their own, fairly unique, core product.

The player can invest in a store to increase their shop-wealth and potentially increase the range of types they stock.
The player can intentionally "buy-up" all of a certain item. This will make the item, and the item type, more popular and more likely to come into stock.
Longterm, this means that the player can continue to buy "bladed weapons" at a weapon shop until the shop's entire range is made up of bladed weapons and nothing else.

If a player neglects a store long enough, it will largely revert to a dynamic state, but will likely retain the core product encouraged by the player.

As I say, it's more complicated, but any thoughts?

Rowanthepreacher:
I like it, but I don't think it'd solve the main problem with shops, being that they never stock the item you want, or that would be reasonable for it to stock. By your model, it could take many, many weeks for an item to get dropped and a new one picked to replace it.

I think that the wealth idea is worth looking at, though. The more you buy from places, the wealthier they get, and thus, the more they can afford exotic gear.

I propose a slightly different system, whereby each shop has a wealth level. The shop will purchase items according to it's wealth level. When nothing is purchased, (by you or randomly) it's wealth goes down, and it will restock only with items that cost equal or slightly under it's wealth level. When something -is- purchased, however, that cash gets added to the wealth level of the shop, and it will restock with items equal or slightly under it's new wealth level.

If you consistently purchase basic food from a shop, for instance, it won't gain much wealth, and the food will stay basically the same, although they'll be able to offer you Chocolate and Tubesteaks in addition to that Basic Ration. If you purchase Chocolate all the time, the shop will increase it's wealth a fair bit, and offer you the finest goods it can afford.

For a fee, you should also be able to import an item. Shopkeepers are always saying that you can, but they're lying bastards. Importing would allow you to ask them to get in a specific good in their next restock (regardless of their wealth), and you pay a proportionate fee for it (which raises the shop's wealth). Then the item comes in, and you pay for it as normal (raising the shop's wealth).

This way, the game ties your progression and tendency to buy better, shinier things, to the stores around you, so they tend to stock even shinier things for your next visit, and there's no reason you should ever go without anything for long.

Navigation

[0] Message Index

[#] Next page

Go to full version