My Pool Game PoolShark Updated

Hello, for those who are interested, I’ve upgraded the poolgame. The rotational mechanics of the balls are more polished, there is a redo/undo so that shots can be retried, and I’ve imported most of the data files into the exe.

I couldn’t import the wav files and make them work with DirectMusic. I’m still working on this. If anyone knows how, I’m all ears!

Anyway, if anyone wants to test my game and give me feed back, I’d appreciated it.

The game is here:
www.alwayslearn.com

I should add, it requires DX8 and OpenGL.

Thanks!

[This message has been edited by Archimedes (edited 10-23-2002).]

Does anyone have any feedback on my game? The good, the bad the ugly!

I’d appreciate to know how it is working.

Thanks.

Ok, I tried out the game for you. Here’s my impressions:

  • When I started the game, the fly-by of the table was pretty cool! However, the fly-by scene ended with me looking at the bottom of the pool table, I’d rather it stopped the motion with a view of the top of the table, with your “PoolShark” logo visible.
  • Speed of the game was good, I averaged around 140 fps.
  • Coefficient of friction seems a little high. From my experiences playing pool, balls tend to roll a bit longer, and slow down more gradually. This was particularly noticeable on lower-speed shots.
  • I didn’t use the keyboard controls, perhaps it would have helped, but I found it extremely difficult to sink shots. Gauging force was also difficult. Perhaps a “force” meter in a corner, that grows with the cursor distance from the cue so you can get an idea of how much force will be applied.
  • A “replay” when you sink a shot would be cool. The orthographic projection is best for taking shots, but it would be awesome to see the shot replayed in perspective.

Hope that helps!

Edit: Machine specs – Athlon 1.1 ghz, 640 mb RAM, Radeon 8500, Win2k

  • One other point I forgot to make. I’m guessing you set the initial window size based off of the users desktop settings. Well, I run dual monitors off my Radeon, so it drew some wide-screen looking window. This isn’t necessarily a problem, I just wanted you to know what happens when it is run on a system with a virtual 2048x768 display spread over 2 monitors.

[This message has been edited by yakuza (edited 10-25-2002).]

Originally posted by yakuza:
Ok, I tried out the game for you.

Hey, thanks!

Here’s my impressions:

  • When I started the game, the fly-by of the table was pretty cool! However, the fly-by scene ended with me looking at the bottom of the pool table, I’d rather it stopped the motion with a view of the top of the table, with your “PoolShark” logo visible.

That’s what’s supposed to happen.

The loop is a timed loop, so it definitely should not do that. I’m scratching my head trying to think what it could be?

  • Speed of the game was good, I averaged around 140 fps.

That’s about double what I’m getting. One guy is getting 0.5 fps.

  • Coefficient of friction seems a little high. From my experiences playing pool, balls tend to roll a bit longer, and slow down more gradually. This was particularly noticeable on lower-speed shots.

Others have pointed this out and I’ve tried to tweek it. But, I think I can do a better job tweeking it now, since I have table damping.

  • I didn’t use the keyboard controls, perhaps it would have helped, but I found it extremely difficult to sink shots.

Okay. I hope it’s that you aren’t used to the controls. Iows, maybe practice is required. I’m not really having a problem with that part, but it could be something else.

Gauging force was also difficult. Perhaps a “force” meter in a corner, that grows with the cursor distance from the cue so you can get an idea of how much force will be applied.

You’re the second person with this idea. I’m going to strongly consider adding this, because I think it’s a good idea!

  • A “replay” when you sink a shot would be cool. The orthographic projection is best for taking shots, but it would be awesome to see the shot replayed in perspective.

I’m with you. That’s more difficult than you think, though, because of timing consideration. At least, that’s what I surmise.

Hope that helps!

Great help, yakuza!

  • One other point I forgot to make. I’m guessing you set the initial window size based off of the users desktop settings. Well, I run dual monitors off my Radeon, so it drew some wide-screen looking window. This isn’t necessarily a problem, I just wanted you to know what happens when it is run on a system with a virtual 2048x768 display spread over 2 monitors.

