Hay all.
I've put together a manual for the Adventure at C stage builder.
It was going to be packaged with the next version of AAC, but as their is not going to be a next version, I've decided to place it hear so all can read it.

Stage builder manual
by Threeblacknoises, with some additional material by Aaron baker

Please note: to build or edit a custom stage, you must have beaten the game on the file you are trying to build  a stage on.
To play a stage, you just have to beat the intro level.

Getting to the stage builder menu is easy, just press shift s while in the in between levels area.
From there select any of the three options. This documentation will cover  stage creation, which in turn, covers editing stages.
Playing a custom stage is just like  playing a normal stage.

In order to take advantage of the stage builder, you need to have a folder called stages in the same folder you are running aac.exe in.
This is where AAC will look for stages, and also where it will save stages to.
If you haven't modified the AAC folder, this folder should already be where it needs to be, and should also include  files called example.stg, and neoexamplestage.stg.
The game doesn't save stages in the folder you place it in, because the stages  folder needs to be quickly and easily reachable, so you may copy and paste files to it.
You may store custom music and sounds in separate folders, as long as they are located in the main Adventure at C folder.
You, however, cannot add folders beyond the main folder.
So you cant make a folder called music and place folders in that one called main music and boss music, for example.
In this example, the main music and boss music folders will be ignored by AAC, and you will only see OGG files located in the music folder.
Note that all music and sounds you add to a custom stage will become part of the stage file, and thus be encrypted so other people can't get access to them.
Because of this, their is no need to distribute music or sound files with your stages.

Creating your stage

When you choose build stage from the stage builder menu, you're presented with several prompts designed to prep your stage for building.
First, you must decide how big, or long, you wish your stage to be in tiles.
Each tile is one step your character can take.
This is represented by a number between 100 to 5000.
Please note: you cannot change this later.
Next, choose your background music.
AAC has 4 built-in tracks, but you can add your own
If you wish to add your own music and sounds, you'll need an ogg encoder, as Adventure at c only excepts OGG files and doesn't support mp3s at all.
if you select one of the built-in tracks, you'll be taken directly into builder mode.
If you choose to use custom music, you'll first be asked where you want to get your OGG file from.
This must be a folder located within the main AAC folder, You cannot pull music from anywhere else on your PC.
Choose a folder from the list provided, or choose to get an OGG file from the main Adventure at C directory.
For more information on ogg files and how to encode them, check out Custom music and sounds.
Once you choose your background music, you're ready to start building your stage!
Please note; under no circumstance can you make a stage with no background music.
If you wish for your stage to have no music, you must create an OGG file called silence, and choose it at the background music prompt.
Once your stage loads for the first time, you'll be asked if you wish to create a randomly-generated template to build your stage on.
If you say yes, AAC will place random obsticals in your stage, and your stage's name will have "(Random)" added to it to show that you had help creating your stage.
Even if you remove all randomly placed obsticals, the game will still add the "(Random)" suffix to your stage's name each time you save it.


Learning your building environment

When your stage first appears, it's just an empty road of tiles that sound like the ones you've been walking on throughout the main adventure.
But an empty stage isn't going to impress anyone, so you'll need to start adding stuff to it.
The stage builder consists of two modes, the builder mode, where you place viruses, items and obstacles, and the play test mode, where you see how your stage is working.
To switch between modes, press f5. Builder mode is the default mode of operation.
Most of the following controls are self-explanatory, but the ones that aren't will be covered in separate sections.

Builder mode controls:

