Try My Pool Game?

Started by
13 comments, last by John Alway 21 years, 6 months ago
Hello, I've attempted a game for the first time and am wondering if anyone would like to try it? I'm interested in feedback to let me know how it works, and what machines with what cards it will work on. I got it working on Win2000 with GeForce2 and WinXP with GeForce4, but it won't work on Win98 with ATI RagePro card. Just to warn you. It has also worked on Win98 with GeForce2. It does require OpengGL and DirectX 8.1. All opinions and feedback are welcome! My website: http://www.alwayslearn.com Thanks! [edited by - John Alway on September 23, 2002 12:32:26 PM]
Advertisement
That''s a nice and tidy application! The ball physics need some work but I''m sure you know about that (I saw some small glitches with the ball movement but nothing major).

I do have a couple of suggestions though...

1. Consider compiling all the resources into the exe and drop that "data" directory.

2. I found the cue movement rather awkward. When the user left-clicks and drags make the cue point to the cursor position. Then I''ll be able to move the cursor to where I want the cue-ball to go to, rather than having to go through some painfully slow rotations.

3. Keep an eye on your windows messages.. If I left-clicked and dragged the mouse out of the view it was stuck in rotation mode, until I left-clicked inside the app window again.

4. I don''t like the method you use for the shot power. (I know it''s personal choice ). I''d rather have a strength meter of some sort. The problem with the current method is that gauging the distance from the cue ball to the cursor is difficult to judge consistantly (to me, that''s not part of the challenge of pool, more of a hinderance).

Good work though! I hope my comments help.

Cheers

Matt



Help me!
"1. Consider compiling all the resources into the exe and drop that "data" directory."

It''s one of those things I''ve been wanting to do, but I have to learn how first. It hasn''t been a priority, though.


"2. I found the cue movement rather awkward. When the user left-clicks and drags make the cue point to the cursor position. Then I''ll be able to move the cursor to where I want the cue-ball to go to, rather than having to go through some painfully slow rotations."

Maybe I didn''t explain it very well in my instructions. To rotate the cue stick, you left-click and drag the mouse up-down, not left-right. The closer you *left-click* to the center of the white/cue ball, the finer the rotations will be. So, if you want quick rotations left-click far from the cue ball and move the cursor up-down. Does this make it easier?

Your idea is a good one, except I don''t think you''ll get those finely tuned rotations for precise shots.

"3. Keep an eye on your windows messages.. If I left-clicked and dragged the mouse out of the view it was stuck in rotation mode, until I left-clicked inside the app window again."

You''re right, I''ll have to fix that!

"4. I don''t like the method you use for the shot power. (I know it''s personal choice ). I''d rather have a strength meter of some sort. The problem with the current method is that gauging the distance from the cue ball to the cursor is difficult to judge consistantly (to me, that''s not part of the challenge of pool, more of a hinderance)."

I thought of this, Matt, but thought that doing it this way was more true to pool, because you do have to gauge the power of a shot without seeing a meter when you shoot a game. But, I''ll write your idea down and consider it.

"Good work though! I hope my comments help."

Thanks! Excellent comments, just what I wanted.

If you can give me the computer system you have, and the fps that''d be great too.

Matt,

I implemened your aiming cue stick idea, and it works great! What you do is left double click to point the cue stick toward the mouse cursor, then you can get more refined aim in the usual way (left-click drag).

I''ve also eliminated that mouse capture problem you mentioned.

Still have to get the resources in exe file.

Thanks again for the feed back.

Hi John,

A couple more things

1. Consider dropping DX8 audio. Find yourself another solution that will allow you to remove the dependency on DX8. This will allow the game to play on NT machines, Windows 95 and systems where the user hasn't got the latest version of dx. Seems a shame to demand the latest dx for such simple sounds and at the same time you are limiting your audience.

2. Stop the clock/timer when you display the About dialog (Other dialogs prolly do the same thing too) because the physics gets a massive update time and the balls roll off the table

