Copyright: JEK Software ©2001


Game Instructions
	Game Objects Keyboard Keys Commands Recording & Playback Editing Instructions Writing Your Own Levels   Revisions
This is a puzzle game. You must get your tank to the flag in every level. Your tank can move in four directions and can fire a laser that is used to move objects. The amount of moves and shots it takes to complete a level are recorded in a high score list. The scores are then compared with the your current “Global High Score” file.  You can get a current copy of the global high score file on LaserTank web site. If you beat one of the scores by making less moves to finish the level, then send me an e-mail with your “LaserTank.hs” file attached. I will update the website with your score; however, you will have to prove your score by recording the level and sending the playback file to me also.

LaserTank Version 4.0 has 2030 Levels to play. They are NOT in order of easy to hard, but the order I received them. So if you have played before then just start playing at the level that you left off at.  Also if a level is too hard then just skip the level, you can always play it later.  You can now set the program to skip the levels that you have already played. So you can always load level 1 and press F2 (new game) to play the levels that were not completed the first time through.

This game comes with a Level Editor so you can make more levels. The software program is HelpWare. You can use LaserTank for free, but I’m asking for your help. I want you to make a new level using the Level Editor, and send it to me. I will update the software every now and then and add the best of the levels that you send me.

You can E-mail & send your levels to me at: lasertank@pacbell.net

The LaserTank Web site can be found at:

http://www.jccontrols.net/laser

 There you can find the newest version of the game, more graphics files, & temp level files with more levels to play. Also you should get the latest Global High Score file as I will not be updating the software with it.


Editor Instructions

The editor is easy to use.  Just click with your mouse on an object type at the bottom right-hand corner of the screen, then click in the map screen where you want the object to be placed. The right mouse button will select a second object and place it on the map. You can hold the Control key and then left click on an object in the map screen to rotate it. Only the Anti-tanks, Tank movers, Mirrors & Rotary mirrors can be rotated.

You can save your level in a file by selecting Save from the Level menu. You will then be asked to select a level number. If you select the highest number, you will be writing a new level. Anything else will replace the previous level. There is also a Clear High Score checkbox on the save window. When this is checked the high score for the level you are saving will be cleared. Selecting Close Editor will play the level you just edited. After returning from the editor, the high score features will be turned off temporarily until new levels are loaded from the level file. If you make your own levels you should store them in their own file. Then use the Load command to open the file.

When writing levels remember to set the suggested difficulty and the Hint from the menu. Also, fill out the title and author fields.

Title: The name of the Level.  It will be displayed to the right of the game window when the level is loaded.

30 characters max

Author: Put your name or nickname here, it will be displayed when the level is loaded.

30 characters max

Hint: This is the message that will be displayed if the menu item is pressed.

255 characters max

Difficulty: Select one of the difficulties; kids, easy, medium, hard or deadly.

See Writing Your Own Levels


Writing Your Own Levels

Level writing is hard but can be more fun than playing LaserTank. Here are a few pointers on writing levels:

1.	Always play back the levels looking for short cuts. It is hard to see them sometimes because your mind is studying the correct way to finish the level and not looking for alternate solutions. The best way to do this is to have someone else play your level.

2.	Not every level has to be super hard, but a good level should have over 50 moves.

3.	Do NOT make levels where you have to jump off of a tankmover to do something. If you want a player to get off in the middle of a tankmover, then make them shoot a block or something onto it to block the tank.

4.	Think about how the level looks, some of the coolest levels look like works of art.

5.	Try to make your level fun, nobody wants to play a 2,000 move level where all they do is move blocks around.

6.	Deception – Try to fake out the player.  Add game objects that are not needed. Be careful that you don’t make a short cut with your deceptive objects.

7.	One really good level is better than 20 easy levels, I don’t want you to send me 100 levels that are 10 moves each.

8.	As you play back your levels try to find ways to make them harder.

9.	Don’t forget the Hint. If you can not think of one, then just enter the number of moves and shots the level takes. This in itself is of great help in solving some levels.

10.	Have Fun :)