F5, switch between modes
L: sets the starting location.
Space: sets the end of level square or unassigns it. (when play testing, the end of level action(s) will not happen. You  must play the stage for them to actually happen.
C: checks your location.
M: changes the tile you are standing on to a different tile.
Shift+M: Brings up the tile creator.
Control+M: lets you place a tile within a desired range.
I: places an item.
E: Places an enemy. (Limit 100 per stage)

Obstacles

r: delete ray.
S: spike.
F: platform.
G: geyser.
P: corrupt sector.
A: arrow.
O: BSOD Hack.
T: teleport Pad.
B: barrier.
K: bomb
J: Fire

Other controls

H: define a custom sound source.
Enter: place a text square.
n: Create a scene.
F6: change the background music.
F7: select or change the ambiance (background sound).
F9: Set stage flags.
W: set weapon flags.
Z: create a warp point between two custom stages.
Q: lock stage. This is so that if you have a few stages that play out in a sequence, the  later parts can't be accessed unless through your stage.
Period, bring up the stage editor.
F10: save your stage to a .stg file.
Y: bring up the ogg media player.
While in the ogg media player, R can be used to view ogg files that aren't in the game's  searching scope.
You can also press F1 from any mode to get access to the stage builder cheats control pannel. This will allow you to change your position, as well as set up stats to test with.

Defining your environment

The stage builder contains a feature called the tile creator.
In technical terms, this lets you make tiles for your stage.
In English, this lets you create an environment for the player to travel; EG, a dirt road, a sandy beach, or anything you wish.
You'll need to have some footstep sounds to accomplish this, and you can find many Internet web sites that offer collections of sound effects that you can use, so long as you don't want to make money off them.
www.freesound.org is a good place to start.
An account is free, and all sounds on the site are free for non-commercial use.
You could always stick with the default sound for tiles as well.
Open the tile creator with shift+m. Once the tile creator box appears, make a new tile with the add button.
This will create a tile called "new tile 1" in the tiles list, and will create another new tile with an ascending number every time it is pressed.
Select your new tile, then tab to the rename button to give your tile a name that will make sence to you like grass, sidewalk, mud etcetera.
You'll have to remove the new tile text before typing in your chosen name.
Press OK, then move to the sounds list.
This is where you tell the game what sound a tile will make when walked on by either the player or any enemies in your stage.
You need at least two sounds per tile to make it sound like all tiles in AAC.
If you only place one tile, every other step the player or enemies take will be silent.
If you only have one sound you wish to use  for a particular tile, you can just add it twice.
Please be sure that each sound you add for a tile is only about 0.70 seconds long.
If you add sounds longer than this, it is possible that they can cause the next step to be silent.
New tiles always default to silence when created.
Next, you'll want to add a landing sound for your tile with the appropriate button.
All tiles default to the normal tile landing sound upon creation.
You can add just a landing sound to a tile if you wish to create a custom sound for landing on platforms; for example.
Please make sure that your landing sound is about 0.70 seconds in length, as longer sounds can cause the next landing sound to not play properly.
In all cases, you'll get the same folder file prompt you get when adding any custom sound to a stage.
Press save changes when done to return to the main builder mode.
You have two options when placing tiles.
To place a single tile at your current location, press m.
To place multiple tiles between two defined locations, press control+m.
This allows you to specify a leftmost and rightmost position. These squares, and all squares  in between, are set to the tile of your choice.
The only exception to this is the edges of corrupt sectors, which cannot be changed by placing new tiles over them.
In both cases, you'll be asked what kind of tile you wish to place.
Besides regular tile and all of your custom tiles, you'll also find things like checkpoint, cracked wall, rock, and even steal data!
In multiple tile placement, you'll also be asked for the starting and ending markers.
The ending marker must be higher than the starting marker.
You can also add an ambiance to your stage.
This can be the birds on a country road, the wind in a desert, etcetera.
Note: you can only have one ambiance per stage.
Press F7 to choose an OGG file to serve as the background sound for your stage.
A stage has no ambiance by default, but once you add one, their exists no option to get rid of it.
If you don't want an ambiance after you've already added one, you'll have to press F7 and choose the silence.ogg file discussed in the background music section above.

Creating threats

Placing tiles in your stage and adding an ambiance can make for a leisurely stroll through the environment of your choice. While their is certainly nothing stopping you from building a stage like this, it makes for a more interesting stage if the player has obstacles or enemies to avoid.
The following sections will cover enemy and obstacle placement respectively.

Building your enemy force

Not counting bosses, Adventure at C contains 22 different enemies.
These enemies can be placed with E.
You'll first be asked where the enemy should be placed, followed by selecting the enemy to place at said position.
Several prompts will then follow, letting you define health, attack and defense.
Finally, you'll be asked if the enemy should end the stage when it is killed.
The default for this prompt is no, and you should only choose yes for the last enemy you build; as this will function as your stages boss.
It should be noted, however, that certain limits have been put in place.
First, you can only create an enemy as strong as you are.
To make stronger enemies, you'll have to increase your character's stats.
Second, only about half of the enemies are available when you first gain access to the stage builder.
You have to unlock the rest by completing certain condition set forth in the main adventure.
Third, AAC doesn't remember any of your status parameters, so you'll have to reenter health, attack and defense for each enemy you build.
Finally, their exists no way for the stage creator to check an enemy's status after it is built, so you might want to take notes; and update them; as you go, so you can change an enemy if it appears to be a bit too week or strong.

Creating custom enemies

AAC allows you to create your own enemies to place in your custom stages.
Note; a certain condition within the main game must be met before you can take advantage of this feature.
Once said condition is met, the choice to create a custom virus will appear at the bottom of the list of available enemies.
Building a custom virus is a little different than using one of AAC's built-in viruses.
After choosing custom virus, you will still be asked for health, attack and defense, as well as boss status, but things get different after that.
Next, you will be asked for the sound files that should play for the virus's sound loop (the sound a virus makes when it's just sitting their), followed by the sound a virus should make when it gets hit, and finally what sound it should make when it dies.
If you don't want; say, a hit sound, you can just press escape at the prompt asking for the virus's hit sound.
The next prompts are designed to allow you to set some other parameters for your virus.
The most obvious one is what you want to call your virus, but the ones after that may not be as easy to understand.
Range is how far a virus can attack the player from.
This can be a number between 0 to 5.
0 will make a virus that won't attack unless the player is right on top of it.
Next is a prompt that will let your virus run when it's health reaches a given amount.
Please note that a virus in the running state will not attack in any way whatsoever.
It can, however, jump away from the player as well as run.
When a virus in the running state reaches the end of a stage, it will stop and just stand their.
To make a virus that won't run at all, just enter 0 at this prompt.
You can also make a virus that always runs by setting its running health as its maximum health.
Next is how far the virus's sight line extends.
This can be a number between 0 to 10.
This means that once the player enters the range you specify, the virus will engage the player at that point.
0 will make a virus blind, so it won't attack until the player gets right on top of it, or engages it directly by attacking it.
If a virus is set to always run, it will start running when the player gets in its sight range.
The next prompts determine the speed attributes of your virus.
First is how fast it attacks in milliseconds. you must enter a number between 250 to 450.
The lower the number, the faster the virus will attack the player.
The final prompt asks for the speed at which the virus will walk.
This number must be between 200 and 400 milliseconds.
The higher this number, the slower the virus will walk.
Normal walking speed for your character is 250 milliseconds.
After a virus is created, a choice to use an existing custom virus will be added at the end of the virus list below create a custom virus.
This gives all prompts listed above, minus the sound file prompts.
The only exception to the above, is that the prompt asking for the viruses attack speed can only except a maximum value of 400 instead of 450.

