Tag Info

Hot answers tagged

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


16

Which Stats? First, with regards to what stats to implement, you need to work backwards from mechanics to derived stats to basic stats. Determine what effects and mechanics you want during play, and determine how you want those mechanics to work with one another. The important notion when looking at relationships between mechanics is identifying the ...


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


6

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


6

A quick snapshot of the information on current android devices can be found here: http://developer.android.com/about/dashboards/index.html The site is kept up to date every 14-days based on devices which access the Google Play Store so its a pretty decent source for information.


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


5

No, the sum will not converge (run towards zero). It may pass by zero, or be zero at some point, but there's nothing that would make the sum get closer to zero. The sum along any given dimension will be random. However, a sample of sums will tend toward a normal distribution.


4

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


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

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


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


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

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

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

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


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

In general, the big disadvantage of the fixed window approach (Monday through Sunday) is that new players will need to work very hard to achieve a competing leaderboard count in that first week, relative to old players, unless they happen to start playing on the first day of your score tracking period). The disadvantage of the running window approach is ...


2

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); }; // ...


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



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