Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > 3a7a698726032bed3520e38ece35253b > files > 95

billiards-0.4.1-3.fc18.i686.rpm

Billiards 0.4.1

Copyright (C) 2005-2012 Dimitris Papavasileiou <dpapavas@gmail.com>

Introduction
============

Billiards is a free simulator for the game of billiards.  It can be
used to practice eightball, ninball and carom billiards on your
own or against your friends. It is also designed to be customizable
enough to allow one to tailor the simulator to his needs (to implement
new games for instance or to study the physics of the game by fiddling
with the physical properties of the equipment, setting up shots or
plotting ball trajectories, velocities and spin).

As a game Billiards is currently fairly stable and complete.  It
features most of the effects one encounters in a real billiards table.
You can apply english, knock balls off the table, perform masse shots
by elevating the cue and even miscue.  These features are not
`imitated' by, for example, artificially curving the path of the cue
ball when the cue is elevated.  They are a result of the physics
model employed by the simulator.  This leads me to believe that this
model is fairly accurate although I'd love to hear from more
experienced players on the subject.  The only flaw I can see in the
model so far is that it doesn't allow you to jump the cue ball by
elevating the cue and using bottom english.  This is due to the fact
that all objects in Billiards are considered completely rigid I
believe.  The elasticity of the cue tip should be taken into account
to get jump shots to work and elasticity may play an important role in
other cases like ball-cushion collisions as well.  I'm not sure if ODE
has enough support for flexible bodies to correctly implement such
effects though.  This needs to be further looked into.

Also be warned that billiards is designed to be a billiards simulator
not a `video game' in the usual sense.  Upon running it you get a
table and a cue and you can start playing straight away with the
default configuration and without having to get past a bunch of pesky
menus.  I expect that most people will use it for practice so that,
most of the time, one will play with the same configuration.  This
configuration should therefore be set once and for all (or once and
for long at least).  Some settings (the number of players, or game
type for example) will probably change more often and for these there
are command-line switches to set them on the fly when loading
Billiards.

You can, nevertheless, still use a GUI if you prefer.  It is probably
more convenient when experimenting with different values for the
various parameters or when changing options on the fly.  In these
cases you can load your favorite browser after you've started
billiards, connect to http://127.0.0.1:29176/ and use the pages you'll
find to set up new games or control the current game.  Alternatively
you can start Billiards through the command billiards-browser which
will start Techne's very own browser and point it to the correct url.

System Requirements
===================

In terms of hardware you'll generally need a GPU with decent OpenGL
support.  It should support GLSL shaders (the GL_ARB_shader_objects,
GL_ARB_vertex_shader and GL_ARB_shader_objects extensions) framebuffer
objects (GL_EXT_framebuffer_object) and vertex buffer objects
(GL_ARB_vertex_buffer_object).  These capabilities are common even
among cheap and relatively old GPUs so that I consider it reasonable
to use them as a bare minimum (alas, supporting old hardware through
multiple code paths is a nightmare and Billiards, or rather the system
it runs on, is already complicated enough for one person to handle).

There's also a plain-GL cel shaded codepath which doesn't use the GLSL
and framebuffer object extensions (and it can be made not to use
vertex buffer objects as well) and this is the only way to go for ATI
users I'm afraid (let me know if I'm mistaken).  If someone can help
in getting the GLSL shaders to run on ATI hardware let me know.  This
codepath could actually also be used to run the game on older hardware
although that'll require some changes to the code to get it to compile
on such systems.  I'll look into it if it gets requested by users.

Installation
============

Billiards is implemented on top of Techne, a general purpose,
programmable physical simulator and renderer so make sure you've
installed Techne before trying to install Billiards.  You can get it
here:

https://savannah.nongnu.org/projects/techne/

Other than that Billiards also requires the Lua 5.1 compiler.
 
The file INSTALL contains generic information on how to configure,
compile and install Billiards.  Generally after unpacking the tarball
and changing to the created directory you should enter:

./configure
make

as usual.  Then type:

sudo make install

to install the game.  If all went well you can run the game by typing:

billiards

at the command prompt.  If you get shader errors or segmentation faults
try:

billiards -Otoon instead.

Bugs
====

Please report any bugs (and you'll probably encounter lots of them) at
the project's home page at :
   
   http://savannah.nongnu.org/projects/billiards

License
=======

Billiards is released under the terms of the GNU General Public
License. See COPYING for details.

The manual is distributed under the terms of the GNU Free
Documentation License.  See the appendix for details.

All Lua scripts found in the scripts/imagery, scripts/meshes and
scripts/polyhedra directories and their subdirectories are image data
or geometry data and are distributed under the terms of the GNU Free
Documentation License.  See the appendix in the manual for details.