Placing obstacles

Most obstacles will give prompts that are easy to understand, so this section will only contain some quick notes on certain prompts.
See the controls section for a list of obstacles.
Please note: All damage that obstacles do cannot exceed your maximum health.
When creating a delete ray, you'll be asked to enter the time (In milliseconds) between deletion attempts.
This number must be between 400 and 1000.
The higher the number, the longer the player will have to move under the ray.
When placing a corrupt sector, you'll be asked for the left x and right x of said sector.
Just like placing multiple tiles, you must make sure that the number you enter for the right x is higher than the left x.
Please note that viruses can warp across a corrupt sector if it's small enough.
When placing a teleport pad, please make sure that the position where you place the teleport pad and its destination are not the same.
Also, be extra sure that multiple teleport pads eventually land the player on a safe tile.
Failing to do these things will cause the game to enter an infinite teleport loop.
When placing an arrow or BSOD Hack, please note that the position of the obstacle is where the player must stand for said obstacle to activate.
The game will decide the direction the obstacle will come from.
Please do not place either of these obstacles on position 0 if it is your starting position.
A BSOD Hack or fire in particular will cause the game to enter an infinite death loop if the starting position is set to 0.
An arrow's speed must be between 50 and 150, while a BSOD Hack's must be between 50 and 500.
Note that an extremely low number like 50 on a BSOD Hack could cause it to be unavoidable by the player.
A fire's speed must be between 100 to 5000.
When placing a fire, the left most and right most positions you enter will define how large the fire is.
If you wish the player to be able to jump your fire, please make sure that the fire is only about 5 to 6 positions wide.
Keep in mind that once a fire's launch tile is stepped on, the fire will start to expand and won't stop, until it reaches the player.
You can tell the game to stop the fire's movement if the player dies to make the fire easier to deal with.
If you decide to place platforms in your stage to allow the player to stay safe from the fire, it's good to remember that the fire will keep moving if it is not set to stop when the player dies.
It might be a good idea to place a check point tile on a platform in these situations so you can avoid putting the game into a death loop.
You can also create a fire obstical by placing a fire and entering a start chasing position that is out of your stages range.
For example, your stage's max position is 1000, but you have a transition to another stage  at 700.
Remember, nothing stops a fire or BSOD Hack, not even a steal data or an invincibility item.
When placing bombs, the X position is where the bomb will appear in your stage when the player reaches the position you specify.
When telling the stage builder how long to wait before "the bomb goes boom," keep in mind that 1000 milliseconds is 1 second.
The allowed time range is 1000 milliseconds to 120 thousand milliseconds, or 2 full minutes.
If you need a bomb to appear after the player loses a life, please be sure to set the bomb responning flag with F9.
IMPORTANT! A bomb's damage is Not dependant on your max-health stat, as it can do anywhere between 1 to 1 milian hit points worth of damage.
Also keep in mind that the bomb itself is ground 0, and it will do the specified damage to all viruses and change all steal data tiles to normal tiles within 50 squares on either side of it; as well as its own position; when it goes off.
Please be vary careful with bombs!

