**********************
*  FoX Level Editor  *
*    User's Guide    *
*    White Shadow    *
**********************



* PLEASE RUN SNDSETUP.EXE *
* PLEASE USE WORD WRAP AND MAXIMISE THIS WINDOW *



Part I - How to use the editor



Chapter 1 - The start up menu


To run the level editor run LEVEDIT.EXE. You will first see a text menu.

To start a new level press 'N'. You will then be asked for what world you want the level to belong to (press the key in brackets to select that world), and after that the x and y size of the level in screens. This is because levels in FoX are made up of a number of screens 320*200 in size, which the engine scrolls and moves around. (The recommended size for a proper level is 20 * 4).

To edit a saved level press 'E'. You will then be asked what world the level belongs to and the level file name.

To quit the editor press 'Q'.


Chapter 2 - Moving around the editor and placing platform objects


To move between screens use the arrow keys. In some worlds there is only one background, so to see what number screen you are on you may find it useful to press 'V' to bring up the display. This will also show other values, such as the current x and y coordinates of the mouse.

Now you will need to place platform objects. What we call a platform object can be either foreground or background, but it has no active properties, such as giving FoX an extra life, or hurting him when he hits it. To view the currently selected platform object hold down the left mouse button, and to change the currently selected platform object, use the '+' and '-' keys. If you want to skip between ten platform objects at a time using those keys, then press TAB (to turn the feature off again, press TAB again.) To place a platform object on the screen press 'P'. The foreground and background objects are separated so you can distinguish between them - the foreground objects being at the beginning, the background objects at the end.

This is a drag and drop editor, so if you want to change the position of the object, simply drag...and drop! Also, to delete an object press 'D'.

As a final warning, there is a limit of 256 platform objects per screen.


Chapter 3 - Active objects


This next section is what makes FoX levels exciting and interactive. If you hold down the right mouse button the currently selected active object will be displayed, and to change this you use the '<' and '>' keys. Press TAB again to move quickly between objects, but in this case it only skips through 5 at a time. To place an active object you then press 'S'. The same rules for dragging, dropping and deleting apply as for the platform objects.

However, once an active object is on the screen things get interesting. Your next step is to select movement options. To do this move your mouse over the active object and press 'M'. To make the object user controlled press '1', '2' makes the object static, '3' makes it move left and right and '4' up and down. '5' and '6' are not to be implemented. If the movement is selected to be '3' or '4' you can change the path of the object. Press 'A' to select the left or up movement, and 'B' for right or down. Then use the arrow keys to change the path. Naturally, when '3' is selected you cannot move the path up and down, likewise with '4' you cannot move left and right.


Chapter 4 - Transporters


Now you need to know how to implement transporters. To do so, select the active object you wish to be the sprite for a transporter (there is a specific sprite, but I suppose you could be unorthodox), and then press 'T'. You will be asked whether you want to make the transporter (I)nternal or (E)xternal.

Internal transporters will transport you elsewhere in the level, and when you choose this option you will be first asked for the screen x and y coordinates, and then the x and y coordinates of where you wish FoX to be placed on that screen.

External transporters are used to exit the level, so when you leave through one of these the level is completed. When you place one of these in, you will be asked for a major value and a minor value. IMPORTANT: FILL IN THESE OPTIONS AS 1, 1 - THESE WILL BE ADJUSTED BY ME LATER ON TO FIT THE RIGHT VALUES - YOU DO NOT NEED TO WORRY ABOUT WHAT THEY MEAN.

As an added warning, once you've placed a transporter you cannot change its options.


Chapter 5 - Level editor extras


As comprehensive as the above may be, there are still some things you will need to know. First, you will need to place FoX in a level, so place him in as an active object, then set his movement options to '1', making him user controlled.

Pressing 'I' cycles through the starting active object animations. This will not affect any of these items if they are already placed in the level though. The starting animation also determines whether the enemy will first move left or right.

Finally, in the jungle world there is a hard coded option to make designing levels a lot quicker. Pressing 'B' allows you to insert large sections of dirt or sand blocks quickly. Press '1' for dirt, '2' for sand, and then input the X and Y coordinates of where the block will start. Next type how many blocks you want across, and then down. This will only work in the jungle world.


Chapter 6 - Saving, Play Testing and Exiting


There are two formats you can save your level in, the design format and the final format. In reality, the only format you really want to be bothered with is the design format. This is the only format in which the level editor can load levels. I save levels of this type with the extension '.des', but it is up to you. To save a level in design format, press '1' at any time in the editor, and you can save it.

You will also want to be able to play your levels. To do this press '3' while you are in the editor. This will then launch the main engine and run your level. When you exit the level, whether through dying, completing it or quitting by pressing ESC, you will return to the level editor.

