KBillar project is a 3D billiard game played over multiple surfaces.
KBillar is a billiard game in which everything is user-definable: the table, borders, ball properties, gravity, etc. The user can choose to play billiards on surfaces such as a sphere, a cylinder, or a torus, or in any map which can be expressed as z(x,y). To parse complex mathematical maps, KBillar uses methods from Kalamaris.
KBillar uses a sophisticated 3D interface to make the experience more interesting and also uses a KDE user interface.
To parse complex mathematical maps, KBillar uses methods from Kalamaris.
Here are some key features of "KBillar":
KBillar allows the user to play billiard on:
· A Sphere
· A Cylinder
· A Torus
· Any z(x,y) function like z(x,y)=0 (the usual, flat table), z(x,y)=cos(y) ( a "wave" table), z(x,y)=Cos(x)*Sin(y), or whatever (see the screenshots for some eye-candy).
· The user can define his own borders for the tables, so that you can play billiard on a square table, a circular table, a star table, etc. You can even play billiard in a maze, and also, it's possible to mix different surfaces with each of these (and others) borders. The possibilities are infinite ! The format of the files that define a border is so easy that everyone can add its own borders.
· The state of the balls can be saved to continue a game later or to generate a special case manually and start from a well-known position.
· There's even no need for all balls to be the same size. You can define the radius of each ball.
· There's a mode of earth simulation where balls are shown as satellites above earth, and you can play billiard with satellites :-).
· The detail level is configurable for those with less CPU power. Textures can be enabled/disabled, and numerical steps can be adjusted for more/less precise calculations.
· Be a ball yourself ! There's a mode in which you _are_ the ball and you can rotate around the table. Ever wanted to know how a billiard ball feel ? :-)
· There's also special effort in making KBillar as real as possible by using phisically correct equations to simulate the movements and hits.
· libgmp library for arbitrary precision numbers
· The Qt library compiled with the opengl module