Building a story

While you, as the stage's creator, are not required in any way to add a story to your stage, the AAC stage builder contains tools to allow ambitious creators to add a story line to their custom stage.

Working with text

Perhaps the easiest way to add a story to your stage is with text squares.
These allow you to tell your stage to speak a string of text to the player at a certain position.
After pressing enter and telling the stage builder where you want it to speak text, you'll then be placed inside a text edit box where you can begin to type or paste text.
When pasting text from notepad or word pad, you can only paste one line at a time.
After each line is pasted, the game will read all text entered thus far, but you can press end to silence it.
You must press end after pasting text to get ready for the next line of text, as the text boxes in AAC do not support the append feature found in word processors.
You must also remember to add a space after each sentence of text, as the audio forms component used to enter text doesn't append a space character like word processors do.
Once you have all text entered, press F5 to have the game read it back to you so you can check it for errors.
It might also be helpfull to write your text in a program that has a spell checker first so you can check it for errors ahead of time.
Once you've heard your text, and are happy with how it sounds, just press enter to save the text.
Text squares; unlike other obstacles and viruses; can be moved with the edit command.
Unlike other obstacles, you can edit the text in a square later as well.
It is also possible to stack text squares.
You could; for example; write a square that says something like "this stage is not complete yet", and then write some story text in another text square.
When the stage builder sees these two squares, it will read them in the order they were placed.
When you finish your stage, you can just remove the first square without having to edit the story text at all.
It is also possible to cause a text square to speak once the player completes a stage.
To do this, simply enter stage position plus 1 when asked where to place the text square; for example 301 in a 300 tile stage.
Though you can edit the text in a text square, and even change its position later, the following things cannot be changed after the text square is first placed.
You will be asked if the text square should pause game play while it is being spoken.
This can be useful if you wish to give instructions to the player while a stage is in progress.
If you choose to pause game play, you'll then be asked if you wish the background music; BGM; to be paused.
Finally, you'll be asked if you wish the player to be able to skip the text square.
You can combined these options with stacking to make a text square that pauses game play for most of it's message, and then resumes game play for the rest of the message.

Speech codes

Speech codes are a way of speaking information to the player which may not be static, or that  varies from player to player, such as the player's name.
Simply put these any where in a text square text box and the desired varying text will be  read to the player.
Please note that these codes will not perform their assigned functions while being read in the text square editor of the stage builder.
They will, however,  work in play test mode.