Hey, thanks! I’ve found that the biggest difficulty doing this game is making it compatible with all of the various machine configurations.

There must be a better way to manage this!

Thanks again.

The loop is a timed loop, so it definitely should not do that. I’m scratching my head trying to think what it could be?

Is it timed on wall-clock time, or timed on # of frames? Because if I’m getting double your FPS, perhaps that’s the problem.

You’re the second person with this idea. I’m going to strongly consider adding this, because I think it’s a good idea!

I think it’s a good idea. Otherwise there is no way to have a consistent idea of how much force you are using.

I’m with you. That’s more difficult than you think, though, because of timing consideration. At least, that’s what I surmise.

Well, I’m no programming expert, so I don’t know how hard this would be to implement. But it seems you could record the state of the table for a given shot, and record the angle and force of the shot. Then it seems it wouldn’t (shouldn’t? hehe) be too hard to just recreate the shot, at whatever timing you wanted. It could be slow-motion even. Then revert back to the state after the shot and return to ortho mode for the next shot.

Like I said, implementation is probably a lot harder than I made it sound above, but maybe I can help trigger some ideas.

Glad my feedback helped!

Is it timed on wall-clock time, or timed on # of frames? Because if I’m getting double your FPS, perhaps that’s the problem.

It should be frame rate independent. Iows, it goes by the clock. That’s why I’m scratching my head.

I run the game on two machines here, one at 60 fps the other at 75 fps, but I also had it working at about 0.5 fps, and all timed correctly.

Well, I’m no programming expert, so I don’t know how hard this would be to implement. But it seems you could record the state of the table for a given shot, and record the angle and force of the shot. Then it seems it wouldn’t (shouldn’t? hehe) be too hard to just recreate the shot, at whatever timing you wanted. It could be slow-motion even. Then revert back to the state after the shot and return to ortho mode for the next shot.

That’s the way I’d do it, but I have my doubts, since I think frame rate can make a difference, just by the way I wrote the game. If the physics were pure, then it’d work, but there are a few fixes in there to take care of tough cases.

I’ll just write it down as a possibility for now!

Like I said, implementation is probably a lot harder than I made it sound above, but maybe I can help trigger some ideas.

One of the things I’m looking for!

Sounds good, let me know when you need testers for the next version.

I just played your game for little while longer, and got more accurate with my shots. Like you said, practice helped a lot. I was also hitting the shots too hard, which in my mind is even further evidence of the need for a “Force-o-meter”.

For the Replay all you have to do is the folowing

0.) Save the state of the balls on the pool table, power and angle before every shot.

When the user clicks on replay:

1.) Save the current state of the pool table.
2.) Load the last state of the pool table.
3.) Instead of grabing the angle and power from the mouse/keyboard, use the saved angle and power that was saved with the state of the pool table.

Even if you have tweeked the physics in the HitCueBall function the inital parameters that were used for the shot will be the same.

Hope this helps.

Hi, not the graphics!! But, since you called your game PoolShark, why not groove on over to this site and listen to the track PoolShark … Rob “bucket” Hingley was in a band here (in the UK) during the 80’s. I was the mixing/recording guy then!)

http://www.vielklang.de/artists/toasters/disco/index.en.html

Then click on History Book LP and you get to the track list!

Ska music! Raw!

Enjoy!

Well, I do 3D graphics too!

Rob.

Originally posted by Rob Fletcher:
Hi, not the graphics!! But, since you called your game PoolShark, why not groove on over to this site and listen to the track PoolShark … Rob “bucket” Hingley was in a band here (in the UK) during the 80’s. I was the mixing/recording guy then!)

http://www.vielklang.de/artists/toasters/disco/index.en.html

Then click on History Book LP and you get to the track list!

Ska music! Raw!

Enjoy!

Well, I do 3D graphics too!

Rob.

I know this is an exceedingly late response, but somehow this popped into my head, and I recalled your link. I was so busy at the time I wasn’t able to fully acknowledge it.

Writing music and putting together a band is something that I think most of us have drempt of. Hats of to you.

Thanks for the link!