When writing levels you should not save them in the “LaserTank.lvl” file.  Create your own file instead. Then you can send me the file and I will play the level and send you feedback. If you write a couple of levels put them in one file. Most good levels will get added to the next revision of the game.

Please send the files to me as attached e-mail to: lasertank@pacbell.net


Recording & Playback
Recording & Playback of LaserTank Levels

Level’s can be recorder for future playback, also long levels can be saved and then finished later. Playbacks are fun to watch and a great tool for writing levels. Each recording is stored in its own file. If you turn on AutoRecord every level you play will be automatically recorded.

Recording a game

To record a level, either have AutoRecord turned on or get to the level you want to record, and select Record Game from the Game menu. You can also select Record Game after you have started a level and the level will not reset but will record the whole level. The window title will say RECORDING to show that it is recording. Next, play the game as you normally would. It is okay to undo moves, restart the level and save and restore positions while recording. The only thing you can not do is Restart Undo. The recording will be terminated if you select New, enter the editor, skip to the next level or select Record Game a second time. You can select “Record Game” after you have started a level, the level will be recorded the same as if you started recording from the beginning of the level.

If you are playing a long level or just want to save the game where you are, you can do it in two steps. First turn on the recording Mode [F5], then Select Save Recording [F6]. This will save the level where you are. Then when you come back all you do is select Resume Recording [F8] and the game will replay to the point you saved it at. Note: the recording mode will now be on.

When the level is completed you will be asked for your name and then a file name. At this point the playback file will be written to disk.

This playback file contains:

1.	The recording persons name.

2.	The level name

3.	The level number

4.	All of the moves, turns & shots you made while doing the level.

Playback of a recorded LaserTank game

To playback a game, first make sure you selected the correct level data file (“LaserTank.lvl” or something else if you are playing with your own levels). Select Playback game from the Game menu. You will be asked to load a playback file. The game level will be loaded and the Author of the recording will be shown. If the correct level is shown then press ok, if something is wrong then press cancel.

The Playback Game dialog should now be opened. You can select the playback speed; fast, slow, or single step. Press Play to start the playback. The play button will change to pause which can be pressed to pause playback.  There is also a Reset button if you want to start from the beginning again. The speed can also be changed while the game is playing; this is good for slowing down playback at critical places.

When you are done, press the close button and the playback game dialog will be closed. You will need to restart the level to play it.


Menu Commands
Game Menu Commands

Main Game Menu

Command	Keyboard Short Cut

Game, New	F2

Game, Load Level	L

Game, Skip Level	S

Game, Previous Level 	P

Game, Last Level Played 	BkSp

Game, Open Data File	O

Game, View High Scores 	V

Game, Global High Score List	G

Game, Record Game	F5

Game, Save Recording	F6

Game, Resume Recording	F8

Game, Playback Game	F7

Print Gameboard

Move, ReStart	R

Move, Undo Last Move/Shot	U

Move, Save Position	Ctrl+C

Move, Restore Position	Ctrl+V

Move, Replay	F4

Option, Animation	A

Option, Sound	N

Option, Remember Last Level

Option, Skip Completed Levels

Option, AutoRecord

Option, Disable Warnings

Option, Size

Option, Difficulty	D

Option, Change Graphics	Ctrl+G

Editor	F9

Editor Menu

Editor, Clear Field

Editor, Load Level

Editor, Save Level

Editor, Save As

Editor, Close Editor

Hint

Shift, Right, Left, Up & Down

Difficulty


Keyboard Commands
Keyboard - Description of Key's

Game Playing Keys :

Left Arrow	Move/Aim left

Right Arrow	Move/Aim right

Up Arrow	Move/Aim up

Down Arrow	Move/Aim down

Space Bar	Fire Laser Cannon

Control Keys :

F1	Quick Help

F2	New Game

Alt - F4	Exit

F4	Replay

F5	Record Game

F6	Save Recording

F7	Playback Game

F8	Resume Recording

F9	Editor

Ctrl+C	Save Position

Ctrl+G	Change Graphics

Ctrl+V	Restore Position

