
 F i d d l e  .....  A game of visualization and logic for VGA MS-DOS systems
 ----------------------------------------------------------------------------
 by Doug Beeferman, January 1992.       See end of file for distribution info


Please ignore the program's end screen contact info!
As of 1997, this software is distributed by Palmetto Bay Publishing
WWW: http://www.cs.cmu.edu/~dougb/pb
Email: dougb+@cs.cmu.edu


O V E R V I E W

You've probably seen the likeness of this game in the tangible world, a plastic
puzzle with a million pieces that challenged you to arrange the pieces into a
square.  Soon after you picked it up you probably became miserably frustrated.
Don't let bad memories scare you from Fiddle, because although this game has
a goal in common with its Toys'R'Us counterpart, its method of play makes
it a new challenge entirely.

Completion of Fiddle with a high score requires a fusion of visualization
skill and the ability to logically break down a problem.  You will win it
primarily with technique rather than trial and error.


S T A R T I N G   F I D D L E

Fiddle requires a VGA 640x480 display.  An enhanced keyboard is helpful but
not required.  Switch to the directory to which you unzipped FIDDLE.ZIP and
execute the batch file FID.BAT by simply typing "FID".  On machines with
MS-DOS 4.0 or higher, the "typematic" speed will be changed to make keyboard
repeats a bit faster.  The game will then load.

