Hot answers tagged statistics
25
Get user authorization and tell them exactly why you want that data. You'll get judged harshly in the court of public opinion for sneaking around in a player's machine and uploading information to your private servers.
I am not a lawyer, you may want to ask a real lawyer whether clandestine information gathering is illegal in your jurisdiction.
Whether ...
7
To prevent players from acting like vultures, you might want to think about having the person who does the most damage being credited with the kill. Though this approach would most likely not work in a FFA environment. Granted you're talking about assists, so I'd imagine this is some semblance of a team game. Another thing I just thought of that would ...
6
You mention 2d12, this would imply rolling 2 dice that have 12 sides each, I believe you really mean 2d6 which would be rolling 2 dice with 6 sides each, this would give you a value between 2 and 12 fitting into your rule setting better.
You also assume that rolling two dice will give you 33% chance of getting each number between 1 to 12, in fact you can't ...
6
Google has done some analysis on this: http://browsersize.googlelabs.com
This link has been deprecated, and instead, it will be available as a feature in Google Analytics. I have taken a screenshot of the front-page sample, just in case:
As stated in the about link:
Google Browser Size is a visualization of browser window sizes for
people who visit ...
5
The way I usually end up doing it is to first use a messaging system.
Let's say that you send a message each time the player fires his weapon. Then, the weapon system (or the weapon object) acts on that message when it is received and the weapon is fired. If you then want to keep stats of when a weapon is fired, simply log the weapon.fire messages to a list ...
5
It's most common for developers to track simple usage. That is, how often people play a game, how long they play it per sitting, how often they return to it, and which features of the game they use the most.
For games in which the player character can die, they often track where deaths happen. For puzzle games, they track puzzles which people skip, or ...
5
I don't think it's relevant to what you're doing, but the most interesting way I have seen so far is in Amnesia: The Dark Descent (by the makers of Penumbra).
The basic principle of the game is that the character does not have any memory of what is going on, and you are alone in a castle that is alive - that is, something is chasing you, but you don't know ...
5
The way Shadowrun's core stats shook out, if you think about them abstractly, was interesting to me:
Offense Defense Speed
Physical Strength Body Quickness
Mental Charisma Willpower Intelligence
If you have underlying abstract roles defined for your stats like that, the ways they wind up used come ...
4
I'd start with something simple. All players who do some minimum threshold of damage to a player who is then killed before that player kills someone else gets an assist. Then extend it from there if testing proves it to be problematic (i.e. if you die before the other player does, you lose the assist).
4
In forward rendering each object that is affected by a light source is rendered for each light. So with two lights, you're rendering twice as many polygons than if you had a single light.
On top of that, the optimized mesh that unity generates/imports for you may not be as few polygons/verts as what you make. I think it uses triangle strips and makes a ...
4
You are asking ten questions at once, and some of these require whole books to answer. Still, let me try to give you some pointers before the question is closed by a moderator:
Try these websites to learn some basics about balancing. Follow the links and book recommendations if you want to learn more:
Balance and pacing:
...
3
Take a look at http://www.mmorpg.com/gamelist.cfm - it lists about hundred games with their payment models.
The number of active subscribers is usually hard to find out. The only source is usually the marketing department of each game, which often polishes the number.
3
This is a bit tricky, as it's possible that someone is damaged in a long timespan and when someone finally gets to whack them, they'll be really disapointed if they don't get awarded for it.
To solve this, I would try something like this;
Each time someone gets hit, track who made the damage and how much.
In case of kill, give awards based on damage ...
3
The question really isn't "what stats to track", but should be thought about in terms of "what problems might come up".
As an example:
"funnel" stats, how far users got in the installation process, tutorial process, etc.
monetization stats, what types of users bought what kinds of things, and what other options
virality stats, how often users "shared" ...
3
I've played Pokemon competitively in the past, and if your program is very much so inspired by Pokemon, an automatic system will be difficult.
With Pokemon, there are a few things to consider. Damage, Status Effects, Resistance, and just honest player skill. Testing for damage will work fine for Pokemon like Gallade, but not at all for Pokemon like ...
3
You can simply gather all the info you need into some convenient form, such as JSON or something, then send it at some stage in a XmlHttpRequest, whenever you feel is appropriate.
Yes, people COULD forge requests and send loads of crap, but they probably won't. And you can record the IP address of each recipient, and if an unlikely amount of responses come ...
3
Since you want an exponential curve, maybe you could teach yourself logarithms so that you are comfortable enough to solve your problem by yourself?
There are basically three things to know:
the reverse operation of exp is log: log(exp(a)) = a
exp(a+b) = exp(a) * exp(b)
log(a*b) = log(a) + log(b)
Let’s see your specific problem. You want a rule such ...
3
Use the Wolfram Alpha Regression to fit array of data into a specific type of function. Given your example, it would be something like cubic fit {1,10}, {100,1000}. Try out different models (linear, logarithmic etc.) to get different types of resulting curves
Examples of regression analysis
3
This may be controversial but get some graph paper. Draw in the axes and number range you want to cover (100 to 1000hp). Lay down a nice looking curve and read the numbers off to create your data table.
You need zero math; you can create any kind of curve imaginable and even curves with "hell levels" or "easy street" areas that would take a mathematician ...
2
So you're speaking about some Rock-Paper-Scissor interaction?
The simplest and wide-spread way to do this, would be by using character types instead of character stats for this behaviour.
I.e. every character has to be either "Rock", "Paper" or "Scissor" and depending on which types are fighting you can multiply your stats with a certain factor.
I.e.
...
2
On the side of the player, I would implore you not to engage in this practice. I have a personal perception that background traffic such as checking for patches or the latest release always siphon my bandwidth; I don't care if it is legitimate. Given the choice, I prefer to initiate the check at my discretion like kicking it off just before I go to bed. I ...
2
"Design Patterns of Successful Role-Playing Games" is a free (by-nc-sa) ebook dedicated to using the concept of patterns in the design of roleplaying games.
It is available through http://legendaryquest.netfirms.com/ (last item under 'downloads').
This tome of information is quite a tough read, but great for easing the design of roleplaying game systems ...
2
I took the same basic approach to this in Savage 2 and Heroes of Newerth, it's a flexible system that allows you tweak the specific rules easily.
Each entity has a collection of records that store an attacker id, point value and time stamp. At this point you might also trim the damage log of any records that are too old to count as an assist, if you set a ...
2
Just some short ideas:
Only re-calculate the Player's stats when buffs/debuffs occure, not when you need the value. Much likely to what Sequel-based Databases do with indicies (MySQL for example updates the index cache on each write execution providing a verry fast interface for reading data).
When you have multiple Types of values, you need to think of a ...
2
Not knowing much about your particular game, telling you what numbers to increase with an upgrade (or by how much) is a bit useless. You'll have to decide on that yourself, I'm afraid.
As to how to handle upgrades, The simplest way I can think of to do this is to turn every NSNumber into an array, and add a new attribute "UpgradeLevel". Then, whenever you ...
1
A little example for you, i hope it will be helpful.
// Base game object
var GObject = function () {
// Entities storage
this.entity = {
hp: new GEntityHp()
// ...
};
// Storage for buffs, debuffs
this.buffs = [];
};
GObject.prototype.addBuff = function (buff) {
buff.applyTo(this);
this.buffs.push(buff);
};
// ...
1
You could implement something similar to the Elo rating system, which is used to calculate the relative skill levels of different players. Applying this to the pokémon instead of the players, would allow you to see how they compare to the pokémon to each other and adjust accordingly.
I don't have any idea how pokémon works, but you mention that the battles ...
1
While Constantin's solution for player classes is valid, another possibility is to force the player to create his own class similar to what is done in Demon's Souls.
For those not familiar, with each level the player can add 1 point to any stat (speed, magic, strength, vitality, stamina, etc.). Now while this can lead to stats being linear and not giving ...
1
one possible solution would be to have some basic stats and some derived stats.
For example you got strength (S) constitution (C) and mass (M). Hit point could come from C+M, while speed would come from S-M (mass could add to your basic hit point, but you're slower). if you got a derived stat (or bonus/malus) for falling, it could come from agility and ...
Only top voted, non community-wiki answers of a minimum length are eligible