Merchant Archive
Thread: Database 101
rexan wrote:
Dsabre wrote:
vendor storage isn't whats taking up most of the space...it may help contribute to it...but what it ultimately comes down to is "unique items".Unique items are not the problem since each player has a limited amount of storage space. Each player is limited to 10 lots, 1 bank, +personal inventory, droids.1000 (10 lots at 100 items)110 (60 items personal inv plus a 50 item backback)100 (saftey deposit box at the bank)50 (5 droids with max storage)------1260 items total per characterAny database should be able to handle this amount of data per player.The problem will come when you break this limit by using vendors for unlimited storage. Especially since vendors can currently be exploited because they require no skill points to maintain.
but the problem is this...50 items stored in a backpack...counts as 1 listed item on a vendor at price 999999999...or however many 9's there are. even at bus 3 (at the post nerf limits)...thats 50 * 60...or 3000 items just with bus 3. then theres the 25 item bazaar limit...use an auction and start at 6000 credits...no one can bid on it...so same as with the 9999999999's...another 25 * 50 so 1250 items....thats 4250 items with bus 3...then you add in the 9 lots at 100 1 at 75 (small house for vendor)...another 975 items...bank for 100, inventory for 109, droids for 50...and well...thats a lot of items...well over 5k items. and if even 1/2 of those are unique...
subtract out the bus 3 part...and anyone has access to about 2509 items worth of storage...not exactly something "any database" can handle without causing quite a bit of concern...bad things happen when databases go over a certain size...or get too close to hardware maximums...very bad things.
just imagine the storage power of a merchant alt (with FS looking more attainable to more people...having a master doc/master merchant alt is gonna look pretty attractive). 660 * 50 instead of 60...33000 items stored amongst 6 vendors....
a cap on number of items won't do a thing (unless they're even more restrictive and count backpack contents against the cap)...the core problem is being able to put an item up for sale at a price, or in a way in which there is no risk of anyone buying it. well it won't do nothing...it will hurt a lot of people, and probably throw the game economy into quite a turmoil as a lot of people leave crafting for other things. power gamers won't likely see any effect to them...but the casual gamers...they're gonna be hit extremely hard.
solution:
1) remove the "auction" option from the bazaar (gets rid of the 25*50 for everyone regardless of prof) or allow a buyout option for the maximum bid price...acts like an instant sale at 6k credits (or the new max if they decide to change that number)
2) lower the price cap per item...maybe 5 mil per item? only a handful of rare loot sellers would be affected...and even then I think they sell most of their stuff via trade forums/shouting in coronet anyway.
3) either get rid of the silly item number cap...or up it by 3x at the very least.
this removes that safety cushion of never having to worry about someone buying stuff you've placed for storage...especially if they can view the contents of a bag before buying.
Most high end databases can support millions of records in a single table. So, if the problem with the number of items on a vendor is simply a database issue then the following would certainly help:
- Buy more hardware with higher end and/or dual processors and run parallel/mirror databases with high cap/high performance RAID.
- If necessary, purchase (or lease) a server to dedicate to the vendor databases.
- Partition your vendor database table(s) by server/planet/owner to make your queries more efficient.
- Don't instantiate the vendors in each location until a call from the client is made (Don't load the vendor items until someone browses the vendor).
- Make the client do the work, not the server.
- Minimize the client/server calls to the database, limiting them to initiate, terminate, sell and purchase.
- When the vendor is browsed, dump a static dataset to the clients cache. The cache would be queried by the client and the 'work' would be done by the user's pc.
- If the user refreshes (requests an updated dataset), clear the vendor data cache and dump the new static data.
- Modify the existing vendor and item objects to improve their properties and methods to reduce the transaction processing. Less transactions = less latency.
- If it's not already in place, create a dll file for the client to use to interface with the server's vendor database. (Speedier transactions, easier, faster and more efficient programming, fixes isolated to minimize impacts when implemented)
- Enhance existing objects (properties and methods) to make them more robust and re-useable.
- For instance: If an item has a property of max units, then allow the max units to be greater than 100k (as with resources) so that the stack can be any size up to 1 million units.
- Add new methods, like multi-item purchase and multi-item sales, to reduce transaction processing. Let users select 5 items to buy at one time and process it as one transaction instead of 5 transactions. Same with sales, let me sell 15 items at the same price by multi-select.
- During the purchase and sales events, process all the required parameters ("are you sure", "it's in a container - are you still sure", "item no longer available", "it's on a different planet", etc) at the client prior to the processing the transaction to the server.
- Clear the vendor cache after exiting the vendor and flush the graphics.
This would help the database problems, but SOE has been careful not to tell us the reasons behind this nerf . It may be database related, but ultimately it's more likely to be a combination of factors such as breaking up of monopolies to help newer player be more competitve, to give master merchant actual perks for having mastered the profession, and to prevent part-time merchants from having all the same bonuses as masters.
If we knew the actual reasons, it would sure help us offer informed alternatives to the dev team.
Message Edited by Chek on 08-12-2004 09:35 AM
Message Edited by Chek on 08-12-2004 09:35 AM
Message Edited by Chek on 08-12-2004 09:37 AM
Zed-TORA wrote:
Reaperss wrote:
they said at fan fest they have 1.2 million accounts?
Yup... That number came from the lucas arts rep there i belive . The numbers were fairly insaine like at any given time there were 15 thousand people logged in or something like that and peek hours it went way higher. Im sure someone else that was at fan fest wrote the numbers down. At the time i really didnt care i had canceled my account was just there with my wife and some guildies.
I doubt (and I could be wrong) that this number is accurate - even if it came from a actual rep. I will happily believe they have a total of 1.2 million accounts listed. But active? I doubt it. Otherwise, I would agree, eventhough there are HUGE costs that most people don't factor in when they say "They make X amount a month, why can't they hire more people?!!" (and, no I won't list them, done that too many times to care to do it again), making 15+M a month on subscriptions has more than enough capital to have this game fixed and running well in under 90 days.
lol
thydbault wrote:
I'm no expert on data bases. But i am an expert on computers. Maybe they need to break up the database into smaller segments using multiple hard drives. Just a stab in the dark but say one hard drive for deeds one for clothing the search paths should be simple enough to create.
Allow the creator of a vendor to eliminate some of the fields they will never use. In my personal experience in game when i go searching the galaxy for a Sword i have no choice but to hit theAll button. If a vendor is stocked with only weapons and Armor allowing for the removal of all the other feilds would certainly free up some reserved space. ( this was just a caffene induced thought I don't know if it is practical or not.)
What ever the solution is i'm very sure there is one out there that doesn't involve capping the vendors. The sad truth is it will besimpler and cheeper for SOE to cap the vendors than buy additional hardware and invest time into revamping the system.
Another thing i am wondering is how much, doesthis have to do with the upcoming release if JTL. After all ifJTL will blend seemlessly with SWG there will be some interaction between the existing system and the new.
one last thing. When i close my eyes and try to imagine the SWG network opperating center I have 2 very different pictures that emerge.
One is a bunch of old 286 systems running IBM dos 2.2. Bundles of coaxial cable taped together with multiple colors of electrical tape. Half eaten twinkies and empty mountain dew cans heeped on top of the moniters. Technicians slumped over their keyboards drooling as they sleep. Their hair being pulled staticly to the monitor.
The other is a huge mainframe system in an ultra clean environmet with clean shaven technicians briskly moving about in their white lab coats jotting notes down on clipboards.
Which picture emerges depends entirely on how bad the lag is.
>It all boils down to a simple dynamic. Basically, I could withstand any change, accept any nerf, and/or tolerate all ongoing problems if I honestly believed that SOE was sincerely making every effort to consider my enjoyment "first" versus their desire to run it all on a shoestring budget. However, I'm not that foolish.<
Exactly.
>I know SOE is going to try to maximize profits. They will push that limit until they sense that they are breaking our backs. Then they will evaluate whether or not they need to pull back a bit and placate us a bit with the "shiny beads and shallow flattery" method of spin-doctoring. They'll throw us a few bones, pat uson the head, wait for the foam to fade from around our mouths, then go right back to trying to maximize profits.<
Unfortunately, in online gaming this approach does not work. The people get fed up, move on and never come back, no matter what shiny baubles you throw in.
>Point is.. ..SOE is not a non-profit organization. They're a company. With the extremely rare exception of a few other companies, the majority are out to make the most, invest the least, and spend every waking moment trying to determine where the fine line exists between pushing the customers out on a limb and whether or not that limb is about to snap. No big mystery here.<
Well, Sony is a japanese company that seems to have adopted the American method of doing business., Usually the Japanese are very cognizant of the longer term and gear to that end, whereas American companies do everything to maximize profit TODAY and to hell with tomorrow. SOE appears to be running in the TODAY mode. SWG is a study in how to use a name ie: Star Wars, and minimal resources to build a game that will generate huge upfront capitol andonly lasta year or two. Any serious MMORPG designer looks at the longer term of 5yrs. This is the difference between a game designed by a gamer and one designed around the accounting dept. The problem is that it worked perfectly. SOE did get huge upfront cash, and they are now on schedule to annoy, intimidate and force out the player base. Nothing I have seen in SWG has given me any impression that they are trying to make the game last mnuch longer.
>What probably affords them a lot of freedom is the fact that this "is" a MMORPG. If this was virus software (like McAfee), then they wouldn't get away with letting viruses slip through or telling the customers they need to wait a few months for updated virus definitions because all of their staff is working on a different product. I'm not even going to get into the addictive properties of online games and how players are more likely to tolerate more than what should rationally be acceptable.<
SOE is treating SWG like a GAME, not a serious long term endevour. They don't see games as REAL business, and don't understand when people, who pay good money for the service, get upset. After all it's only a game. What they fail to realize is that we use REAL money to play and we have expectations of how it should or should not be run.
>The point is, almost every publish (or test center phases) throws one group or another into an uproar. This month it is merchant. Last publish it was the combat balance or the special focus on Jedi. Before that it was BH, MCH, CM, TKM, LA, LA, LA. It shouldn't be that way. You'd think they could release at least one publish where an entire group didn't threaten to quit and/or demand changes be putback the way they were.<
Most of these issues should have been hashed out, solved and set in concrete before the game was released. They had years with EQ2 to work on combat models, as well as the experiences of a dozen other MMORPGS and combat type games. At this stage, all the basics should have been worked out by now, and we should be working on the next generation of features, not reinventing the wheel and starting from scratch in all categories. Any decent RPG designer would release a game with a set of creatures, stats, etc, and have 2 dozen more in waiting that appear in the game later on all 'rebalanced' and 'smarter' than the starter creatures, and instead of nerfing here and there simply release new foes that are better suited to the direction the game has gone. You never see any box game recalled to rebalance the combat model.
>It is said that, "You can't please all people all of the time." That is true; provisionally. However, I believe most people would less likely to freak if my initial paragraph were true. Specifically, that these changes that are upsetting us were genuinely necessary to serve a greater good other than to keep SOE profitable at the expense of added work for the players. Where I think SOE gets to pull this off the most is the lack of awareness by the majority of players to see things for how they really are. Then again.. ..seeing the big picture doesn't necessarily make it easier to take. In many ways, ignorance "is" bliss.<
Well, this is partly true because, with the Star Wars Legacy, SWG has drawn in a large number of first time MMORPGers that don't know any better. The longer term players are the ones that are shaking thier heads in disbelief that the game was ever offered in the state it was/is. SOE also lucked out in that there have been no viable competitors released since SWG was releasaed so a large chunk of the population is simply waiting for the next game to come out and the newbies will be all alone to enjoy SWG.
Bingo! Short. Simplistic. Concise. Relevant! 5 pointy Bozo buttons for joooo.
Wire3k wrote:
They have to start letting the design determine database needs, and stop letting database shortcomings dictate design.
Dsabre wrote:
rexan wrote:
Dsabre wrote:
vendor storage isn't whats taking up most of the space...it may help contribute to it...but what it ultimately comes down to is "unique items".
Unique items are not the problem since each player has a limited amount of storage space. Each player is limited to 10 lots, 1 bank, +personal inventory, droids.
1000 (10 lots at 100 items)
110 (60 items personal inv plus a 50 item backback)
100 (saftey deposit box at the bank)
50 (5 droids with max storage)
------
1260 items total per character
Any database should be able to handle this amount of data per player.
The problem will come when you break this limit by using vendors for unlimited storage. Especially since vendors can currently be exploited because they require no skill points to maintain.
but the problem is this...50 items stored in a backpack...counts as 1 listed item on a vendor at price 999999999...or however many 9's there are. even at bus 3 (at the post nerf limits)...thats 50 * 60...or 3000 items just with bus 3. then theres the 25 item bazaar limit...use an auction and start at 6000 credits...no one can bid on it...so same as with the 9999999999's...another 25 * 50 so 1250 items....thats 4250 items with bus 3...then you add in the 9 lots at 100 1 at 75 (small house for vendor)...another 975 items...bank for 100, inventory for 109, droids for 50...and well...thats a lot of items...well over 5k items. and if even 1/2 of those are unique...
subtract out the bus 3 part...and anyone has access to about 2509 items worth of storage...not exactly something "any database" can handle without causing quite a bit of concern...bad things happen when databases go over a certain size...or get too close to hardware maximums...very bad things.
just imagine the storage power of a merchant alt (with FS looking more attainable to more people...having a master doc/master merchant alt is gonna look pretty attractive). 660 * 50 instead of 60...33000 items stored amongst 6 vendors....
a cap on number of items won't do a thing (unless they're even more restrictive and count backpack contents against the cap)...the core problem is being able to put an item up for sale at a price, or in a way in which there is no risk of anyone buying it. well it won't do nothing...it will hurt a lot of people, and probably throw the game economy into quite a turmoil as a lot of people leave crafting for other things. power gamers won't likely see any effect to them...but the casual gamers...they're gonna be hit extremely hard.
solution:
1) remove the "auction" option from the bazaar (gets rid of the 25*50 for everyone regardless of prof) or allow a buyout option for the maximum bid price...acts like an instant sale at 6k credits (or the new max if they decide to change that number)
2) lower the price cap per item...maybe 5 mil per item? only a handful of rare loot sellers would be affected...and even then I think they sell most of their stuff via trade forums/shouting in coronet anyway.
3) either get rid of the silly item number cap...or up it by 3x at the very least.
this removes that safety cushion of never having to worry about someone buying stuff you've placed for storage...especially if they can view the contents of a bag before buying.
I hadn't even thought about getting a 50x25 item increase by using the bazaar.
I think your suggestions are awsome. The Bazaar "auction" is an exploit waiting to happen.
A 5 million price cap on sale items is a great idea too. Anyone with loot worth more than 5 million can use the trade forums, or face to face trading.
And the Current TC caps are just too low.