BkSp	Last Level Played

A	Animation

D	Difficulty

G	View Global High Scores

L	Load Level

N	Sound

O	Open Data File

R	ReStart Level

S	Skip Level

U	Undo Last Move/Shot

V	View High Scores


Game Objects

  These are the objects you will find in the wonderful world of LaserTank. They might look different if an alternate graphics set is loaded.

DIRT

This is the ground. You can move on it, push things over it and shoot over it.

TANK

This is you. You can move in four directions and fire a laser. Tanks can not travel over water, and can not drive through solid objects other than the Flag.

FLAG

This is the target that you must reach to end each level.

WATER

The only thing that can swim in this game are the movable blocks, every thing else will sink. You can shoot over water.

SOLID BLOCK

This type of block can not be shot through, destroyed or moved.

 	MOVABLE BLOCK

This type of block can be moved by being shot at with a laser. If it is pushed into water, it will form a bridge. A bridge acts like dirt.

 	CRYSTAL BLOCK

This type of block can not be destroyed or moved. You can shoot through it, but anti-tanks can not see you through the crystal block.

 	BRICKS

  This type of block will be destroyed if you shoot it.

 	ANTI-TANK GUNS

These are enemy laser guns that will shoot you if you get in front of them. If you fire at one of their sides you can push them around; even into water. If you shoot one of them in the gun barrel without them seeing you, you will destroy them.

 	 MIRRORS

These can be used to deflect a laser shot when fired on the mirrored surface. If you shoot the mirror base, the mirror will move.

 	 ROTARY MIRRORS

These can be used to deflect a laser shot when fired on the mirrored surface. If you shoot the mirror base, the mirror will rotate a quarter turn.

 	 TANKMOVERS

These will quickly move your tank from one place to another. They won't move anything else, i.e., mirrors, blocks and anti-tanks.   You will NOT be able to fire your laser cannon or move while riding on the tankmover. If you need to shoot something while on them or get off in the middle of one, then push a block onto the tankmovers to stop before you get on it.

TUNNELS

Either the tank or any movable object can enter a tunnel. When you enter one of them you will exit the other end. There can be up to 8 pair of tunnels, they are designated by their color. If there is not a matching color tunnel, then do not enter it, it is a black hole. If there are more than two tunnels with a matching color, then it gets real interesting.

ICE

Ice is very slippery. Anything that can move will slide across the ice until it hits an object. This includes the tank.

THIN ICE

It is just like Ice but once something passes over it, it will turn to water. The tank can slide over the thin ice without any problems but there is no standing on thin ice or it will break and you will fall in.


Revisions
LaserTank Revisions

1.0 Original LaserTank program ( 1995 some time ?? )

Laser tank game written using Turbo Pascal 1.5 for windows

1.0.2 Minor Revision (11/97)

Added Levels Total of 18

Cleaned Up Internal stuff

1.1 Minor Revision (11/97)

Made it so you can’t shoot from the Tank Movers

Added Help File

Added Control keyboard commands

Changed Load Level Dialog to list levels by name & number

Add Levels  Total of 40

2.0 Major Revision (5/98 )

Animated the anti-tanks

Animation will now run smother on slower machines.

Added Commands : Open Data File, Undo, Save Position,

Restore Position & Remember Last Level Commands.

Rewrote the program using only the windows API

( was using Borlands Object Windows )

Totally rewrote the Editor, it is now full size.

Add Levels :  Total of 78

2.1 Minor Revision (1/99)

Converted Undo to a 10 level deep undo.

Add Levels: Total of 151

3.0 Major Revision (5/99)

Converted Undo to a 25 level deep undo.

Modified logic: You can NOT move while on a tankmover.

Removed Sound Unit ( Did any one actually leave it enabled ).

Modified internal graphics engine (Now with 3 sizes)

Added High Score List

Added Recording & Playback features.

Added Commands; View High Score, Record Game,

 Playback Game, & Size (small, medium & large).

Added 2 New Game Objects; Crystal Blocks & Rotary Mirrors.

Fixed bug in Editor where the tank is not saved in the proper location.

