Beta Pandora Pool Panic Beta


TCP isn't for turn-based games. The average packet lag you're going to get on a TCP packet, in real world conditions is about ~400ms. That seems like a lot, in a FPS, over 200ms you start to have serious trouble playing. That's only because every movement you make has to go through the server and back before it takes place.

RTS, MMORPG, RPG, they all use TCP. For TINCS, I'm using TCP and UDP. The UDP is alone for the unreliable messages that get spammed out ~60 times a second. The TCP, is for everything else like the client saying. "LMB was pressed" or "I changed gun". In real world conditions, when I'm playing Muzz who's all the way in Australia, he noticed almost not lag at all. He said everything was very responsive.

TCP isn't for "slow" stuff and UDP isn't for "fast" stuff. UDP has very little use outside of games and in games, I've only really seen it used in first person shooters.

Anyway, you don't have to listen to me. Do whatcha want. I've only been writing network code for 3 or 4 years now.
 
Last edited by a moderator:
I wasn't having a go Butterman - networking is all new to me so forgive my novice ramblings :)

Everything Ive read on TCP goes along with exactly what youve said. I just dont want to re-invent the wheel when the next project requires UDP (probably some sort of top down racer).

I try to write as generally as possible and then adapt that code.

Think Ive got it down now. Got a class that initializes the socket (Windows), can send and receive packets and close the socket.

Next move is a simple game I can distribute to a couple of mates and test.
 
Last edited by a moderator:
Youre talking about Pool Panic right?

Windows. And Pandora in about a month or so.

*edit* and Gp2X
smoking-smiley-5431.gif
 
Yea - totally different game. Same balls though ;)

Im pretty sure Ive got the ball-to-ball collisions spot on.
Next stage is me getting a simple 2 player game to work - any suggestions? - Im thinking 2 player Pong...
 
Last edited by a moderator:
Math isnt my strongpoint and I know there are better ways using line intersections but this works and its relatively cheap.

You get the balls distances and speeds, check they are moving toward each other.
Then if they collide calculate their deflection angles and speed based on their relative positions and speeds.
 
'Unfathomable Depths' said:
Yea - totally different game. Same balls though ;)

Im pretty sure Ive got the ball-to-ball collisions spot on.
Next stage is me getting a simple 2 player game to work - any suggestions? - Im thinking 2 player Pong...
Lagging for break?
 
Last edited by a moderator:
hehehe

Lowest pings away...

Pong will be a good stress test I think. I always write some sort of bat and ball variant for any new area I venture into - If we get OGRE expect FPS Pong...
 
Something that will show me how well a 60fps game will play over a network. Im not expecting it to be super smooth and I wont be doing anything other than sending keypresses.

Just a test. A stress test :D

What would you call that? :)

*edit* not keypresses on second thoughts - x,y position
 
Last edited by a moderator:
I see, how are you moving packets about? Are you just sending one UDP packet per key press? That can get duplicated or lost. The most popular way, which started with Quake 3, is the idea of an unreliable packet, you know it can get lost/duplicated, so you just send all of the data possible in a single packet 60 (or whatever) times a second. Then, on the other end, when it's time to check for messages, you take the latest message and delete the rest. That way, you get a reliable and fast idea of the current state of a client.



EDIT: the latest recieved message might not be the latest with UDP, you need to include time too
 
Last edited by a moderator:
Not keypresses - xy position.

But I will use time stamps. Disregard any packets with a frame number less than the last received packet.

Just trying to get a feel for whats possible.
 
Ok here is the non-PND version of Pandora Pool Panic for the Pandora.

PANDORA POOL PANIC (fixed version)

Navigate to the Pool/PXML dir where you downloaded it using the terminal and type ./pool_new to run it.

Included my PXML files so someone might talk a look at them and perhaps point out wtf I'm doing wrong when trying to create a .PND for this. It creates the .PND, it shows on the desktop but when you try to run it it starts but crashes back to desktop as if it isn't finding the game files (I think)
 
Unfathomable Depths said:
Ok here is the non-PND version of Pandora Pool Panic for the Pandora.

PANDORA POOL PANIC (fixed version)

Navigate to the Pool/PXML dir where you downloaded it using the terminal and type ./pool_new to run it.

Included my PXML files so someone might talk a look at them and perhaps point out wtf I'm doing wrong when trying to create a .PND for this. It creates the .PND, it shows on the desktop but when you try to run it it starts but crashes back to desktop as if it isn't finding the game files (I think)


A couple of questions intuitively... are you using hotfix 3?
And are you *sure* there are no spaces in the name? Since I made the mistake when upgrading to Hotfix 3 with my path for OpenJazz (in a directory called Jazz Jackrabbit), and that's exactly what happened - i.e. detected, put in the right place, but wouldn't open properly.

Just a thought, especially given the spaces in the name :)
 
Last edited by a moderator:
Tobriand said:
A couple of questions intuitively... are you using hotfix 3?
And are you *sure* there are no spaces in the name? Since I made the mistake when upgrading to Hotfix 3 with my path for OpenJazz (in a directory called Jazz Jackrabbit), and that's exactly what happened - i.e. detected, put in the right place, but wouldn't open properly.

Just a thought, especially given the spaces in the name :)

Ahhh. Would that extend to ALL filenames? ie of the files in my game sub-dirs?
I'm away from my main comp right now so can't check (posting this from my Pandora in bed :) )

edit - and yes, I am using hotfix 3
 
Last edited by a moderator:
I'm not sure... I know it applies to the path in which the .pnd resides, including the SD-card name, but paths internal to the .pnd...? No idea. I don't know enough about the spec - except that the error sounds uncannily familiar...
 
Hmm. Not the path names. None have spaces. It runs fine from terminal but whatever I'm doing to create the .pnd is wrong.

Here's the what I'm doing:
./pnd_make.sh -p PoolPanic.pnd -d PXML/ -x PXML/PXML.xml -i PXML/poolpanic.png -c

As I said, it creates the .pnd with no errors. The .pnd shows up on the desktop.
Just when you click it the screen goes black as if SDL has initialized then returns to desktop.
 
Back
Top