


                             V  E  R  T  I  G  O

                                 version 0.94
                              3rd September 1998


                             (C) Matthew Shepcar



    Health and Safety Warning -------------------------------------------

    This game can cause extreme frustration and anger and under certain
    conditions may lead to insanity.

    Do not play Vertigo in places with brick walls or concrete floors
    and stay well clear of hammers and other calculator bashing equipment
    just in case the frustration becomes too much for you to handle.

    You have been warned... :)


    Introduction --------------------------------------------------------

    Vertigo is a game of skill for the TI-82, 83, 85 and 86 calculators.
    The aim is simple: to guide your ball to the gem stone on each of the
    fifty levels.   The levels are split into five worlds and to complete
    the game you must win a challenge mode game on each.

    The levels are displayed from an isometric 3D view and on the TI-85
    and 86 they are shown in greyscale.   Unfortunately the screen on
    TI-82 and 83 calculators is quite small and is too slow for greyscale
    to be effective and so the game may be harder simply because the 
    display isn't as clear.


    Loading the game ----------------------------------------------------

    Transfer the program to your calculator in the normal way.  Make sure
    you install the version correct for your calculator!   Versions
    with and without the level editor are included for each (the level
    editor is not separate due to heavy dependence on the large 3D and
    maths routines from the game code).

    TI-82: The game should be run under ASH 3 or CrASH
           It probably won't recognise the first world installed after
           the program itself under ASH 3.1 at the moment.

    TI-83: Vertigo may be run using ZASMLOAD or from AShell or SOS.

    TI-85: ZShell format is used and the game may be run under ZShell,
           PhatOS, Rigel or Usgard.   From 1 to 1.5k of free memory
           will be required for the greyscale buffer. **If the program
           simply refuses to run it requires more free space**

    TI-86: You can start the game by typing Asm(vertigo or from a shell
           such as Rascall.   Don't try using any of the other versions
           under an emulator shell because they WILL NOT WORK!!! =)

    Once you've got the game up and running you'll see the main menu
    where you can choose the type of game and the world you wish to play
    or enter the editor (if installed).


    Playing the Game! ---------------------------------------------------

    Once you're in the game (I suggest you start in practice mode) you'll
    see your ball appear at the starting position.   There will also be
    a gem somewhere on the level that you have to collect before your
    time runs out.   The keys are as follows:

        2nd - Move north-west           Right - Move north-east
           x   - Move south-east     Down  - Move south-west

    These keys can take a little bit of getting used to but, because of
    the isometric view, this is really the best key setup for ease of
    playing.  *REALLY IT IS*.  It is generally easier to play if you use
    four fingers rather than two for the keys because you often need to
    'brake' by pushing the opposite direction to the one you're currently
    going in.   With practice you'll find you can play just as easily using
    one thumb for each key pair.

    There is the option available from the main menu to change the keys
    if you really do not like them though.   These keys will be saved
    for the next time you run Vertigo (unless using ZASMLOAD on the
    TI-83).   The keys you set will be active in the game AND the level
    editor.

    Additionally the following functions are available in the game (keys
    for the TI-82 and 83 are shown in square brackets):

        MORE [STAT]             - Pause
        EXIT [DEL]              - Exit game
        F1 [Y=]                 - Toggle flashing ball
        F2 [WINDOW]             - Invert ball colour
        F5 [GRAPH]              - Commit SUICIDE :)
        +                       - Skip level    (practice mode)
        -                       - Back a level      "      "

    Practice mode allows you to retry a level as many times as you like.
    If you have played a world before you will be able to skip any of
    the levels you have already completed by pressing the + key.  Use
    the - key to go back a level.


    Challenge Mode Rules ------------------------------------------------

    Starting on the first level with four lives you must complete each
    of the ten levels in the world.   Every time you fall off the playing
    field, get hit by the enemy ball or run out of time, you will lose a
    life.   Points are awarded at the end of each level for the time left
    on the clock.

    A challenge game is NOT EASY to complete!!  You will need to practice
    the levels many times especially on the later worlds.  Some levels
    are hard to complete even after many attempts in practice mode but
    eventually you'll be able to complete them all... MAYBE.


    COMING SOON: Time Trial Mode ---------------------------------------

    In time trial mode you are tested on the speed at which you can
    complete each level (that is IF you can complete them).   Starting
    on the first level of the world you must dash through every level
    as fast as possible and try to beat your best times.   Your overall
    time will also be recorded.

    You will be penalised by 10 seconds every time you die.   If you fail
    a level 3 times you will be advanced to the next level with a total
    penalty of 60 seconds.   Therefore this mode allows you to play any
    of the levels in a world even if you don't complete all the levels
    preceding it.


    COMING SOON: TWO PLAYER LINK MODE -----------------------------------

    Link two calculators with Vertigo and you will be presented with a
    new challenge: a mad dash to the jewel on every level with the added
    difficulty of an opponent making for the same goal!   Not only will
    you have the usual problems of ricocheting off walls and rolling down
    slopes but you'll have to avoid bouncing off of your opponent's ball
    or being pushed off the level!

    In magnetic marbles mode you will have the ability to attract or
    repel your opponent's marble to and from your own with the aim of
    pulling or pushing him over the edge.   How long can you possibly
    survive such frenzied battle with an ever decreasing energy supply for
    your electro magnetic generator?   Fortunately power stones appear from
    time to time but of course: first come, first served!

    It's amazing what you think up at 4 o'clock in the morning.. :)

    This could be ready in the next version seeing as I now have some
    working link routines..


    The Level Editor ----------------------------------------------------

    You may have noticed that the standard 50 levels are quite hard..
    particularly in challenge mode!   You might want to try making your
    own easier worlds to play and share with others.   Or if you're
    really good at the game or want to set a nasty challenge for your
    friends you can create a fiendishly difficult world! :)

    The editor has 5 modes of operation each of which is detailed below.
    These keys operate in all 5 modes (TI-82 and 83 keys shown in square
    brackets):

        +/-                     - Change level
        MORE [STAT]             - Change editor mode

    LAND MODE - This is the mode the editor starts up in and allows you
    to modify the landscape.  The keys in this mode are as follows:

        2nd, x, down, right     - Move cursor
        F1 [Y=]                 - Make block flat
        F2 [WINDOW]             - Make block sloping
        F3 [ZOOM]               - Blank block
        F4/F5 [TRACE/GRAPH]     - Raise/lower vertex
        F4/F5 with ALPHA        - Fine adjust vertex height

    Making levels for Vertigo isn't entirely straightforward.  There are
    certain restrictions on what you can do due to the way the levels are
    stored.   Basically, each of the 121 points making up the grid is
    assigned a type and a height which determine how it should be drawn.
    The cursor can be moved to any of these points to change the types
    and heights.   The type of a point determines how the block of land
    it belongs to is drawn.

    There are three types of block: blank, flat & sloping.  The type of the
    block is determined by the LEFTMOST point of the block.  Positioning the
    cursor over any point will display the block type in the top right hand
    corner of the screen as Blk, Flt or Slp. 

    Flat blocks have a flat surface, the height of which is determined by
    the height of its left-most point (ie the same point which you must set
    to make the block flat).

    Sloping blocks can have a sloping or also a flat surface.   The block
    of land simply connects its four points and the height at each point
    can be set separately unlike a flat block.   Again, the left-most point
    is set to the S type to make it sloping.   The types of the other three
    points don't matter but adjusting their heights will affect the slope.

    Blank blocks are simply holes in the landscape.   The point itself can
    still have a height, however, since any sloping blocks to which the
    point also belongs will require a height value.

    That should help you understand how to construct a level.   Some useful
    facts follow:

     * If two flat platforms are placed next to each other the ball will
       only be able to move from one to other if the height difference is
       0 or 1.   You have to use the fine tuning key (ALPHA) to adjust the
       height by 1 - the usual adjustment is 4.

     * A height value of 1 is equivalent to a quarter of a pixel!   It is
       very hard to see such small differences in height between blocks
       so make good use of the numeric representation of the height in the
       top right hand corner.

    START MODE - In this mode you can set the starting position for the
    level using the usual cursor movement keys:

        2nd, x, down, right     - Move cursor
        ALPHA                   - Hold to fine adjust

    NB Custom keys may be used for moving the cursor.

    The starting coordinates are shown at the top right along with the
    height at that point.

    JEWEL MODE - Set the jewel's position in the same way as the starting
    position in this mode.

    PATH MODE - In this mode you can define a path for the jewel or enemy
    ball to follow.   These are the controls:

        2nd, x, down, right     - Move waypoint
        ALPHA                   - Hold to fine adjust
        F1 [Y=]                 - Toggle jewel/enemy
        F2 [WINDOW]             - Add waypoint
        F3 [ZOOM]               - Delete waypoint
        F4 [TRACE]              - Select previous waypoint
        F5 [GRAPH]              - Select next waypoint

    A path is made up of a number of waypoints and the ball or jewel travels
    between these.   Only one moving item can be on a level and so there is
    only one path per level.   Press F1 to select whether you wish the enemy
    ball or the jewel to follow this path.

    On a new level or a level with no moving items there are no waypoints.
    If you wish to remove a moving item you must delete all waypoints.   To
    add a moving enemy ball to a new level you must first add a waypoint
    by pressing F2, position this waypoint where you would like the ball
    to start and then continue placing waypoints as required.

    Paths may include up to 60 waypoints so some very complicated movement
    patterns can be created but remember that the more waypoints you use
    the larger your level will become!

    OPTIONS MODE - In this mode the following functions are available:

        up, down                - Adjust timelimit for level
        F1 [Y=]                 - Edit level name
        F2 [WINDOW]             - Edit world name
        F4 [TRACE]              - Insert new level
        F5 [GRAPH]              - Delete level

    A timelimit must be set for every level.  A new level has a default
    timelimit of 300.

    When editing the level name you must press DEL to erase the existing
    name before typing a new one.   A name may only include the letters
    A-Z.   The same is true of world names.

    Inserting a new level moves all the levels including the current one up
    and inserts a new blank level.   If you wish to add a level to the end
    of a world simply select the last level and then press + to append a
    blank level.


    Send menu option ----------------------------------------------------

    This feature allows worlds to be transferred between calculators which
    do not necessarily support a direct transfer via the LINK menu (eg
    TI-83 to TI-86).   It is very simple to operate: simply place both
    calculators on Vertigo's main menu screen and, on the calculator you
    wish to send from, select the world to transfer and press the 'X'
    button!   The other calculator will then receive the world.


    VertLCon ------------------------------------------------------------

    If you download levels off of the Internet or from a friend's computer
    and they are in the wrong format for your calculator you can convert
    them with this little utility.   For example, if you have an 85S file
    and you wish to convert it to an 83P file you can do so.   The syntax
    is as follows:

        VERTLCON <target> <source file(s)>

    The target may be one of 82, 83, 85 or 86.   For example, to convert
    all the standard worlds from 86S format to 82P format you would type:

        VERTLCON 82 vwld*.86s

    That's all there is to it! :)


    Version History -----------------------------------------------------

     v0.8 - 13th July   [86]

        Initial release (TI-86 only)

     v0.9 - 14th July   [83/86]

        Option to view scores from main menu added
        TI-83 version also released

     v0.91 - 15th July  [83/86]

        Customisable keys added
        New title logo

     v0.92 - 18th July  [82/83/86]

        Suicide button added (it is possible to get trapped on some levels)
        You can now create new worlds if no worlds are installed :)
        TI-82 version released!!

     v0.93 - 20th July  [82/83/85/86]

        Fixed serious TI-82 bug which caused system vars to be corrupted
         (window range etc.)
        Acceleration constant increased - world 2 level 4 now possible :)
        Contrast increased by 2 settings on loading on the 85/86
        Down can now be used as a custom key and minus can't. *grin*
        TI-85 version released (without editor)
        Source code released: ENJOY!! :)

     v0.94 - 3rd September  [82/83/85/86]

        Fixed high score table initialisation for new worlds (no more fuzzy
         patterns :)
        Wrote VertLCon 0.5
        Increased bounciness constant - world 2 level 2 now easier again
        Fixed bug which caused the ball to roll UP very steep slopes
        Added link routines to allow world transfer from main menu
        Got the TI-85 level editor working :)


    Known Bugs ----------------------------------------------------------

    There are currently a couple of bugs in Vertigo which I will fix when
    I have time. :)

        The ball's centre and not its surface bounces on the walls.

        Blocks at the back of the board can be made so tall that they
        go off the screen - the drawing routines do not allow this!!

    Of course, let me know if you find any other bugs!


    Contact Information -------------------------------------------------

    If you have any comments, suggestions or queries about Vertigo then
    don't hesitate to contact me by email, ICQ or IRC:

        Email: M@Shepcar.force9.co.uk
        ICQ: UIN 1553355                         \ I'm online LATE
        IRC: SCaBBy on EFNET's #ti & #ti-files   / at night (GMT)
  
    I hope you enjoy playing Vertigo as much I enjoyed coding it!!  Try
    not to get quite as frustrated as I did though... 

    Matthew Shepcar
