Pooltool billiards simulator -- true physics included in an evolving game written in python

Before my eyesight went down and before my fingers became useless appendages, I spent many a wasted period of time playing billiards. Used to play straight pool, i.e., 14.1 and snooker. I stumbled across an effort to build a billiard simulator game in python considering the true physics of all the processes. The development considers cue ball actions including sliding, top-spin, back-spin, and english. You setup the power and stroke point to apply these motions to the cue ball. Cue ball and cloth interactions are included. Ball-to-ball collisions are also included. Ball and cushion interactions are modeled. The model runs in a realistic pool room environment. Computational logic like time to impact and ball collisions is also considered.

Game needs a lot more development but is really fun to play with even in it’s current state. All the code is included. A good opportunity to try to move it ahead according to what you might wish to do. Written by Evan Kiefl. Code is on git. I’ve compiled and run it. I’ve put a couple of refs below. In the discourse, the development of the various modes of ball travel is quite interesting. Maybe someone might enjoy looking at it. I thought this might be appropriate for a chat topic.

tom kosvic

https://discourse.panda3d.org/t/pooltool-a-sandbox-billiards-game-tool/27913
https://github.com/ekiefl/pooltool
https://pooltool.readthedocs.io/en/latest/getting_started/install.html

Have a look at foobilliard, it’s in the games: repo.

Installed"foobilliard" from games. But starting it requires entering “foobillard” at the terminal. I think the file name is installed in error (misspelled) in games repo.

After that I started looking at it. Problem is that clicking help from the gui screen throws a seg fault.

Still looking at it.

tom kosvic

Actually, I do see foobillard used interchangeably with foobilliard at many sites offered by search engines.

Huh? The package in the games repo is called foobillard and the executable also?!

https://build.opensuse.org/package/show/games/foobillard

foobillard-3.0a-33.47.x86_64.rpm

I just copy/pasted your print of foobilliard from message.

My error

Still trying to figure out help issue. I have all the mentioned prereqs installed but they all look to be much newer.

I might try installing from git to see if help works better from that.

tom kosvic

Most likely related to your repo “mess”, hard to tell from a mixed repo system.

For ref. I don’t think I have a mixed repo system. What I do have are many apps that I have compiled outside of zypper. see repos below.

If you had a few minutes to install foobillard and run it. After starting in terminal, esc opens the menu and if your help runs when mine throws seg that might give me some place to look for the issue. If you don’t have time, that’s fine.

tom kosvic

tom@mydesktop: ~ $ sudo zypper lr -p
Refreshing service 'NVIDIA'.
Refreshing service 'openSUSE'.
#  | Alias                      | Name                          | Enabled | GPG Check | Refresh | Priority
---+----------------------------+-------------------------------+---------+-----------+---------+---------
 1 | NVIDIA:repo-non-free       | repo-non-free                 | Yes     | (r ) Yes  | Yes     |   99
 2 | brave                      | brave                         | Yes     | (r ) Yes  | Yes     |   99
 3 | electronics                | electronics                   | Yes     | (r ) Yes  | Yes     |   99
 4 | ftp.gwdg.de-Essentials     | Packman Essentials Repository | Yes     | (r ) Yes  | Yes     |   99
 5 | games                      | games                         | Yes     | (r ) Yes  | Yes     |   99
 6 | graphics                   | graphics                      | Yes     | (r ) Yes  | Yes     |   99
 7 | openSUSE:repo-non-oss      | repo-non-oss                  | Yes     | (r ) Yes  | Yes     |   99
 8 | openSUSE:repo-openh264     | repo-openh264                 | Yes     | (r ) Yes  | Yes     |   99
 9 | openSUSE:repo-oss          | repo-oss                      | Yes     | (r ) Yes  | Yes     |   99
10 | openSUSE:repo-oss-debug    | repo-oss-debug                | No      | ----      | ----    |   99
11 | openSUSE:repo-oss-source   | repo-oss-source               | No      | ----      | ----    |   99
12 | openSUSE:update-tumbleweed | update-tumbleweed             | Yes     | (r ) Yes  | Yes     |   99
13 | packman_--all              | Packman -- complete           | Yes     | (r ) Yes  | Yes     |   99
14 | science                    | science                       | Yes     | (r ) Yes  | Yes     |   99
15 | vivaldi                    | vivaldi                       | Yes     | (r ) Yes  | Yes     |   99
tom@mydesktop: ~ $ 

This repo list is better as has URLs.

