Hi guys,
I'm having some problems getting this to run above 2 frames per second. It shows 50 balls on the screen on the server and client. Can someone tell me if i'm sending the packets, and receiving it correctly and efficiently?
I'm using directplay by the way to. But surely directplay can do better then 1 to 2 frames a second?
Here is my code after all the network code is out of the way.
do
CheckIncomingMessages()
Update_Ball()
text 20,20,"fps: "+str$(screen fps())
sync
loop
function CheckIncomingMessages()
get net message
while net message exists()=1
tempPlayerNumber = net message player from()
if tempPlayerNumber = 1
msgType = net message type()
if msgType = 4
net message memblock 1
command = memblock word(1,1)
if command = 1
ball(1).X = memblock word(1,3)
ball(2).X = memblock word(1,5)
ball(3).X = memblock word(1,7)
ball(4).X = memblock word(1,9)
ball(5).X = memblock word(1,11)
ball(6).X = memblock word(1,13)
ball(7).X = memblock word(1,15)
ball(8).X = memblock word(1,17)
ball(9).X = memblock word(1,19)
ball(10).X = memblock word(1,21)
ball(11).X = memblock word(1,23)
ball(12).X = memblock word(1,25)
ball(13).X = memblock word(1,27)
ball(14).X = memblock word(1,29)
ball(15).X = memblock word(1,31)
ball(16).X = memblock word(1,33)
ball(17).X = memblock word(1,35)
ball(18).X = memblock word(1,37)
ball(19).X = memblock word(1,39)
ball(20).X = memblock word(1,41)
ball(21).X = memblock word(1,43)
ball(22).X = memblock word(1,45)
ball(23).X = memblock word(1,47)
ball(24).X = memblock word(1,49)
ball(25).X = memblock word(1,51)
ball(26).X = memblock word(1,53)
ball(27).X = memblock word(1,55)
ball(28).X = memblock word(1,57)
ball(29).X = memblock word(1,59)
ball(30).X = memblock word(1,61)
ball(31).X = memblock word(1,63)
ball(32).X = memblock word(1,65)
ball(33).X = memblock word(1,67)
ball(34).X = memblock word(1,69)
ball(35).X = memblock word(1,71)
ball(36).X = memblock word(1,73)
ball(37).X = memblock word(1,75)
ball(38).X = memblock word(1,77)
ball(39).X = memblock word(1,79)
ball(40).X = memblock word(1,81)
ball(41).X = memblock word(1,83)
ball(42).X = memblock word(1,85)
ball(43).X = memblock word(1,87)
ball(44).X = memblock word(1,89)
ball(45).X = memblock word(1,91)
ball(46).X = memblock word(1,93)
ball(47).X = memblock word(1,95)
ball(48).X = memblock word(1,97)
ball(49).X = memblock word(1,99)
ball(50).X = memblock word(1,101)
sendPacket = 0
endif
endif
endif
get net message
endwhile
endfunction
function Update_Ball()
if playerNumber = 1
for i = 1 to 50
ball(i).X = ball(i).X + ball(i).SpeedX
if ball(i).X > screen width() or ball(i).X < 0
ball(i).SpeedX = ball(i).SpeedX *-1
if abs(ball(i).SpeedX) > 4 then abs(ball(i).SpeedX) = 4
endif
sprite ball(i).SprNum,ball(i).X,ball(i).Y,ball(i).Texture
next i
sendPacket = 1
if sendPacket = 1 then SendPackets()
endif
if playerNumber = 2
for i = 1 to 50
sprite ball(i).SprNum,ball(i).X,ball(i).Y,ball(i).Texture
next i
endif
endfunction
function SendPackets()
command = 1
write memblock word 1,1,command
write memblock word 1,3,ball(1).X
write memblock word 1,5,ball(2).X
write memblock word 1,7,ball(3).X
write memblock word 1,9,ball(4).X
write memblock word 1,11,ball(5).X
write memblock word 1,13,ball(6).X
write memblock word 1,15,ball(7).X
write memblock word 1,17,ball(8).X
write memblock word 1,19,ball(9).X
write memblock word 1,21,ball(10).X
write memblock word 1,23,ball(11).X
write memblock word 1,25,ball(12).X
write memblock word 1,27,ball(13).X
write memblock word 1,29,ball(14).X
write memblock word 1,31,ball(15).X
write memblock word 1,33,ball(16).X
write memblock word 1,35,ball(17).X
write memblock word 1,37,ball(18).X
write memblock word 1,39,ball(19).X
write memblock word 1,41,ball(20).X
write memblock word 1,43,ball(21).X
write memblock word 1,45,ball(22).X
write memblock word 1,47,ball(23).X
write memblock word 1,49,ball(24).X
write memblock word 1,51,ball(25).X
write memblock word 1,53,ball(26).X
write memblock word 1,55,ball(27).X
write memblock word 1,57,ball(28).X
write memblock word 1,59,ball(29).X
write memblock word 1,61,ball(30).X
write memblock word 1,63,ball(31).X
write memblock word 1,65,ball(32).X
write memblock word 1,67,ball(33).X
write memblock word 1,69,ball(34).X
write memblock word 1,71,ball(35).X
write memblock word 1,73,ball(36).X
write memblock word 1,75,ball(37).X
write memblock word 1,77,ball(38).X
write memblock word 1,79,ball(39).X
write memblock word 1,81,ball(40).X
write memblock word 1,83,ball(41).X
write memblock word 1,85,ball(42).X
write memblock word 1,87,ball(43).X
write memblock word 1,89,ball(44).X
write memblock word 1,91,ball(45).X
write memblock word 1,93,ball(46).X
write memblock word 1,95,ball(47).X
write memblock word 1,97,ball(48).X
write memblock word 1,99,ball(49).X
write memblock word 1,101,ball(50).X
send net message memblock 0,1,1
endfunction
function Make_Textures()
ink rgb(255,255,255),0
box 0,0,8,8
get image 1,0,0,8,8
endfunction
function Make_Ball()
randomize seed
for i = 1 to 50
ball(i).SprNum = i
seed = 20+rnd(450)
ball(i).X = seed
ball(i).Y = seed
ball(i).Texture = 1
ball(i).SpeedX = 10
ball(i).SpeedY = 1
sprite ball(i).SprNum,ball(i).X,ball(i).Y,ball(i).Texture
next i
endfunction
darkvee