Added Right Clicking in the editor ( second object ).

Program remembers the last size & screen location.

Add Levels: Total of 300

3.1 Minor Revision (3/2000)

Converted Undo to a 50 level deep undo. ( but that’s it )

Added Sound Unit back in ( Yes people did like it ).

Added Global High Score List .

Modified Record Buffer to 60000 steps.

Modified Playback to find level by name if level has moved within the file.

Modified Load Level window by adding Search functions.

Modified Editor Save Window to ask if high score should be cleared.

Added AutoRecord

Created 5 Categories of Difficulty for levels

Added Skip Completed Levels function

Moved all preferences from the win.ini file to ltank.ini

Added more Keyboard shortcuts.

Added Commands; Global High Score, Save Recording, AutoRecord,

 Difficulty. Skip Completed Levels.

Add Levels: Total of 770

4.0 Major Revision (5/2001)

Rewrote game in "C" and used lcc-win32 to compile it in 32 bit code.

Added New Sounds, Also more of them.

Added three new objects; Tunnels, Ice & Thin Ice

Changed graphics engine.

New graphics.

Mirrors & anti tanks are now transparent.

User Graphics can now be loaded.

LTG files can be used to change the game appearance.

Converted Undo to an Unlimited size & fixed Restart Undo.

Added Replay command.

Added Keyboard Buffer.

Modified Game Record operation.

Added Mouse operation for game play.

Global High Score file now will not be updated when a score is beaten.

Add Levels: Total of 2030


New

Starts the Game at level 1. If Remember Last Level is on,

then the last level played will start.


ReStart

Starts the current level over again. This can be Undone with the Undo command.


Undo Last Move/Shot

Takes back the last move or shot. You can press undo all the way back to the beginning of the level if you want. If you are playing the game and you select Restart, you can also Undo the Restart command. This is good for checking to see how the level looked before you started it. If you press any key after a "Restart Undo" the undo buffer will be reset and you will not be able to undo it.


Save Position

Saves the level so you can restart the level from the saved position.

This is useful in long levels, so you don't have to start all over again

if you try something that doesn’t work. “Save” only saves to memory

NOT to disk. Once the program is closed the saved position will be lost.


Restore Position

Restarts the level from where it was saved from the previous

Save Position.


Load Level

This will display a list of all levels for the current file. The levels

are listed by number and title. Select the level you want to play

by eather clicking on the level name or type in a number.

Also there is a Search button to allow you to list only levels with

matching Authors, Level Names or difficulty type. The match is NOT case

sensitive and partial search word are OK.


Previous Level

If you want to go back a level use this. It will filter levels by difficulty and the Skip Complete Flag. So you might not get the level you thought you would.


Disable Warning’s

Enable this if you are getting tired of seeing the “Game in Progress” window every time you change a level while the game is in progress. If you are playing a Big Long Level it might be a good idea to turn Warnings back on.


Last Level Played

This will take you back to the last level played. The Last Level Played list will not be remembered when the game is turned off. Also if you change Level Files, the list will be reset. This list is only 10 levels long.


Open Data File

The default data file is “LaserTank.lvl” but you can make your own

levels and store them in their own file. This command will select

the other file.

Also see the Editor Level Load command.


Skip Level

If you don't like the level you are on, if it is too hard, ( boo hoo)

you can skip to the next level. You can always play the level later.


View High Scores

This is a list of high scores. Only the levels you have played and

won will be on this list. If you play the level again and do it in less

moves, or the same moves but less shots, the list will update your

new score.

There is one high score file (LaserTank.hs) per ".LVL" file.


Size

Sets the game size to small ( 24x24 Bitmaps), medium (32x32 Bitmaps)

or Large (40x40 Bitmaps). Small is the normal size, medium is for a

800x600 resolution screen & large is good for a 1024x768 size screen.


Animation

Turns On / Off the game animation. If the game is running slow

you can turn this off to speed up the graphics engine.


Remember Last Level

Turns On / Off the Remember Last Level option. When this is

on, the program will remember the level number & file name of