Type in your first name at the login prompt.  Your entry will serve as a
filename under which to save your progress.  (If your name happens to be CON,
use Conrad instead.  If it's PRN, well, get your name changed!)


P L A Y I N G   T H E   G A M E

At the left of the screen is the levels bar.  Fiddle is comprised of
twenty-six levels lettered A through Z, all of which you must complete in
order to win the game.  After you complete a level, a checkmark and the word
"DONE" will appear next to that level in the levels bar.  Your score, printed
at the bottom left of the screen, starts at zero and increases after each
level you complete by the number of points shown in the appropriate row of the
levels bar.

The selection screen is the game's "lobby".  From here you can choose any of
the uncompleted levels to work on.  Newcomers should start with level A;  do
this by simply hitting "A".  During the course of this "orientation" level,
bonus points will NOT be deducted every 12 seconds as they will be for
subsequent levels.

Each level is a collection of pieces which you must slide and rotate to make a
square.  As you can see, level A has three pieces.  In the other levels there
will be as many as nine.  There is important information printed above and
below the game grid.  Above is the letter of the level you're working on, the
name of the level, and its dimensions.  Below is the legend to which you will
refer in order to select pieces to manipulate.

Level A, "Orientation", is 6x6.  This means that the completed square will
have 6 rows of 6 unit squares on the game grid.  All of the pieces provided
with each level go into exactly completing the square; there are never any
extra pieces or unit squares.

Select pieces to move using the number keys as shown in the legend.  The red
piece is always number 1, the blue piece is number 2, the green piece is number
3, and so on (you'll meet the rest of the colors later.)  The selected piece
flashes, and its corresponding legend entry is boxed.  (If the flashing of the
pieces distracts you, hit "0".)

You can do two operations on a selected piece:  translation (sliding) and
rotation.  These are radically different operations, of course.  Look closely
at any piece and you will see that one of its unit squares is in fact a
circle with an X through it.  This unit square is the piece's CENTER OF
ROTATION.

Sliding a piece moves every unit square in a piece;  rotating moves every
square EXCEPT the center of rotation.  Rotating a piece clockwise moves every
unit square in a piece 90 degrees clockwise WITH RESPECT TO THE CENTER OF
ROTATION, and rotating counterclockwise moves every unit square
counterclockwise with respect to the center of rotation.

To slide the selected piece up, down, left, and right, hit the corresponding
arrow keys.  To rotate the piece clockwise, hit the "PageDn" key, or "X".  To
rotate the piece counterclockwise, hit the "End" key, or "Z".  If you're using
an extended keyboard you'll find that things will go smoothly if you use your
right hand to access the arrow keys, PageDn, and End, and your left hand to
make selections using the row of number keys.  With extended keyboards you can
slide pieces faster (3 movements at a time) by holding down the ALT key while
you hit the arrow keys.  (Your left thumb on the left ALT key will work well
for this purpose.)  These key commands are briefly described at the top of
the screen for your reference.

You can only rotate or slide a piece IF THERE IS AVAILABLE ROOM FOR THE
destination piece.  (If you attempt an illegal move, the border will flash.)
Thus a piece cannot slide through walls or other pieces, and it cannot be
rotated if its new image would take up a square that is already occupied.  It
is VERY important to realize that it is still possible to rotate THROUGH
things.  As long as there is room for a piece's new image, it does not matter
what the surroundings look like.  For example, suppose the "@" and "X"
characters in the diagram of two pieces below represent unit squares, where the "X" characters are the centers of rotation.  If the L-shaped piece in
[1] is rotated once clockwise, then the new image will be that of [2]:

                     @@@@@              @@@@@
                   @ @@X@@            @ @@X@@
                   @ @@@@@            @ @@@@@
                 @@X                  X@@

                    [1]                 [2]

This concept is critical in more than half of Fiddle's levels, and it's part
of what makes the game different from anything in the physical realm.

Take time to play around with level A until you get the hang of the keys.  You
should find it fairly easy to solve.  Once you do you'll be praised and
returned to the selection screen.  You cannot return to a level you've solved,
because you only get one shot at doing it quickly.  (With level A, your
quickness doesn't matter.)  You can put an unsolved level on "pause" at any
time by hitting ESC, and you can come back to it at any time; if you come back
to it during the same session the pieces will be as you left them, but if it's
a later session they'll return to their default configuration.

Work through the levels in any order you choose, but be advised that they're
arranged in order of increasing difficulty; it's helpful to complete them in
roughly that order.  Completion of Z, for example, requires a few techniques
you'll use in earlier levels.

I've written the text file METHODS.TXT (included in FIDDLE.ZIP) to describe
systematic solutions to five of Fiddle's levels: E, M, T, W, and Y.  Most of
the levels can be solved systematically (that is, without having to rely on
trial and error), and the purpose of METHODS.TXT is to explain how this can be
so.  Print this file out if you intend to use it, especially for level Y.


S C O R I N G

You are awarded points for each level upon its completion.  The levels bar at
the left of the screen details the distribution of the 2000 possible points.
For each level you are awarded a fixed number of points and a variable number
of bonus points.  The bonus is equal to the fixed value minus one point for
every twelve seconds you spend solving the level, not to fall below zero.
(It makes no difference how fast your computer is, by the way.)

Level A is the orientation level and its 15 bonus points will be awarded to
you regardless of your speed.  If you finish every level your score will
therefore fall between 1015 and 2000.

        1600-2000       "EXCELLENT"
        1400-1599       "GOOD"
        1015-1399       "FAIR"

Your score will of course improve if you play the game under a new login after
finishing it once.  Even so, scores above 1900 are very hard to achieve.  (My
highest is 1953, but I'm at a rather unfair advantage.)  If you're a real
keyboard jockey, try to score higher than your year of birth. If you do,
notify me with your final score code.


T E C H N I Q U E

1.  The most primitive jigsaw puzzle method is try every possible pair of
    given pieces for a fit.  In Fiddle this will take a toll on your bonus
    score and will eventually drive you to intense frustration.  Instead,
    look through the pieces and decide first which MUST fit where.

2.  If the initial setup of a level seems to suggest something about the
    solution, e.g. if a piece cries out to be put in the center, go for it.
    There are few deliberate attempts to waste your time.  Maybe.

3.  Always know what the dimension of the completed puzzle square is to be.
    You'll know you're on the wrong track if the greatest dimension of your
    construction exceeds the square's. If one of the pieces has a dimension
    that matches the square's, you can build around it because its placement
    matters very little.

4.  Understand the center of rotation concept, since it plays a role in most
    of the levels.

5.  You cannot get "trapped" in this game because every operation has a well-
    defined inverse.  But that does NOT mean that clockwise and
    counterclockwise aren't distinct kinds of rotation.  In other words, you
    will need both the PageDn and the End keys to win certain levels.


S H A R E W A R E   N O T I C E

January 1, 1997

This game can be distributed freely (with all and only all files 
included in the .ZIP archive).  If you enjoy the game, you are 
encouraged to register.  You can do so by sending a check for 
$5, $12, or $15, made out to Palmetto Bay Publishing to the 
following address:

                Ŀ
                  Fiddle Registration       
                  PALMETTO BAY PUBLISHING   
                  40 Club Course Drive      
                  Hilton Head, SC  29928    
                

Registration at $12 or $15 entitles you to the following:

      1. Two popular Palmetto Bay logic puzzle games, 
         Cyberbox II and its predecessor, Cyberbox.
      2. a small puzzle game called Gripple.
      3. the source code in C to all of these programs.
      4. Support for my software over the Internet and mail.

Registration at $5 entitles you only to support for Fiddle.  
The price of the package including the additional software is $12
plus $3 materials and handling.  If you send only $12, you 
will be mailed a World Wide Web URL on which you can download 
the registered version.  If you send the full $15,
you will be mailed the software on 3.5" diskette.  You
can find a form for registering all of Palmetto Bay's software
on its Web home page at http://www.cs.cmu.edu/~dougb/pb/

I have changed addresses many times in the last few years.
If you have sent me a registration to my pre-Palmetto Bay
address and received no response, please let me know!  I
will gladly have the software sent out to you or refund your
donation.  Send me email at dougb+@cs.cmu.edu.  


A C K N O W L E D G M E N T S

Thanks to Dale G. Shields and Glenn W. Ulrich, both members of GEnie, for
their beta testing and support!

This program was compiled with Turbo C++, which is copyright (C) 1990 by and
is a registered trademark of Borland International, Inc.  "Fiddle" isn't a
registered trademark of anyone. In fact, it's an utterly stupid name,
especially since its definition ("to move something about aimlessly")
completely contradicts the intended spirit of this game.  I think "Complete
the Square" would have been better, and it would have made for some nifty
algebra jokes as well.  Too late to change now, I'm afraid... the end of the
documentation is near!

12-Jan-92
