gareth_mcdaid

Members
  • Content count

    7
  • Joined

  • Last visited

Community Reputation

157 Neutral

About gareth_mcdaid

  • Rank
    Newbie
  1. My Online RPG - Update #3

    Random thoughts. 4 connected clients each running at a different FPS, each with different ping/pong times, requires Frame rate independent movement Using the elapsed time between frames to update the position , 1000/60 elapsed time = 16.6. One method is reading keyboard input detecting directional changes, recording a time stamp and position for each directional change, this information is sent back to the server on average once every 200 milliseconds. The sever as a tick rate of say 5 ticks for each second of time.   The server and client can use a buffer of previous player positions to achieve movement interpolation, this approach can’t be used for PVP in real time as there is no prediction ahead of time for the new player  positions. Projectiles can have predetermined behaviour using a sine wave generator, the client sends a player shoot packet back to the server, included is the position, angle and a time stamp, the server positions each projectile based of it’s elapsed time from being alive, With this information the server checks to see the bullet isn’t being positioned elsewhere and proceeds to send all connected clients the ally shoot packet.  
  2. The sine wave generator is using a time, elapsed_time in milliseconds, or a time stamp milliseconds, to get the position of the sine wave. The problem is I need to make the sine waves travel at any angle through 2D space, any help? The sine wave generator is part of a separate projectile system, 10 is the maximum frequency, elapsed_time is required because this is to be used in a client and server game, where timing is crucial.   Create event set=0; lifetime=3000 frequency=1 amplitude=50*1.0 pixels[0,0]=0 pixel_num=0 xx=0 Draw event if set=0 { start_time=current_time set=1 } elapsed_time =current_time-start_time if pixel_num<60*(lifetime/1000) { pixels[pixel_num,1]=(sin( (elapsed_time/lifetime)*(10*frequency) )*amplitude) } xx=0 pad=1 draw_set_color(c_red) for(i=0;i<pixel_num;i+=1) { if i>0 { draw_line(xx+100,100+pixels[i-1,1],xx+100+pad, 100+pixels[i,1]); } xx+=pad; } if pixel_num<60*(lifetime/1000) { pixel_num+=1 } The projectiles move independent of the frame rate, using the elapsed time, the elapsed time is used to position the projectiles, it’s required to keep the server and client synchronized at all times.   Distance is calculated by using constants and the elapsed time, the constants are based of the server tick rate and the target fps, and there is a speed constant for each projectile used to calculate the number of pixels to move the projectile per millisecond of time passed   The below code as the desired effect but for only for four directions, I need 360 degrees of movement for this to be of use in my projectile system.. angle=0 x=startx + (cos( degtorad(angle) )*distance) y=starty - (sin( degtorad(angle) )*distance)- ((sin( (elapsed_time/lifetime)*(10*frequency) )*amplitude) ) anlge=90 x=startx + (cos( degtorad(angle) )*distance)- ((sin( (elapsed_time/lifetime)*(10*frequency) )*amplitude) ) y=starty - (sin( degtorad(angle) )*distance) angle=180 x=startx + (cos( degtorad(angle) )*distance) y=starty - (sin( degtorad(angle) )*distance)- ((sin( (elapsed_time/lifetime)*(10*frequency) )*amplitude) ) angle=270 x=startx + (cos( degtorad(angle) )*distance)- ((sin( (elapsed_time/lifetime)*(10*frequency) )*amplitude) ) y=starty - (sin( degtorad(angle) )*distance)
  3. How many pictures calculator

    #include <iostream> #include <time.h> #include <stdio.h> using namespace std; FILE *output_log = NULL; const int numofbits=2; int current_pos=numofbits; const char target_num=122,start_num=97; char bits[numofbits]; char result_bits[numofbits]; clock_t ticks1; int string_length(char* string1) { int len=0; while (1) { if (*string1==0) { break; } string1+=1; len+=1; } return len; } void init_bits() { int i=0; for(i=0; i<=numofbits; i+=1) { bits[i]=start_num; result_bits[i]=target_num; } output_log=fopen("c:\\output_log.txt","w"); } void running() { int i=0,found=0,total_count=0; double clock_count=0; //char string1[1]; while (1==1) { clock_count+=1; if (clock_count>10000000) { //ticks1=clock(); total_count+=1; cout << total_count << endl; clock_count=0; } for(i=0; i<=numofbits; i+=1) { char a; //sprintf(string1,"%d",bits[i]); //fprintf(output_log,string1); a=bits[i]; fprintf(output_log, &a ); } fprintf(output_log,"\n"); found=1; for(i=0; i<=numofbits; i+=1) { if (bits[i] != result_bits[i]) { found=0; break; } } if (found==1) { break; } //cout << current_pos << endl; bits[current_pos]+=1; if ( bits[current_pos] >target_num) { bits[current_pos]=start_num; current_pos-=1; for (i=current_pos; i>=0; i-=1) { bits[i]+=1; if (bits[i]>target_num) { bits[i]=start_num; } else { current_pos=numofbits; break; } } } } } int main() { init_bits(); //cout << "Hello world!" << endl; running(); fclose(output_log); return 0; }
  4. How many pictures calculator

    How do you work out how many pictures there are for a given number of pixels and colours? The image dimensions are 1 Bit Per Pixel = 2 colours 4*4 number of pixels = 16 pixels I think the answer is 2^16 = 65536 2 to power of 16 is 65536 Is this the correct answer?
  5. My Game Maker

    Hi everyone I am currently trying to write my own game making program its not going to be 3d but it will still have multiplayer and was wanting some information on want you would like to see in my game making tool. You can check out my web site for moor information go to the about web page and the download page to see my game making tool . web address www.bioware.freewebsitehosting.com My game making tool was base on game maker and comes with some cool demo games pacman etc. I made it with the allegro gaming library check it out and let me no what you think.
  6. My Game Maker

    Hi everyone I am currently trying to write my own game making program its not going to be 3d but it will still have multiplayer and was wanting some information on want you would like to see in my game making tool. You can check out my web site for moor information go to the about web page and the download page to see my game making tool . web address www.bioware.freewebsitehosting.com My game making tool was base on game maker and comes with some cool demo games pacman etc. I made it with the allegro gaming library check it out and let me no what you think.