Ladder Instructions
Topics
1. Goal of game
2. Scalar Vector Graphics technology
3. A. Navigate to other pages
3. B. Play, stop, pause buttons
3. C. Move player
3. D. Choose a level
4. A. Jumps
4. B. Switch,Mover
4. C. Wall
4. D. Exit, Key
4. E. Ammo
4. F. Robot
4. G. Isaac Newton would not be happy
5. A. Use Help page
5. B. Screen size needed
5. C. Set time step
1. Goal
The object of each level of the game is to grab a key out of the air and use it to unlock a door with a matching color and exit the level.
2. Scalable Vector Graphics (SVG)
Technology is always changing. I have to change to keep up. For the pictures in this game, I had a choice of using photo program pictures, a web browser technology called Canvas or an old method that has been updated called Scalable Vector Graphics (SVG). I chose SVG. I have tested this game on both Microsoft Edge and Mozilla Firefox. It seems to work. Give it a try. If it doesn't work for you, just forget it and move on.
(At the bottom of this page is a bit more information on SVG. To jump directly there,
click here.)
3. A. Navigating to Other Pages

Main Game Page where you can choose a different game to play. (If you are on the game page, you can press M key when game is stopped or paused.)

Go to game.

Come to this help page. (If you are on the game page, you can press H key when game is stopped or paused.)
3. B. Navigating the Game

(key G) Begin game if stopped; resume game if paused.

(key Q) Quit game if playing or paused. (If you restart a game, you will start at the beginning.)