tom@mydesktop: ~ $ sudo zypper lr -pu
Refreshing service 'NVIDIA'.
Refreshing service 'openSUSE'.
#  | Alias                      | Name   | Enabled | GPG Check | Refresh | Priority | URI
---+----------------------------+--------+---------+-----------+---------+----------+----------------------------------------------------------------------------
 1 | NVIDIA:repo-non-free       | repo-> | Yes     | (r ) Yes  | Yes     |   99     | https://download.nvidia.com/opensuse/tumbleweed
 2 | brave                      | brave  | Yes     | (r ) Yes  | Yes     |   99     | https://brave-browser-rpm-release.s3.brave.com/x86_64
 3 | electronics                | elec-> | Yes     | (r ) Yes  | Yes     |   99     | https://download.opensuse.org/repositories/electronics/openSUSE_Tumbleweed/
 4 | ftp.gwdg.de-Essentials     | Pack-> | Yes     | (r ) Yes  | Yes     |   99     | http://ftp.fau.de/packman/suse/openSUSE_Tumbleweed/Essentials
 5 | games                      | games  | Yes     | (r ) Yes  | Yes     |   99     | https://download.opensuse.org/repositories/games/openSUSE_Tumbleweed/
 6 | graphics                   | grap-> | Yes     | (r ) Yes  | Yes     |   99     | https://download.opensuse.org/repositories/graphics/openSUSE_Tumbleweed/
 7 | openSUSE:repo-non-oss      | repo-> | Yes     | (r ) Yes  | Yes     |   99     | http://cdn.opensuse.org/tumbleweed/repo/non-oss
 8 | openSUSE:repo-openh264     | repo-> | Yes     | (r ) Yes  | Yes     |   99     | https://codecs.opensuse.org/openh264/openSUSE_Tumbleweed
 9 | openSUSE:repo-oss          | repo-> | Yes     | (r ) Yes  | Yes     |   99     | http://cdn.opensuse.org/tumbleweed/repo/oss
10 | openSUSE:repo-oss-debug    | repo-> | No      | ----      | ----    |   99     | http://cdn.opensuse.org/debug/tumbleweed/repo/oss
11 | openSUSE:repo-oss-source   | repo-> | No      | ----      | ----    |   99     | http://cdn.opensuse.org/source/tumbleweed/repo/oss
12 | openSUSE:update-tumbleweed | upda-> | Yes     | (r ) Yes  | Yes     |   99     | http://cdn.opensuse.org/update/tumbleweed
13 | packman_--all              | Pack-> | Yes     | (r ) Yes  | Yes     |   99     | http://ftp.fau.de/packman/suse/openSUSE_Tumbleweed/
14 | science                    | scie-> | Yes     | (r ) Yes  | Yes     |   99     | https://download.opensuse.org/repositories/science/openSUSE_Tumbleweed/
15 | vivaldi                    | viva-> | Yes     | (r ) Yes  | Yes     |   99     | https://repo.vivaldi.com/archive/rpm/x86_64
tom@mydesktop: ~ $ 

You do, your using development and third party repositories…

The default openSUSE ones are 7,9 and 12, then 8 and 1 (third party) are supported. Everything else is on your own dime so to speak :wink:

1 Like

Well that’s interesting. The science, graphics, electronics, etc are considered as not openSUSE repos.

But I get the repos from:

https://download.opensuse.org/repositories/graphics/openSUSE_Tumbleweed/

How is that considered a "mess"set of repos?

Yes. For a stable system you use only the repos that come with the install. That is what is tested and passed the testing.

@tckosvic no, never have been, those are development repositories, you can use them, but it’s on your own dime, if you have issues (like you seem to have…) then it’s on you to sort it out…

I have been using these repos since I first saw them, maybe a decade or more ago. I had been assuming that they just included more extensive package selections in specialized areas of my interests than were available in the standard repos. I do often find additional packages of interest in them.

If I see some new software reference in some article or forum on the internet that looks interesting and I wish to try it, I see if it is available in my repo list that includes all the referenced above repos. Sometimes it is in there.

If not, I then download the software and try compiling my own version.

I will continue doing what I have been doing. I don’t do production repetitive things over and over. My interests are in looking at new exploratory, for me, items that I like to try and learn from.

thanks for the clarifications. tom kosvic

@tckosvic but if not in the standard repositories, then all one needs to do is log into the openSUSE Build Service, find the development repository, then search for the application and on the left hit submit, select openSUSE:Factory, then hit the submit. At that point the maintainer can decide if they wish to push/maintain it…

1 Like

@malcolmlewis , per your response. If a maintainer decides to take the app on from the OBS submittal, does that work then fall into one of the repos, e.g., graphics that I have been referencing?

No, that’s where the applications are developed. If they agree, then it will appear in Tumbleweed once it passes through review etc. So that negates the need for the development repository.

Then once there, it can then also be submitted to Leap during the next release development process, if it is within the time line for package submission.

I think a thread or note outlining “suggested things to do if you are looking for an app that is not in the std repos” might be warranted. If there is such a thing, I’d like to be pointed to it.

thanks, tom kosvic

A general overview here;
https://en.opensuse.org/openSUSE:How_to_contribute_to_Factory

If the package is in a $HOME repo, it must be submitted to a development project…

1 Like

Word of caution on pooltool. In playing around with it, it locked my computer so that a restart was needed.