There is another way for you to play test your levels. For this you will need to save your level in the final format by pressing '2'. WARNING: THE LEVEL EDITOR CANNOT OPEN THESE FILES. I use the extension '.lev' for these. Then, run LEVTEST.EXE and enter the world the level belongs to, and then enter the level file name. You will then play the level. The controls are the arrow keys, and CTRL to jump.

To exit the level editor, press ESC, and then press 'Y' to confirm. It will then exit to DOS.



Part II - What and what not to include in levels


Chapter 1 - Size


I tend to have a standard level size of 20 * 4, totalling 80 screens. I would like levels around this size, but if you want to design a level a different size, then feel free to do so, but make sure it is at least 70 screens (the minimum), and most are used.


Chapter 2 - Exiting levels


You exit levels by using an external transporters (remember not to bother about the return values for these, and just fill in anything). In most levels in the jungle, alps and city worlds, there will be two exits - one normal, and one secret. Naturally, make the secret one generally harder to find, but not necessarily very difficult! Some secrets are more secret than others, if you see what I mean, so for an easy secret exit, just place the transporter someplace that is not so obvious - you would just have to look. Other times you may want to make it very difficult. Think of Super Mario World as an example for secret exits. However, all levels in the reactor and space worlds only have one exit.

Every external transporter should also have one kind of puzzle to solve to get to it, such as having to find a remote control or find a super shoe (see below for information on these). Also, in the alps world there are background tiles that look like foreground tiles.


Chapter 3 - Laser barriers and remote controls


Remember Doom? To get through the red door you had to find a red key card etc.? FoX is similar. The two coloured vertical beams are the laser barriers, and the grey thing with a red, blue or white dot in the middle is what goes at the top of the laster barriers, beaming them down. Theoretically. But you just have to put them at the top to make people think so.

Now, when FoX tries to go through these barriers, he acts as if he's hit an enemy. So how does he get rid of them? He needs to find the correspondingly coloured remote control. These actually look like batteries, of a similar size to each block of the laser barriers. When FoX collects the red remote control, the red laser barriers all disappear. Simple enough. Use these for puzzles in the game.


Chapter 4 - Super shoes


Now this is an idea that you have never seen in any game before, I think. Well, we never have, and it is a totally original idea on our part. These are the green shoes. These simply make FoX jump higher. Each super shoe FoX collects makes him jump approximately 32 pixels higher than before, though that figure is not exact and you'll probably have to experiment. However, to use a super-shoe-enhanced jump, you need to crouch first. Crouch and jump will make FoX jump with the super shoes, but normal jumping won't.


Chapter 5 - Gems

There is something else you MUST place in all levels in the every world except the space world. You see those three gems, red, green and white? You need to put all of them in each level. They are also meant to be fairly hidden, to what degree is up to you. They may be stuck behind a laser barrier, too high up for you to reach without a super shoe, or perhaps FoX may just have to go off the beaten track. Just make sure you include them!


Chapter 6 - Other Collectable Stuff


Collect ten drumsticks and you will gain an extra life. Place around five or more in a level, some hidden naturally. Money bags are for spending at slot machines in the world map...place about the same amount as drumsticks. The extra lives are the hearts, and place these very sparingly! The potion gains you three health points. When FoX jumps on a spring he bounces high into the air! Oh, and ignore that cartridge-like object, and the shield. Both are remnants from previous FoX design ideas.


Chapter 7 - Platforms


There are certain things I like to see in levels. One is solid platforms that go to the bottom of the screen, or at least appear so to the player (what is the point in drawing blocks to the bottom when the player will never see it). This rule especially applies in jungle levels. When you dig in your garden you don't suddenly come to air. No, the soil keeps on going. Therefore I like seeing platforms going right to the bottom. However, this rule does not always apply. Some platforms have to be floating, and this is fine. But I prefer the main platforms to be "solid." In the reactor world this also applies, for you are inside a building. However, in the alps, you often do not have the tiles to do so, so it does not necessarily matter. Also, please ensure that you can see the platforms you are jumping to! I don't want to have to jump blindly into the air to try and find another platform! For an example of how I like levels, see the levels in this demo.



Part III - Tips, tricks and bugs



Chapter 1 - Useful stuff to know when making levels


I am sure there are many times in the FoX level editor when you want to do something, but are finding it difficult to do so. These tips should help you out.

FoX jumps about 64 pixels, and each super shoe increases that jumping height by about 32 pixels, but you need to experiment. Jumping on an enemy increases FoX's jumping height by the same amount as a super shoe. A spring launches FoX a little over a screen (> 200 pixels) into the air.

If you want to continue a platform at the same height on the next screen, then press V to bring up the display. See at what height you are placing the blocks on the current side, then place the blocks at that height on the other side.

Also, although sprites cannot be branched between two screens, enemy movement can. Just make the movement paths go off the edge of the screen. Unfortunately you can't see where they go - experimentation is the key!


Chapter 2 - Making cool levels