(key P) Pause game during play. Play button (key G) will resume game where you left off.
3. C. Moving the Player
Keyboard
J or S, L or F walk left, right
I or E, (comma) or X walk up, down a ladder
K or D stop
shift + J or S, L or F angle jump up left, right
shift + I or E jump straight up
(letter) O or W cycles between “single step”, “walk continuously”, “walk continuously, but stop at edge”. (“single step” stops after each step so does not need a “stop at edge” option.)
M or C flip switch, push or pull wall, grab key or ammo, enter exit (end game)
B fire at robot
Mouse
Click on player to use item under.
Click on robot to fire at. (Actually, it doesn't matter which robot you click on. There is never more than one robot you can fire at. If you click on some other robot, the game will correct to the one available robot.)

Walk left,

Stop,

Walk right.

Climb a ladder,

Descend a ladder.

Jump left,

Jump up,

Jump right.
Ladder: If you are on the floor to the side of the ladder and jump up at an angle and reach the ladder, you will grab hold and hang on.
If you are on the floor under the ladder and jump straight up, you will come back down and land on the floor.
If you are on a ladder and jump up at an angle, you will sail up and away.
If you are on a ladder and jump straight up, you will fly up, then drop down to the floor.
The following three buttons are stacked on top of each other. Click on the top one to go to the next one.

Single step.

Walk continuously.

Walk continously, but stop at an edge. (recommended)
Note: a mover docked at a floor is considered an edge so that, if you have “stop at edge” set, then you will stop at the mover and have to click walk to board it.
*** For most of the routine moves on a level, I use the mouse since I don't have to remember which key does what. I can just look at the pictures on the buttons and click the one I want. Or click the player to use an item underneath.
*** Where a mistake could be costly—on a ladder, starting a mover with a switch, fighting a robot—I find the keyboard gives more control.
Horizontal: Cross Gap by Using Stop at Edge

Player walking.

Player at edge.
*** If you single step to edge or walk with “stop at edge” set, then you will get the “player at edge” figure.
*** If you walk without “stop at edge” set and you step on an edge, the “player at edge” figure will show for a moment, then disappear as you continue walking.
*** If you jump and land at an edge, the “player at edge” figure will not show
*** The “player at edge” figure only shows if you are facing outward from the edge.
If you are at an edge, you have three choices for proceeding:
*** Jump—You will jump up and come down at an angle.
*** Walk—You will fly down at an angle.
*** Single Step—You will drop straight down.
*** (If you are “walking continuously” without “stop at edge” set and you come to an edge, then you will walk off the edge without stopping and slant downward.)
Hopefully, you will land safely on a floor or step or mover below or grab a ladder; however, if you fall a floor and a half, then you will go splat and lose the level.
Vertical: Avoid Robot When Going Up or Down Ladder by Using Stop At Edge
If you are climbing a ladder up or down and there is a robot on the next floor and “stop at edge” is not set, then you will continue to the floor and, perhaps, be hit by the robot and lose the level.
However, if you have “stop at edge” set, then you will stop short of the next floor such that the robot will not hit you. (You will not get the player with feet together picture. The only visual cue will be that, if you are climbing up or down continuously, then you will stop at the edge. If you are single stepping, you are on your own to figure out where to stop.)
3. D. Next Level
You can only change the level when the game is stopped, not playing or paused. (The new level will start playing immediately. So, you may want to hit pause right away so you can look over the level before playing it.) You have three choices:
***
Automatic 
Click the play button (or press key G).
— When you win a game, the next level becomes the choice for the play button to go to so you can move forward in the game.
— When you quit or lose a game, the current level becomes the choice for the play button to go to so you can replay the level.
*** Keyboard Press L (and release) followed by 1-7 to jump to levels 1 to 7.
***
Mouse 
When the game is stopped, a selection box will appear just outside the right edge of the playing field.
— Click on the down arrow, then click on the name of a level you want. You should immediately go to that level.
— Ignore the 0 Dummy item. The selection box is provided by other programmers. I have adapted it to work for my game. If you click on the 0 Dummy item, nothing will happen. Otherwise, the selection box works fine and saves me having to write the code to do what it does.
4. A. Jumps
Jumps are a major part of the game. You jump from one section of floor across a chasm to another section of floor or to a step or to a mover. You jump from step to step. You jump from mover to mover. You can even jump across an open space to a ladder and grab it, then jump down to the floor. (If you are at the foot of a ladder or on it and jump straight up, you will not grab the ladder. You will come back down to the floor. You have to climb a ladder.)
If you miss a jump and fall a floor and a half, you will go splat and lose the level.
To land a jump, the center spot between your feet must land on the floor, step or mover. (For the ladder, your side must touch a ladder rail.)
There is no marker of any kind that tells you where to start a jump to reach a target. Only experience can guide you.
4. B. Mover, Switch

Switch—When the player is at a switch, click the player or press key M or C to flip switch.
A switch toggles a mover on or off.
A switch may control more than one mover.
A switch is either green or red. Normally, green starts a mover and red stops a mover. It is possible that an apprentice installed the signal box on a mover backwards so that, when the switch shows green, the mover stops and vice versa.

Mover—Ferries player around game.
Note: mover always goes in a straight line. If it goes right to a stop, then, if it continues, it will continue right. It cannot bend. It cannot go right to one stop, then pivot and go down to another.
4. C. Wall

Wall—A wall has two positions. To move the wall, the player must be tight against the wall. Click the player or press key M or C to push or pull the wall to its other position. The player will also move so as to stay against the wall.
4. D. Exit, Key

Exit, Key—When at an exit, click the player or press key M or C and, if you have a key of the matching color, you will open the exit door and win the level.
To get a key, just grab it.
Normally, you stand under the key and jump straight up so you can reach your hands to head level and grab the key and put it in your pocket.
Angle jumps up and jumps from a ladder or mover to the side can also work. You get the key unless your middle is above the key or your head is below the key.
There is no visible record that you have a key. The absence of the key from the level indicates you have the key. (Or that you get to the exit and are allowed to leave.)
4. E. Ammo

Ammo—The levels vary in ammo and robots:
*** A level may have no ammo and no robots
*** A level may have no ammo, but some robots. You have to keep away from them.
*** A level may start you with three shots in your pocket.
*** A level may start you with three shots in your pocket and offer a suitcase you can pick up which adds 10 shots.
There is no visible indicator of how many shots you have left. One way to find out is to press key B which you normally use to fire at a robot. The message above the playing field will report how many shots you have. (A shot is only used when there is a robot in the line of fire so you will not waste a shot by firing at other times.)
4. F. Robot

Robot—If a robot touches you, you lose the level and have to start over. (Specifically, your center touches the edge of the robot.)
*** When going up or down a ladder to a floor with a robot, you can use "stop on edge" to keep from being hit by the robot and losing the level. "Stop on edge" is toggled by clicking the "stop on edge" button or pressing key (letter) O or W. When going up a ladder, "stop on edge" will stop you at a point, so that, even though the robot touches your head, you will be OK. Similarly going down.
If you have ammo, you can shoot the robot. (To fire at a robot, click on the robot with the mouse or press key B.)
*** You must be on a section of floor that is connected to the section of floor the robot is on. (There cannot be a wall between you and the robot. You cannot shoot through a wall).
*** You must be facing the robot. (No aiming is necessary. You always hit the robot.)
*** Your feet must be on the floor. You cannot be in the air or on a ladder.
*** A mover is not a section of floor. You cannot shoot a robot from a mover.
Jumping a robot is legal. It is very difficult. If you miss and touch the robot, you lose the level. You never have to jump a robot to finish a level. If you do jump a robot, you can significantly shorten the time to finish the level.
You might want to save jumping robots until you have finished all the levels. Then start over and play the levels as a pacifist—see how far you can get on each level without shooting any robot.
4. G. Isaac Newton would not be happy
When you jump, the game uses Newton's gravitational equation: y = y0 + v*t + 0.5*g*t*t. That is correct.
However, when you are on a horizontal mover and jump straight up, you come back down to where you jumped from as if you had been stationary. This is wrong. If you are in a car going 50 mph and toss a ball straight up in the air, it comes back down to you at the new position of the car not at the position you tossed the ball from.
Sometimes, I took the extra time to use Newton's work; other times, I simplified.
Sorry.
5. A. Using the Help Page
Bad Way
If you are playing the game and have a question about how something works and you click the help button,

, you will go to the help page all right. But, when you return to the game page, you will have to start all over. You will lose any work you have done.
Good Way
Better is to set up two tabs in your browser.
*** Open the game in your browser as normal.
*** Open a second tab by clicking the + to the right of the open tab.
*** Enter the address for my website in the address bar. This time, go to the help page instead of the game page.
Now, you have the game page on the left tab, the help page on the right tab.
Click the game page tab to play the game.
If you have a question, click pause for the game, then click the help page tab (not the help page button). When you are done reading the help page, click the game page tab (not the game page button). You will return to the game. The game will be paused. Simply click the play button and you resume playing the game.
5. B. Screen Size
To have all game information on screen at once, you need 600 x 390 pixels for the playing field plus, horizontally, 52 pixels for the controls to the left of the playing field and at least 116 pixels for the information to the right of the playing field. A total, horizontally, of about 768 pixels.
Having everything on the screen gives the best experience; however, the game can be played on a smaller screen.
The controls around the outside of the playing field—start, stop, play, move the player piece, change level—can be handled by keys on the keyboard so the controls do not have to be on the screen.
You can even have just a part of the playing field on screen. Use the scroll wheel of the mouse or scroll bar keys to keep the playing piece on screen. (Or even let the playing piece go off screen for a brief period when it is near a corner or border.)
5. C. Heartbeat

The game has a heartbeat. Each heartbeat, the pieces move. The start heartbeat is 40 milliseconds. If the game is moving too fast, you can slow the heartbeat down to up to 999 milliseconds between beats (approximately 1 second) (If you want, you can also make it beat faster down to 1 millisecond. Your computer's heart may not be able to beat that fast.) (The number must be a one, two or three digit whole number such as 60, not a fraction.)
The game must be stopped (not playing or paused) to change the heartbeat. With your mouse, click the number box so it has a blinking cursor. Enter your new value. Finally, click the mouse on an empty space outside the number box.
The heartbeat that will be used by the game will display in the number box. If the value you entered does not display, be sure the game is stopped, not paused or playing.
(Note: In a test on a Windows 7 computer, clicking on an empty area outside the number area locked up the keyboard. Clicking on any element such as the stop button or player piece unlocked the keyboard.)
Local Storage
If the above line says your browser supports Local Storage, then, if you change the heartbeat, it may be stored on your computer so that, when you return to the game days later, the changed heartbeat will be used.
6. Surprise!
Writing a help file takes a lot of time. So, I have left a few things for you to figure out on your own.
For the last level, I provide some comments that are initially hidden. Click on the + next to a question to show its answer.
[+] Where did the mover come from? Where did it go?
There are three panes. You start on the front. There is also a middle and a back pane. Several movers are only on one pane. Some movers go between two or all three panes. If a mover goes between panes, it will always apppear at the same point (vertically and horizontally) on the screen. Making at least a rough map of each pane is probably best.
[+] I'm having trouble jumping off the movers at the end.
In the last pane, you need to drop to the top mover, then from the top to the middle mover and then from the middle mover to the bottom floor or mover. Jumping is very difficult to judge. Better is to drop straight down. However, if you try to drop from the front of the mover, it will move forward and scoop you up. You can't drop from the front of the mover. So, go to the back.
7. Secret Level
Traditionally, games of this type have a secret level which is reached by doing something in one of the regular levels. This game has a secret level.

Once you do the right things, the eye will show. When the game is stopped, not playing or paused, you can click on the eye to go to the secret level. From the keyboard press L, then 8.
Part of the fun of a secret level is figuring out the steps to get access to it; however, if you have played the game through and not found the secret level and are tired of looking, click on the + sign in front of each of the following hints.
[+] Which level do I work on?
Level 5, Caves
[+] What do I do there?
In warfare, there are civilians.
[+] More detail, please.
Instead of shooting the obvious one, go to it and shake hands (touch it).
8. Scalable Vector Graphics
I just want to design games to put on my website.
Unfortunately, that means I have to learn some computer languages. For this game, I use:
*** HTML, Hypertext Markup Language—the underlying language for all web pages.
*** CSS, Cascading Style Sheets—the approved way to modify the color, typeface, images on a web page.
*** JS, JavaScript (aka ECMA Script)—for moving and modifying images.
*** SVG, Scalable Vector Graphics—for drawing the initial images in real time when the program starts
This game was originally written in the early 2000's using SVG. Then Adobe, which was promoting SVG, announced it was abandoning SVG.
I then rewrote the game in Java.
When I replaced my Windows XP desktop computer with a Windows 8 laptop, I discovered that none of my games worked any more.
Humbug!
I decided to update my games.
For this game, I discovered the java version could not be made to work.
Java was promoted as a language where you, "Write once, run everywhere."
Not anymore.
I spent some time trying to get my java program to work, but java is plagued by security concerns such that I cannot use it.
I discovered that there is a new possibility called "Canvas" touted as replacing SVG.
"Canvas" is the little finger on your hand compared to SVG as a full hand. Maybe one day "Canvas" will expand to the other fingers, but not yet.
Finally, I discovered SVG is still hanging around in the shadows.
It has changed enough from the version I originally used that I had to rewrite my game from scratch. I could only use the original version as a guide.
Whether SVG in its new form hangs around for very long, I don't know.
If it goes away, I should be able to rewrite the game fairly quickly using fixed pictures produced in a photo editing program in place of the SVG generated images.
With all going on, there are probably some errors in the game despite the play testing I do. For each level, I have played all the way through to the end so there is a way to win each level. If one path doesn't work, try another.
What I really want is for someone to provide a game development language I can learn one time and use forever.
I know. Dreamer! I know.
_______
update 1/20/16
copyright © 2015-2016 Fred McCarthy. All Rights Reserved.