\[USERNAME] displays the user's name.
\[BITS] displays the player's total bits. Note that you gain bits in custom stages, however  the bits are reset on stage completion.
\[ATTACK] displays the user's attack stat.
\[DEFENSE] displays the user's defense stat.
\[HEALTH] displays the user's current health.
\[MAXHEALTH] displays the user's maximum health.
\[LIVES] Displays the user's lives.
\[PLAYTIME] displays the user's total game playtime, as displayed when T is pressed.
\[WEAPON_NAME] Displays the name of the weapon equipped.

Making an epic story

If you're really ambitious, you can go beyond just adding simple text to tell your story.
For those people with a more creative mind; and the proper sound editing programs; the AAC stage builder allows such people to place recordings into their stages to tell their story.
This could be as simple as placing your voice or a few sound effects into your stage, or you could go for a full-on dramatization if you were so inclined.
Please note that text squares an scenes cannot be mixed together.
You can, however, place some text, and then place a seen and the two events will take place in order.
Scenes, like text squares, can be stacked, but text will always be spoken before any scenes play.
Also, please keep in mind that the longer a seen is, the longer it will take to load,and AAC will speak a loading message each time a seen is needed.
Press N to place a seen.
As with text squares, you may enter the stage position plus 1 to have the seen play at the end of your stage.
When placing text and sceens at the end of your stage, please take note that text will play after your stage's ending sceen.
Seens also share the text square abilitties to pause game play and BGM, or to let a seen play during game play.

Saving your work

Once you're happy with your stage, you'll want to save it.
Please note: The stage builder does Not have an auto save function.
Press F10 to save your stage.
You'll first be asked for the name of your stage. This can be anything you like, but please note that other players will see the text you enter at this prompt when selecting your stage.
Next, you will be asked if you want to protect your stage with a password.
If you say yes, please note that a password can be up to 255 characters in length, but please be sure whatever you type at this prompt is something you can remember.
If you forget this password, you will be locked out of editing your own stage.
Please note: Once you assign a password to a stage, it will remain even if you say no to the password prompt the next time you save your stage.
This password will also be required when linking stages together, so other players can't link your stage to their own without knowing the password you chose.
The final prompt when saving a stage is what you want the file name of your stage to be.
This does not have to be the same as your stage's name.
Please understand that AAC will not check to see if a file with the name you enterd exists or not.
Please use F5 to read your file name and be sure it is not something you used for another stage.


Custom music and sounds

In addition to the four built in tracks, the game also allows you to save audio files with  your stage file. The game only accepts ogg files, however. Many converters exist for  conversion from one audio format to ogg.

Disadvantages of using ogg files:

OGG files will make your stage file much bigger. OGG files must be loaded from memory, and  it can be quite costly to the ram.
On the other hand, nobody wants to hear the same tracks and sounds for every stage they play, now  do they? smile

Encoding ogg files.

if you want an easy to use free ogg encoder, I recommend winamp.
It has a built-in ogg encoder based on xiph.orgs ogglib, one of the best encoders around, and perfect for use in AAC's stage builder.
Oggdrop xp should also serve your needs quite well, but winamp has an easier interface.

Finding the sweet spot.

When encoding ogg files, it's important to choose a bit rate that preserves the quality of your sound, but doesn't take up to much space.
128kbps works good for music and sound, but 112kbps works good to.
If using winamp's encoder, it will find a matching bit rate for sounds with lower sample rates or with mono sound, so no extra calculation on your part is needed.
To get to winamp's ogg encoder, open the play list editor with alt E.
Select the files you wish to convert with shift down arrow, then right click on a file.
JAWS users can use numbpad star for this.
On most PCs, you don't even need the jaws cursor.
Select send to from the menu, then select format converter.
Choose ogg from the format list, pick a location to store the converted files; this is usually my music; then choose the bit rate, listed in percent, for your files.
36% works good for me, that's 112kbps, by the way.
45% is 128KBPS, and 50% is 144KBPS.
Select convert and wait a few seconds.
Once the files are converted, copy them to a folder of your choice within AAC's main folder and start using them in your stages!

Conclusion
I hope this document has helped you get in touch with the stage builder in AAC, and; hopefully; your creative side as well.
This document will be updated if needed, so feel free to post comments and suggestions.

Thumbs up +2