|
NAMEflying - pool/snooker/carrom/hockey/curling simulatorSYNOPSISflying [-options ...]DESCRIPTIONflying was actually meant to be a test program to implement some classes to control flying objects on the screen. After the classes were implemented there was the need of some real tests and a game of billard was just the first idea. By now, many subgame-classes are already more or less completely defined. They can either be selected by the options or by making a link to the original with a special name. Unfortunately having so many subclasses means that the classes themselves can't be too complicated. (There's just too less time in the world :( ) Therefore the games don't have any rules yet. This means you have to play fair and watch your opponent.Anyway, the main thing was animation and controlling and that works fine, especially with the -deluxe version of pool-billard. Since the main intention was to get an excellent billard game, I will mainly describe the pool-version in the following pages. The other subgames are similar to control (and there are no special rules anyway). STATUSThe flying package contains many subgames, that are more or less in an experimental stage. Here is a tiny summary of version 6Pool, Snooker, CannonAs already mentioned above, pool is the most comprehensive subgame, especially due to the deluxe version. It is very playable even though spin is not implemented. Rules will have to be added in later revision.CarromVery similar to pool, just with another background (and more friction)Hockeyexperimental air-hockey implementation (see option -in2 to set the display for the input-pointer for the second player), which is worth looking at because of the unconventional control mechanism. The players have to select one of the big discs before they can play.Curlingexperimental curling implementation, which is even more worth to look at because of the control: Hold the left button to take one curl. Move it in the right direction and let it go...CONTROLSThe pointer (or pointers) run fully simultaenously and are like the hand of the players. At every time it's possible to pick one of the objects to select it as the cue-object (It should better be the cueball, if you don't want to lose some friends). After you have aimed in the desired direction there are 2 ways to play the ball:
After shooting, you can only wait and see what will happen. By the way, there actually are some tiny rules implemented. The billard classes know, that cueballs shouldn't stay in the pocket after a shot. When they are back on the table, you can roll them to the position you like by using the right pointer button. By the way, if you picked the wrong ball as the cue-object, you can get rid of it by just clicking the right button once. To overcome the hurdle of the mouse resolution, you can use the middle pointer button for fine adjustments. With that help, you can actually position the mouse in fractions of pixels. To make shoting a thrill, you've got to release the button again for shoting. (The fraction is stored in that case) Summary
Additional Key-Controls
OPTIONSX11
ADDITIONAL
DEBUG
There are many additional debugging options, when the executable was compiled for debugging. They are shown when no argument or -h is given at the commandline. You can try flying -pool -deluxe Intro (if you're lucky) to see the some information about the pixmap-usage. FILES
SEE ALSOX(1), xhost(1)BUGSAs I told, this is a very uncompleted version without any rules, but you can perfectly play billard, so why worrying ...The friction is not exactly integrated in the computations, since that would have cost too much performance. Instead the objects move without friction for a given amount of time. Then their speed is re-adjusted. When the granularity gets smaller, the friction gets more exact. But that works against a caching-mechanism and therefore would extremely increase computation time, if many objects are on the table. Spin is not implemented There seem to be problems, when moving objects directly with the pointer (like in hockey or curling or with the right button in billard) when the host is not fast enough. At least I can not use it on my 386. There are some minor problems when drawing static parts of the screen. Sometimes they are misplaced for 1 pixel, e.g. there is a one pixel gap below the line representing the pocket There is a problem in the start-shot of carrom. Due to the weight of the striker, the other stones might get pushed so close together, that the collision detection will fail and objects will overlap (or the algorithm gets stuck in a loop, only to be escaped by entering 'q'). Sorry for that. Usually, the program needs it's private colormap. To get a nicer appearance, a black OverrideRedirect window is placed above everything else when the -root option is given. This confuses some window managers and a struggle for the colormap begins. If anythings else fails, flying will grab the server and installs the map on it's own ... COPYRIGHTCopyright 1995, Helmut Hoenig, Mettmann/Bad Camberg
Permission to use, copy, modify, and distribute this software for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies.
Visit the GSP FreeBSD Man Page Interface. |