   srand(GetTickCount()); ??
  what is the difference between srand(GetTickCount()); and the standard srand(time(NULL)) ???they seem to do the same thing in my game....... (i think) 
  Do not worry about that, the only diferences are that one has a better precision than the other.As i said, don''t worry about those, they basicly operate the same way. ;  so which is better ? also, ive read in some other threads that using this combined with rand() isnt that random, especially since im modding the random number. what else can i do then? ;  More or less, yes. Time-dependent functions are generally used to initialize the PRNG to get an unpredictible initial value, and therefore an unpredictible random sequence (well, within the limitations of your PRNG algoritm). The actual function you use is not really important. GetTickCount() varies faster, but time() is standard C. With that in mind, pick whichever you wanT.   “Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.”    — Brian W. Kernighan (C programming language co-inventor);  they are equally good!What those other threads mean is that you shouldn''t call srand() every time you call rand(), because that won''t be random. Just call srand() once at the start of the program, and you will be fine. ;so which is better ? Neither. Both. See my previous post.also, ive read in some other threads that using this combined with rand() isnt that randomEach time you call srand(), the PRNG restarts from the value you pass it. If you call it repeatedly, with the same value, you won''t get random results. time() has a one second accuracy, IIRC, so if you call srand() several times per second, you call it with the same value.Of course, most applications only require you to call srand() once, at the beginning of the program, but if you actually need to repeat certain sequences, well, calling it again may be justified (Hint: in games, it usually isn''t). especially since im modding the random number. what else can i do then?Some of the reasons modding the random number is considered a bad idea are:The resulting equivalence classes are not equiprobable, unless the number you mod with is an exact divisor of RAND_MAXHistorically, the lower bits of rand() have shown poor random behaviour, and those are what you keep when using modulus arithmetic. Of course modern rand() implementation may fare better.You can write your random number function this way:float random(float min, float max){   return min+(rand()/(float)RAND_MAX)*(max-min);}  If you want a better RNG algorithm, use the Mersenne Twister algorithm. There ought to be an implementation floating on this site, or - a better idea in my opinion - head over to www.boost.org and use their random number generator classes (which allow each object to be seeded independently - unlike srand() which actually sets a global variable). “Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.”    — Brian W. Kernighan (C programming language co-inventor);  i think you guys are mis understanding me...... i know to only call it once at the begining, i was just asking what the difference was between the time and the gettickcount.  