Hello, I am very new to R (read the introduction a few hours ago), but experianced in several other languages (including Scheme, C, ObjC and C++, Java and Javascript) and I was wondering how to approach this problem:
I am making a training calculator for a Video Game I play. Basically, I want to calculate the probability of killing an enemy within x hits, to help determine which is the best monster to train on in this game. The current implementation (http://geocities.com/dragontamer5788/maple2.html) uses the normal curve to estimate just about everything. Not necessarily a bad idea for when it takes 10 or 15 hits to destroy a single enemy, Central Limit Theorm kicks in and normal curve is probably a good idea, but my gut feeling is that it is not accurate for estimating kills in 1 or 2 shots (which happens in the majority of "training" monsters), or the probability of Knockback (which is always determined by a single shot). The (simplified) function to represent the damage would be: sdmg <- function(min, max, skill){ if(runif(1) > .4) (runif(1) * (max-min) + min) * skill else (runif(1) * (max-min) + min) * (skill+1) } total_damage <- function(min, max, skill, num_attacks){ total <- 0 for(i in 1:num_attacks){ total <- total + sdmg(min, max, skill) } total } -------------------- The above is how damage is calculated. So the probability distribution looks like 2 rectangles next to each other, one with height .6 and the other with height .4. Sdmg is a helper function, because some attacks attack 2 or 4 times in a single turn. Though, I dont want the simulation (what I'm doing with the runif here). I'd like to calculate the probability distribution of total_damage, total_damage + total damage (the convolution, representing 2 hits), and so on till about 5-8 hits (then I can just use normal curve in the web-calculator I'm making), then have a polynomial function estimate the probability distributions based on min, max, and skill. (So I can make my online calculator estimate the probability of killing enemies) Erm, I know it is a lot to ask for, but how would I go about making this in R? And if R isn't the right tool for this, is there any other tool you'd reccomend? Cause doing convolutions by hand sucks. Thanks a lot for reading this long message :) And thanks in advance for your help. ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
