I've had this discussion a few times now, with various people. Let's look at a problem in game design from two perspectives. The problem is rather simple. It deals with resource gathering in an MMO and demonstrates this the best. The basic premise is a player goes to a spot where there should be something to gather (iron, flowers, wood, whatever). Now the challenge is to make the user try to gather on this (and every other spot like it) to try to get resources, maybe multiple ones even from one spot. But there also is a skill check involved to reward those that have been doing it more often.
Let's look at the developer side. You could simply chose a random output, say randomly they fail or get something. Maybe randomize the amount you get from using that resource spot, and/or the amount of time it regenerates, rate it regenerates with, and so on. But since we are developers, we want a better solution than just plain random. So we build up a complicated table, backlog, statistical analysis and so on, and in the end ship it.
So the user now gets the finished product and checks out this particular feature. They start the process and notice that the spots seem to have at random times, random amounts and it randomly refills as well. They will make guesses, write down numbers and come up with the conclusion: It's random.
All that work down the drain. The random number generator would have cost a programmer the time between a yawn and a beard scratch to implement.
To make this a shorter post: If the end user can't see this is different than random, then no matter what thought and mechanics you put into it behind the scenes, it still is random by the nature of the end users experience.
Having said that, there is still a mechanic that can be in there, making it appear random but it isn't (truly). That is the mechanic of load balancing. Say everyone is harvesting resources in one spot, because it's the closest to the major trading hub. Now you can simply adjust the system to diminish the maximum output, (in quantity or longer respawn delays or both) in that area so players make the decision to go to another place to gather their resources because it will be much more efficient further away.
Even this might appear random but is the only acceptable use of programmers time to use in a system that is otherwise random. If you spend your time working on an intricate system that can be replaced with 3 lines of random generator code, which for all intents and purposes, to the user, that's what is there, then you have to reevaluate your priorities.
No comments:
Post a Comment