There are keys to making good FoX levels. The most important is using your own imagination and stretching the limits of the engine to come up with creative and fun levels. For a start, when designing levels I like to imagine things in a "real world environment." For instance, in jungle levels, I'll say to myself, "Right, first we have a heavily wooded forest, then we move on to a desert area with sand tunnels underneath, and then we come some more forest, but there is just one huge old tree..." See what I mean? It helps you to visualise levels and design them well.

The next thing you need to think about is throwing loads of cool ideas into your levels. Take a look at the four levels in this demo and see what you like.

Another issue is how to include secrets. Basically, I've realised I don't want secrets where you have to jump to some unseen place. I want secrets that you can discover if you simply LOOK around you. For instance, have a split in paths where people have to choose between up and down. Most people will go up and not notice the down path. Or have a spring in the middle of a platform which most people will use, not going to the edge of the platform to see a pathway to a secret.

In your levels try and bend the rules. Put your imagination into levels and they will be cool.


Chapter 3 - Miscelleaneous problems and bugs


There are a number of things you need to aware of when designing levels, so here's a list of some stuff. If your problem is not sorted down here, then e-mail me at spmcaul@aol.com.

Q.	When I exit the level editor I see lots of temporary files. Should I delete them?
A.	If you have pressed the windows key, or ALT+TAB, to exit out of the editor temporarily, then delete these files at your peril! However, if the level editor has performed an illegal operation and must be shut down then you can delete all files with a '.tmp' extension, and also 'control.inf' if it exists. Still, there are some cases where you might want to keep these files. If you go to play test a level and an illegal operation occurs, and you did not save your level before hand, then it will be stored in the file 'design.tmp'. You can delete all the other temporary files. As a warning though, all temporary files will be deleted when the editor is shut down properly, so rename 'design.tmp' as soon as you see it!

Q.	When I dictate enemy paths they don't go as far to the right or as far down as I wish!
A.	Yeah, this is due to the way the main engine handles their movement. Basically, add the sprite width/height onto their right/down movement.

Q.	I've added another FoX in the level for FoX to kill as an enemy! But I can't kill him!
A.	Wow! You've shown some imagination! Unfortunately if you put another FoX in a level, the main engine won't let you kill it. I don't know why. You better ask TZ.

Q.	I can place sprites over the edge of the right and bottom edges of each screen, but not over the left and top edges.
A.	Yes, I am aware of this, and it isn't really a big problem. I should also tell people that if sprites go off the edge of one screen, they won't overlap onto the next screen, in the level editor or the main engine.

Q.	When I test my level the screen scrolls to the bottom and then crashes!
A.	You either have to place FoX in the level as a user controlled object (3rd movement option).

Q.	...?
A.	E-mail me and ask me about it! (spmcaul@aol.com)



Part IV - Appendix


Appendix A - Keys


left mouse	-	show currently selected platform object
right mouse	-	show currently selected active object
left arrow	-	goes to the screen on the left, unless at the edge of the level
up arrow	-	goes to the screen above, unless at the edge of the level
right arrow	-	goes to the screen on the right, unless at the edge of the level
down arrow	-	goes to the screen below, unless at the edge of the level
-/_		-	selects the previous platform object
=/+		-	selects the next platform object
p		-	puts the currently selected platform object on the screen
,/<		-	selects the previous active object
./>		-	selects the next active object
s		-	puts the currently selected active object on the screen
t		-	puts the currently selected active object on the screen as a transporter
d		-	deletes the object (of any type) that the mouse is highlighting; does 				nothing if an object is not highlighted
m		-	brings up the movement options for the active object that the mouse is 				highlighting; does nothing if an object is not highlighted
	a		-	selects to move the 'a' movement bar
	b		-	selects to move the 'b' movement bar
	left arrow	-	in mode '3' moves the 'a' or 'b' bar left
	up arrow	-	in mode '4' moves the 'a' or 'b' bar up
	right arrow	-	in mode '3' moves the 'a' or 'b' bar right
	down arrow	-	in mode '4' moves the 'a' or 'b' bar down
	1		-	selects mode '1', user controlled (ONLY USE FOR FOX)
	2		-	selects mode '2', static
	3		-	selects mode '3', horizontal movement
	4		-	selects mode '4', vertical movement
	5		-	not implemented
	6		-	not implemented

i		-	changes the current starting animation for active objects
SPACE		-	IGNORE: sets the starting screen, but the camera starts at FoX anyway
b		-	inserts large blocks of dirt or sand sprites in the jungle world
q		-	CAUSES ERRORS AND POSSIBLY DESTROYS THE LEVEL: brings an object forward
e		-	NOT IMPLEMENTED: chooses a special effect for the level
1		-	saves a design level
2		-	saves a final level
3		-	plays the level
ESC		-	exits the level editor



Appendix B - Game keys

Left		-	Move left
Right		-	Move right
Down		-	Crouch
CTRL		-	Jump
Escape		-	Exit
