Hot answers tagged

155

Fees & Taxes One common way to deal with this in real economies is to add a periodic fee that redistributes hoarded wealth back into the community. A few forms this can take: Wear on gear items that requires they be repaired periodically, so even a player who's hit a steady state and buys no new items still needs to pay NPCs (or other players) for ...


87

Because voice acting is more expensive than just the payment for the actors. It's not just the voice actors you need to hire. First, you need to find voice actors which are suitable for your roles. That means you will have to do a casting with many actors, which takes you a lot of time. Then when you have picked the actors and made contracts with them, you ...


83

There is a critical flaw in your system. You assume players will play forever. In the real world, this is the case. "Players" keep "playing" the game until they die, and then their remaining wealth gets redistributed to their heirs. Not so in an MMO. Players play until they get bored. Then they find a new game and forget about yours. Then their wealth ...


66

This is not for performance. This is a failsafe. If the world saves every few minutes, then if something happens to the server and it shuts down everyone will only lose a few minutes' progress. By saving on disconnect, if the server has an issue everyone will lose everything they have done since they logged on. For those on particularly long play sessions (...


59

The problem with this system is that it just fights the symptom, not the cause. Inflation means that money loses value, because players have too much of it. It's not the items which become more expensive, it's the money which becomes less valuable. When nobody needs money, they won't sell anything to the trading house (I won't call it "auction" house, ...


48

By simply only loading those parts of the world into memory which are close to the player. Anything else is suspended to hard drive. When there is a tiny object laying around two kilometers away, then the player can not see it and can not interact with it. So there is no reason to update it or send it to the GPU for rendering. The smaller the object and its ...


41

I may be wrong, but your question makes it seem like you are missing a lot of knowledge in order to successfully write an MMO server. I know this message will likely fall on deaf ears because I was in your position when I started programming. My answer: If I were you I would start smaller. If you want to learn to write an MMO server I would do the following....


35

Much of game design is about resource management, because deciding how best to use limited resources is an interesting choice that games can easily implement. Limiting the inventory forces players to think about the value of each item and make decisions on whether to hoard or sell their loot, and on which items to carry out into battle with them.


27

Publilius Syrus clearly stated it already in ~100 BC: Everything is worth what its purchaser will pay for it. Adam Smith explained why: prices represent an intersection of supply and demand curves. You ignore the basic fundamentals, with a result we know all too well from failed non-capitalist economies: there's simply excess demand or excess supply. What'...


26

It's unlikely to make sense. When I get 100 Zorkmids from Player A and 100 Zorkmids from Player B, I have 200 Zorkmids. When I then pay 50 Zorkmids to Player C, will C get them from the Zorkmids I got form A or those I got from B? Do I have control over this? Does it even matter? A Zorkmid is a Zorkmid. It definitely doesn't matter for real-world banks ...


24

I've worked on a couple of game servers, including a suite of them for an MMO. In general, they don't have physics at all. In the few situations where physics are necessary (jumping, primarily) we let clients calculate their own physics, and we just deny anything that's too outlandish (players moving too fast for too long, going much higher than they ...


23

What you do depends on the nature of the achievement. Unless your achievements all fit a simple pattern (collect X number of Ys), you're going to have to special-case them to some degree. Using a message-based communication system, you can provide hooks that makes the special-case coding localized. You can have certain actions fire messages to listeners who ...


22

You have two very different things to manage: The server must manage the entire world, in an authorative manner. For that, communication with N clients (where N is "massive") is necessary. The client could, in principle, know about the entire world, but it needs not. For the client, it is sufficient to know about what's nearby the player. Assuming for ...


21

Gameplay reasons Many players would like to have online games as a fair competition where the most skilled (or most determined) players are most successful. Other players buying their way to success by using money they acquired outside of the game could be seen as detrimental to their game experience. Economical reasons Many games have an item mall as one ...


18

Limiting inventory can make sense. Doesn't make sense: limiting just for sake of limiting; there's no purpose, and hence, no sense. limiting to limit, again only for sake of limiting, without any competition meaning; as Kylotan said, you can limit players, forcing them to think what they need to take on a fight; but what if they can just teleport to base ...


18

Any sort of resource generated while logged out. WoW and similar games have rested experience that helps those with less time to catch up. There could be other things generated that would help others to catch up, such as a rested currency used to buy items that can buff the player, but they must be implemented carefully to not be abused by those who don't ...


17

As made painfully obvious by recent events, 'Europe' is not a unified place in terms of laws or taxation, so giving a definitive answer here would be tricky to say the least. Even EU law is only a guide as each member state implements it differently. Generally speaking, everything is legal until decided otherwise, so it's not so much "how do I earn money ...


17

Test case of 500 players all communicating, that's 250K streams of information flying around at 20Hz. The internal bandwidth for that would be, assuming 100 bytes each message, about 500MB/sec. Sounds ambitious. Especially between processes. If you segregate players to groups of 100, that lowers to 20MB/sec, and so on. Which is why MMOs have zones, and ...


16

It's common for the client to implement some sort of feedback to let the player know immediately that their chosen action has been registered, eg.: interface sound (eg. button click) in-world sound (eg. a character saying, "At once, commander") animation (eg. begin swinging a sword) These can take place while the information is travelling to the server so ...


15

I see two questions here: How can I secure funding for finishing my game? and How do I handle promotion of my game? Getting Started I believe this is the perfect situation to apply the Minecraft Model to. Setup a site for your game. Get registration working. Start selling subscriptions cheap, $1-3 a month, or even sell lifetime memberships for $10-25. As ...


15

Some reasons I can think of, some of which may or may not apply to your specific examples: Monetization: limiting the amount of actions in an addictive free to play game, and then offering to unlock more actions by paying money is a common way to monetize games. Game balance: by limiting the amount of actions a player can make in a day, you can force ...


15

Independent of feasibility (yes, depending on scale) there are often better or easier ways. For instance, in your typical MMO, the server really only needs to know about the coarse navigation map used by AI and player pathfinding. Instead of storing the location of a tree, you can instead just cut a hole into the navmap at the location of the tree. Likewise ...


15

1000 player may or may not be a problem. It depends on how often you need to update the database. However there is a simple solution: put the database on its own server. I had a peek at how the database system works a game that people would call an MMO-Lite – which one I will not disclosure – yet I can tell it consistently has more than 1000 players, this ...


14

The world being separated into chunks is indeed the first step you should take, with each chunk being handled separatedly. Static objects? Purely static in the sense that they never move, and never disappear? Then you could simply incorporate these objects into whatever data structure you're using for player navigation in the world (such as a grid, ...


Only top voted, non community-wiki answers of a minimum length are eligible