
Aim is a tank-shooting game in which your player (or team of players)
selects a power and angle in order to hit your opponents. There is
currently only one weapon, but its size and behavior can be adjusted
in the setup, which is saved in a list named 'set'. The list 'set'
is generated by Aim when you save your favorite setup, but it isn't
required to run the game. You could just run the game on its
defaults, if you prefer to conserve your calculator's memory.
The program starts in the setup toolbar, where you can customize
your game to suit your moods or tastes.There are three dialog boxes for the many options in the configure menu, organized by player, firing options, and terrain. These affect gameplay and speed.
Press "Game: Start" for a new game. Alternatively, you can skip your startup toolbar altogether by creating a file named bypass". It doesn't matter what it is: a macro, data, expression, whatever. If it exists, and the setup is valid, the toolbar is bypassed and goes straight to the start. Of course, you should save the setup list before using this feature.
The current graph is stored, and the program begins to generate the
terrain. Once it is drawn, a popup will allow you to select a human
or any of the installed computer players in playing order. If no computer players are installed, the popup is not shown. When you are done, the game will draw the tanks in sequential order. From then on, the play will cycle from left to right. An arrow near the top of the screen will indicate the current player's tank and respond to the controls below:
Included Files
By referencing the playlist with the type number, such as with playlist[b[j,4]-1], you can obtain the name of any other installed player and even attempt to access it. The Thief strategy uses this trick to steal the strategies used by other players. A counter-strategy may check for the Thief's spoofing and then respond in its own favor.
For studying purposes, you may view the code for the computer
players included with aim.
Features \__
----------------/__\
Aim has many features including:
How to play \__
----------------/__\
This is just another Scorched Earth-style game in which you are out
to destroy all the other tanks until there is only one of your tanks
(or none) remain. You control your projectile's initial speed and
angle (where 0 degrees is straight up) in order to hit your target.
Quick reference: Keys
--------------------
F1 Shows the Quick Reference dialogs
UP and DOWN increase and decrease power
LEFT and RIGHT adjust your angle left and right
Enter or Space fires
ESC ends the round
[2nd]-QUIT immediately exits the game
APPS invokes the aim dialog box
Clear or F4 redraws the screen, clearing out the dead tanks
p saves a screen shot as a pic (screen capture)
(active only in human controls or after firing)
[STO->] saves a game (input an index name)
--------------------
Variables \__
----------------/__\
Aim is a stand-alone program. It does not require any other files
in order to perform most of its features, but the addition of the
other files enhances Aim's capabilities.
Program-Generated Files
User-Created Files
All the variables used within Aim itself are local in order to
minimize interference with any programs of variables you may already
have on your calculator. Another special feature put in Aim is the
ability to restore your graph image, that is, your functions, your
window settings, your Format settings, and even your drawings!
Although it will not harm your variables to press the [ON] button
during the game, it is preferrable for you to exit the program
normally. This way, Aim can restore your graph settings. For this
reason, I recommend using the built-in exits for the program.
Players \__
----------------/__\
Aim accepts external functions as calculator-based strategies.
Some examples of these strategies have been included in this
version of Aim. I have provided a quick description of them for
reference and to provide ideas for your own strategies.
A strategy is installed when the name of the function is saved
in the playlist. Aim uses this list to find strategy functions.
The strategies currently available for Aim are described below:
Developers \__
---------------/__\
Aim computer players receive five parameters, namely, the data
created by saving a game. The variables are as follows:
Aim also asks the function for a name by sending it a 1 for each
variable, i.e., filename(1,1,1,1,1). Simply testing the type of
the first paremeter to see if it is not a list will be sufficient for
Aim. The name entered here will be what appears in the select player
type popup at the beginning of the game. I suggest adding credit
information as comments in the heading of your function.
1=Speed Bump, 2=Hillside, 3=Mountain, 4=Sky's The Limit
1=Jagged, 2=Narrow, 3=Normal, 4=Wide
1=None, 2=Wrap Around, 3=Rubber
1=Human, 2,3,...,n=#(playlist[n-1])
History \__
---------------/__\
* some older TI-92 versions of Aim require the pic
war and the subroutine
screen()
-Aim was created on the TI-85.-
Dec 94
Only 1 player
Bar controls
Used pics for everything
Jan 95
Added projectile equations
Line-based terrain
Apr 95
Added piecewise equation: Terra
May 95
Added 2 sine-based functions:
Terr2 and Terr3
Used two players
Bar controls for each player
Sep 95
More sine terrains
Added wind features
Feb 96
Dot-angle controls
Terrain generator
Unlimited players
Player data stored in a matrix
Apr 96
Calculator memory lost
Rewrote Aim
Built-in setup
QuickRefresh: Saved terrain as a pic
Improved projectile calculations
*Oct 96
Rewrote Aim for the TI-92
Altered scaling to fit screen
Separate menu control system
Added Setup
Computer players
Borders
Tank patterns (10)
Sept 97
Dual control design; [APPS]
Aug 97
AutoRefresh added
Screen capture; save as pics
Oct 97
Added divots:
QuickRefresh is now obsolete
Nov/Dec 97
Moving turrets
Digital controls
Jan 98
Got a Graphlink!
40 tank patterns
Feb 20, 1998
Added wind
June 24, 1998
Control help: Use F1 to view keyboard commands
The tanks fall down terrain
1999-2000 (history fuzzy since the homepage was not online)
Ported ti-85 version to TI-89
Added some TI-92 features including patterns and new terrain generator
Added some new calculator players
Feb 2001
Rewrote much of Aim, ported TI-92 version to TI-89
Animated falling tanks
Moved Calculator player to an external function
Added more external calculator players ported from TI-86 version of Aim
Dummy - Picks a random power and angle
Persistent - Like calc, but more stubborn
March/April 2001
Working on external player SDK;
Added new external players
Direct - Relies on direct line-of-sight warfare
Bouncer - Uses Rubber walls to bounce stuff off the ceiling
May 2001
Porting for TI-92+; fixing miscellaneous cross-compatibility bugs
Added two more external players
Thief - Steals the strategies used by other tanks
Bigot - Prefers targeting human players
Little was done to the code in the meantime; there was not much
to fix and even less in terms of new things to add to it.
Much consideration was placed on the desire to make the interface
for user-created strategies to be easier, but little was done about it.
March 2003
Improved error checking from dialog boxes; Now it handles the
occasional accidental ALPHA locked text entry more gracefully.
This became a problem after the newer AMS software automatically
turned the ALPHA lock on in dialogs.
Remedied a problem in which the angle controls were too sluggish
by slowing down the inner getkey() loop. Very ironic.
April 2003
Cleaned up program code somewhat; preparing for big rewrites
Reduced program size by about 500; program now 9984 bytes on calc
Credits \__
---------------/__\
I wish to thank Wendell Hicken, the creator of the real Scorched
Earth game for providing such a great game on which the concept
for this one is based. Also, I must thank TI for providing me the
wealth of information from their manuals about programming their
calculators. I also wish to thank all my teachers who helped me
achieve new things.