3. The collisions to the side cushions "feel" too rigid, add some damping effect in there (rebound engergy should be less than the collision energy as it's absorbed by the foam).

4. You need to refine the collisions off the pocket walls (the knuckles as I know them).

5. I can't wait to play the next version.

6. My system; Win ME, Duron 800, 256mb, 32mb GeForce 2 GTS. Got a steady 50 fps in a large 32 bit desktop window.

Cheers

Matt



Help me!

[edited by - 3dModelMan on September 26, 2002 2:11:29 PM]

Matt,

I added about a 10% damping for side collisions, though I haven''t made it mathematically accurate for angle of collision. Just a quick fix for now.

"You need to refine the collisions off the pocket walls (the knuckles as I know them)."

Can you elaborate on this? Sounds like you may have a good point here.

About the sound, do you have any idea of anything out there that will allow me to easily mix sounds? I went with DX because it was convenient for sound mixing.


Yes, I know about the balls off the table deal.

Thanks again!
Seemed to work fine on my system:
WinME, Pentium 4, 256Mb RAM, TNT2 Model 64, ~40fps 16 bit window.

Occasionally one or more of the balls would fly off the table.
This happened particularly when I was resizing the window in the
beginning when the white ball hits the other balls--the one
in the back of the triangle (opposite from where the white ball
hit) would just shoot off into nowhere and the other balls
wouldn''t even move. It also would happen if I opened one of the
menus while the balls were moving (I lost my cue ball when this
happened, so I didn''t just lose track of them). Also, occasionally when I would aim the cue ball straight at the side (specifically
the left side in the middle) it would leave the table.

Every once in a while when I closed it, I would get a message
saying that your program had caused some sort of undefined
error, but it didn''t do so consistantly as far as I could tell.

As for aiming, I also think it could use some work. This is the
way I''d do it (just a suggestion, of course):
When the user left-clicks, move the stick to where the cursor is
(but aiming toward the cue ball, of course). Wherever he drags
the cursor, the stick should at least be pointing toward it.
This will reverse the way you have it now, so the closer the
cursor is to the ball, the less accurate the aiming will be and
the further it is, the more accurate. In this way, you would
completely eliminate the awkward up/down rotation thing.

Also, using your current method, if you move the cursor left or right instead of up or down, the stick rotates in the same direction no matter if the cursor is moving left or right.

Anyway, great job, keep up the good work.
Hope this helps.

UsersTooLazyToRegister++;
Hiya John,

Fmod looks good, but you prolly don''t want to spend $100. (www.fmod.org) other than that, why don''t you put in a simpler sound system using PlaySound() that kicks in when dx8.1 isn''t present?

About the knuckles; it''s just that I keep seeing the balls bounce off at strange and unexpected angles (certainly not in line with the black cushion drawn around the table).

Have you uploaded the new version yet?

Cheers

Matt


Help me!
quote:Original post by Anonymous Poster
Occasionally one or more of the balls would fly off the table.
This happened particularly when I was resizing the window in the
beginning when the white ball hits the other balls--the one
in the back of the triangle (opposite from where the white ball
hit) would just shoot off into nowhere and the other balls
wouldn''t even move.


I''ve seen this error before, but it disappeared after I removed a bug. I''m probably going to have to revamp some of the collision detection to make it more fullproof.

quote: It also would happen if I opened one of the
menus while the balls were moving (I lost my cue ball when this
happened, so I didn''t just lose track of them). Also, occasionally when I would aim the cue ball straight at the side (specifically
the left side in the middle) it would leave the table.


Okay, I think I know what the trouble is here. Part of it has to do with time getting out of sync, the other with your frame rate, if I''m right.

quote:Every once in a while when I closed it, I would get a message saying that your program had caused some sort of undefined error, but it didn''t do so consistantly as far as I could tell.


Okay, this is the first error report of this kind I''ve received. I''ll wait and see if it happens again, and hope to find a way to solve it.


quote:Anyway, great job, keep up the good work.
Hope this helps.


It helps a great deal! I''m considering your cue stick advice as well. I probably can''t add all of the ideas I get, because of the sheer time involved, but I''m adding this stuff to a written list.

Many thanks!



Matt,

quote:Original post by 3dModelMan
Fmod looks good, but you prolly don''t want to spend $100. (www.fmod.org) other than that, why don''t you put in a simpler sound system using PlaySound() that kicks in when dx8.1 isn''t present?


I originally used PlaySound(), and it wasn''t all that good, because of the lack of simultaneity. I loved the power of DXAudio. I did find a free package on the Internet from circa 1992 that does mixing, but it''d be a bit of work to employ it. The package you mention sounds good for the future, though.


quote:About the knuckles; it''s just that I keep seeing the balls bounce off at strange and unexpected angles (certainly not in line with the black cushion drawn around the table).


I''m going to have to improve my collision detection routines.


quote:
Have you uploaded the new version yet?


I want to implement a few more things before uploading, and the collision detection part might take a bit of time.


This topic is closed to new replies.

Advertisement