I want to say first of all what a great programmer I believe Ken is. You really are the best, ;) we love all your work.
The reason I'm here is because I was looking for a PingBall frontend, and since I couldn't find anything, I wrote one myself.
At the beginning I made a small BAT file that asked for resolution, and another one with Netplay options (IP and master/slave choice), but then I decided to go one step further and make a complete frontend.
It's coded in Visual Basic, so it took me only a few hours to complete.
Well, if anyone's interested, feel free to download ;).
Download Pingabol v1.5
Hope you like it ^__^
PD: I just want to say that I love PingBall SOOO much, I spent way too much time playing it. I even made a bigger ball in slab6, and created funny sounds with the mic.
Edited at
Awesoken at
Nice job! I like the simplicity of your design. Would it be ok if I put your frontend on my website? Would you mind if I incorporated your design into Pingball someday?
Some comments:
* Max resolution should say "1024x768". Yours says "1024x1024". Also, it would be nice if the warning only appeared when the user enters a resolution that is too high.
* How about including a Master/slave override? To use this, both computers must select it, and they must choose opposite options. The master computer has better latency and sound. Someday I hope to fix it to be a fair game for both players. : )
* On your dialog, you should mention that Pingball uses UDP port 23513. I forgot to put this in the documentation. I'll be sure to include it in the future. Currently, there's no way to override it.
Is there any chance you'll be releasing your version with modified ball and sounds? I'd love to see it. I'm impressed you learned SLAB6 just for this : )
Misael.K at
Thank you very much!! I'm glad that you liked it :D.
I incorporated some of the changes you recommended:
1) Max Resolution is effectively 1024x768, I don't know why I thought it was 1024x1024 (it wasn't a typo, I put it that way on purpose). Now the program screams only if you put more than the max in the Custom Resolution TextBoxes.
2) I didn't get the "Master/Slave" override change. I mean, you can choose to play either as server or as client, and I believe that if only one of the two sides has to specify the IP rather than both of them, it's less effort spent in vain.
3) So port UDP 23513? Interesting. :D I wanted to know that so I could play as server through my firewall (using port forwarding) put I didn't want to run an exotic program to find the right port :/
Now, I'd be honored if you put my frontend (once you think that it's "done") in your website. Also, if you want my design in pingball someday, I'd be double honored ^__^ (just remember to put my name somewhere =P)
Once again, thanks : )
PD: Ah, the modified stuff... I'll gather them and upload them after dinner. (edited and done)
PD2: The new version of Pingabol is available for download, I already edited the first post.
EDIT: Finally, the modified things are here :P. (I also updated the thread subject to people knows these files exists)
MK Sounds for PingBall (133 KB)
MK Balls for PingBall (47 KB)
Ah, there's also something you should know... I think there are a couple of bugs in PingBall, (1) when the ball is still (before you serve) and place the paddle in front of it, there is an error in the shadows; (2) again, when you serve, if you keep pressing space the start spot keeps going up and up.
Also, I tried NetPlay with a friend, and we both have 128k connections (we both live in the same city) and, like you said, the client had a LOT of latency and small errors; nevertheless, the transfer rate between us was never higher than 3 KB/s, so we had extra bandwidth but it wasn't being used.
Perhaps you already know all of this, perhaps you don't. I just wanted to say it ^__^
Awesoken at
I get run-time errors when trying to enter a custom resolution. It happens whenever I delete the 800 (using backspace). I would just remove the warning altogether.
The master/slave override is necessary when one person is behind a firewall and you care who gets the advantage.
To detect port, you can run "netstat -na" at the command prompt. Netstat comes with windows. If you don't know which port is owned by pingball, you can find it by comparing the results of netstat before and after running pingball.
Your sounds are certainly weird as advertised.. too bad I don't know your native language. I see you found the mostly invisible "PING BALL" written on my ball. : ) If I ever implement spin, I'll be sure to highlight features on the ball more (as you demonstrated). This would make it easier to see the spin direction.
I know about the shadows being rendered halfway off the table. I don't plan to fix that anytime soon. Are you talking about something more severe?
I implemented 'space' (serve placement) as a quick test and then completely forgot about it. Yeah, it doesn't work too well. When I play, I always serve from the default position.
the transfer rate between us was never higher than 3 KB/s, so we had extra bandwidth but it wasn't being used.
That's a feature! The low bandwidth is not the reason Pingball suffers from latency (and other problems). I just never got around to implementing the code to hide latency. Things got messy and I figured it wasn't so important once it was working. If I was selling Pingball, I would surely put more effort into it.
Martin at
Awesoken said
To detect port, you can run "netstat -na" at the command prompt. Netstat comes with windows. If you don't know which port is owned by pingball, you can find it by comparing the results of netstat before and after running pingball.
Or use netstat -ano and look for Pingball's process ID found in the task manager :)
Misael.K at
Ah, yes, good ol' netstat. I think I used it once or twice for nonimportant issues.
The master/slave override is necessary when one person is behind a firewall and you care who gets the advantage.
Arrgh!! I still don't get it!! I'm sorry, could you try to explain it in some other way? (I can't believe I'm not understanding this... dammit!) >___<
I get run-time errors when trying to enter a custom resolution. It happens whenever I delete the 800 (using backspace). I would just remove the warning altogether.
Well, PingBall automatically sets the maximum, so yeah, there's no need to put the warning. You could just put 9999x9999 and nothing bad would happen. The reason you get the run-time error is because I didn't put any kind of protection, so your actually trying to save the value "" to a numerical variable. Silly me.
Besides, in windowed mode resolution works in a different way than in Fullscreen mode, so I think I'll just remove the warnings.
Your sounds are certainly weird as advertised.. too bad I don't know your native language
The "point scored" sound says something like "eat that, sucker!" ^__^
I know about the shadows being rendered halfway off the table. I don't plan to fix that anytime soon. Are you talking about something more severe?
No, I mean a bug that only occurs in windowed mode, and using any kind of ball (big, small or unmodified).
<<See Screenshot here>>
Ah, I've been experimenting with the different input that Pingball has. I found out that, if there's no joystick installed, the "Joystick (3D)" input works with the mouse, but in a very strange way... throttle with LMB and RMB... it's just strange.
Then I tried to use PPJoy to emulate a joystick, so I imagined I could get more degrees of control by combining the Keyboard with the mouse. Too bad there's no way to move the axis little by little, it's either full left, zero or full right. It's not very useful, but it's still interesting.
BTW, I updated again the frontend... there should be no more runtime errors now, and also I fixed all the TabIndexes, so you can use the application with the Keyboard efficiently.
Awesoken at
Thanks for the screenshot - I never saw that before because I almost always play PingBall full screen. I fixed the bug and uploaded a new version: http://advsys.net/ken/download.htm#pingball I also added some difficulty settings (/d#).
The input modes are a big mess of hacks. Most of them are for my own testing purposes and not meant for general use. I would expect that only the mouse would work well. You are very lucky if you can play well in one of the joystick modes.
Misael.K at
You have made my day ^___^
Now I've got to add the new /d settings to the frontend! @__@ Ok, I'll do it as soon as I found some time to work on it.
BTW, you must've read my mind... I was just thinking a few days ago "A difficulty setting would be totally awesome". I can't believe what a cool dude you are, man.
Thanks again :D.
EDIT: Frontend updated.
Awesoken at
I just released a new PINGBALL with integrated opening dialog box. Thanks go to Misael K. for his inspiration.