the last level played. The Load Level & Skip commands will

also affect the saved level. To resume from the saved level

just press F2.


Sound

Turns On / Off the game sound effects.


AutoRecord

Turns On / Off the game AutoRecord. AutoRecord allows you to automatically record each level as you play them.


Difficulty

Allows you to select levels by their difficulty rating. When you finish a level , press Skip or Select a new game, the program will skip levels with difficulties that are not selected. This has no effect on loading a level directly.

You can check as many as you want. They are:

Kids	Very easy levels that kids should enjoy playing
Easy	Easy levels but you might have to think a little
Medium	These levels are good levels that will take some thought
Hard	These levels will take a lot of thinking
Deadly	What do you think, some of these are over 2000 moves


Difficulty

Select one of the difficulty ratings for your level.

Kids	Very easy levels that kids should enjoy playing
Easy	Easy levels but you might have to think a little
Medium	These levels are good levels that will take some thought
Hard	These levels will take a lot of thinking
Deadly	What do you think, some of these are over 2000 moves


Hint

This will display a hint for the current level. In some levels

the hint is just the number of moves & shots you need to

finish the level. Some levels have no hint at all.


Clear Field

This will clear the screen, Title, Author & Hint. It will put a default

tank at the bottom of the screen.


Load

To load a level, it will ask for a file name and a level number.


Save

This will Save the current Level at the current position.


Save As

This will first ask for a file name, then it will ask for a

level number. It will default to the previous level file name &

number. There is also a check box that if checked will clear the

high score for this level


Hint

Enter a hint into the edit box. In some levels the hint is

just the number of moves & shots you need to finish the

level. Some levels have no hint at all.


Skip Completed Levels

With this turned on, any time you press “S”kip , F2 (New) or

complete a level the program will advance to the next unfinished

level. It uses the Local High Score list to determine if the level has

been finished.

This has no effect on loading a level directly.


Global High Score List

This will show the global high score list for the level file you

are playing. It will also show the local high score list as well.

Levels with an asterisk in front of the level name, have been

beaten by the local HS list.

You can download the newest versions of the global high score

lists from the LaserTank WEB site

 http://www.jccontrols.net/laser


Close Editor

This will return you to game mode and play the level you were

editing. It will ask you if you want to save the level. If you

press no, you can still play the level. Just hit ReStart before

you re-enter the editor.


Save Recording

This function was added for those long levels. If you are

recording a level but don’t have time to finish the recording,

you can select Save Recording and the recording will end.

A recording that has been saved before reaching the flag

can be continued by playing back the recording or using the

Resume Recording function.


Replay

This will reset the level and then Replay all of the moves you took. When the replay is done, you should be back to where you were before the replay.

 Note: You can stop the replay while in progress by pressing Undo.


Keyboard Buffer
You can input moves and shots as fast as you want. The game will store the moves/shots in a buffer and process them as soon as possible.


Shift Playfield

This can be used in the editor to shift the whole game board in any

of the four directions. The board will wrap around to the other side.


Resume Recording

This will use a playback file to return you to the position you were at when you saved using SaveRecording. The game will play at lightning fast speed, If you actually want to watch the game then use Playback Game. The Recording Light will be on after using this.


Change Graphics

This allows you to change the Graphics used by the Game engine. There are three settings: Internal, User Graphics and Precompiled “LTG” file sets. The default setting is internal, also if there are any problems with external graphics the game will switch back to internal.

 You can make your own graphics and then select user graphics to see them. For more information about the User Graphics please visit the LaserTank website.

 If there are any Laser Tank Graphics files ( LTG) the window will list them by name. You can then select any of the sets to see what they look like. You can download LTG files from the LaserTank website. Please put them in the directory with all the other Laser Tank files.

The LaserTank Web site can be found at:

http://www.jccontrols.net/laser


Print Gameboard

You can print the Game Board.

The print is 4” x 4” (102mm x 102mm) the level name and

number are printed above the gameboard and the Moves

and Shots are printed below. When you select this option

you will be able to change printer and settings from the Print

window.