Hot answers tagged

156

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....


37

What else could be done to level the playing field between those players who play 40+ hours a week and those who can't play more than 10? A simple way to avoid turning off players who don't have the time available to invest in grinding is to remove grinding from the game as much as is reasonable; keep progression curves linear or shallow. But, I think ...


37

Most MMOs (or projects using similar architecture) I've worked on or know of use the first method: the game servers work mainly with the RAM on the machines running the server processes, and only periodically serialize the relevant game data to a SQL database for archival (if one is used at all). The problems you note regarding power failure are valid, but ...


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.


31

In my experience, the reason you don't see this very often (at least in the US) is "it's very complicated, we as game developers lack the expertise, and there isn't much profit in it." Online gambling laws are really complicated. I'm not even going to pretend my limited comprehension of legalese is up to the task of parsing them. It's not necessarily very ...


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

Update For those interested, I did a write up about these problems and a few others, as well as possible solution. You can find it at my blog. @JoshPetrie hit a lot of it on the nose, but I'll add a little to it as well. Some friends and I a while back wanted to make a real MMORTS and went through the process of building a general game design outline that ...


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

How can files be used to keep track of players positions? You write the player position to the file. For example, if you identify every player with a unique number (or a GUID), you could use that as the file name. In the file, simply write the position data out in a format you can parse later. For example, 467239.txt might contain 20, 3, 19 if player #...


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 ...


22

You're going to need some kind of forced, "hard" sink to return the money to circulation. Without it, as painful as it might be to implement one, you will only be postponing the inevitable. Character death can act as a hard sink, returning a portion of the character's wealth to the pool available to NPCs. Gameplay incentives revolving around upkeep can push ...


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 ...


21

While ideal, it is practically improbable to validate every single input against the server, both in terms of computational load and latency in input confirmation for the client. Consequently there are usually a handful of things that aren't validated on the server in many MMOs. In some cases this includes certain classes of character movement, which is why ...


19

MMOs have significantly higher infrastructure and ongoing maintenance costs than non-MMO games, primarily because most MMOs also include a heavy element of persistence, and in the interest of ensuring integrity it's the developers or publishers who typically shoulder that burden. Because of that, it's important to ask how the player will benefit from making ...


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 ...


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

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

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

Yes, somebody (in fact, multiple somebodies) on the team that develops any multiplayer game, regardless of scale, should have a strong working knowledge of networking security concepts at both the hardware and software level. This is especially true for games that will involve a lot of persistence of agency, since that constitutes investment on the part of ...


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

If it's not a "real time" game in the sense that players don't need to see the immediate result of another player's actions on a game scene then you should be fine with HTTP requests. But Keep in mind the overhead of HTTP. That said using HTTP will not save you from designing your communication protocol with care. But if you are in charge of both the server ...


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 ...


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