### The Pong Map Editor Tutorial
Pong Ultra Map Editor Tutorial Ver. 1.0 Last Updated 4/30/2003 Please Read License.txt before using Written for Pong Ultra ver 1.1 Copyright Hard Rock, The Stars Dev Company For A list of Fixes and Changes Please See Section 6.3 Changes/Errors

### Table Of Contents
1.0 Introduction 1.1 The Map Editor 1.2 Why Make Maps? 2.0 Controls 2.1 Overview of Menu Commands 2.2 All not covered Functions 3.0 Making the maps - Graphics 3.1 Making your own map 3.2 Changing Tiles 3.3 Saving your map 3.4 Loading a map 3.5 Map type 3.6 Changing your tileset 3.7 Ball Animation 3.8 Closing 4.0 Create Tileset 4.1 How it Works 4.2 Supported Formats 4.3 Notes 5.0 How to create a level set 5.1 The Packfile 5.2 An Example 5.3 Advanced Options 5.4 Testing your Packfile 5.5 Sending us your packfile 6.0 In Closing 6.1 Comments/Suggestions 6.2 List of Changes/Errors

### 1.0 - Introduction
This Tutorial was made, because I have realized that while the Map Editor that ships with this game is stable, and will catch most users mistakes, it is not the most user friendly piece of software one can find. This tutorial aims to fix all that. If you find any mistakes in this tutorial, please email me so I fix it!
### 1.1 - The Map Editor
The Pong Map editor included in this game is the exact same one we worked with. It's not crippled, limited in any way. Heres a small screenshot of it in action: Fig 1.1 - The Map Editor We hope that you the user may find a use for this editor, and make some maps to share with the rest of the players, or you can not bother at all, but if you found thus tutorial well/poorly written, could you tell me? We are considering in future games allowing additions like sounds and maps, so we would like to know how user friendly it is.
### 1.2 - Why make maps?
So you have something to do when facing extreme boredom, other than making counter strike maps. Just kidding. Well because it will support us, and depending' on how well this game does (okay i admit, map editing for a pong game wasn't the greatest idea, but if we ever add breakout like stuff, it might be pretty cool), is how well it will be supported in our next games. (or even better, you can donate some code to this project).

### 2.0 - Controls
- Some Commands you may wish to remember.(Well, you will need to use them) On The Map Editing Screen ------------------------- Escape - Bring Up Main Menu S - Take Screenshot (dump.bmp is created) Alt-X - Exit the map editor Left Mouse - Place Down a Tile Right Mouse - Change to Tile Choosing Screen On The Tile Choosing Screen ------------------------- Left Mouse - Select a Tile Right Mouse - Change to Map Editing Screen 0 - Change Tile Properties To Normal Blit 1 - Change Tile Properties To Rotate 2 - Change Tile Properties To Animate
  ### 2.1 - Overview of Menu Commands
- Here we will run through the menu commands, heres a quick image: Fig 2.1 - Basic Menu Functions File - Leads to a sub menu Themes - I wont cover this in detail, but when you select an option from any of it's submenus, you can choose a new skin for the map editor. Help - Nothing Can be found here, except an about option which is the same as the opening text box you'll receive when loading the map editor. New - Create a New Map Load - Load a Map Save - Save Current Map With Current Settings Close Map -Closes the current open map Save as - If you want to save with a different file name Create Packfile - See Section 5.0, Essentially lets you make a pongu compatible map. Create Tileset - If you have an image, and you want it converted into tiles, use this function and it will do the trick And Now For a few more advanced options: Fig 2.2 - Advanced Menu Functions Edit File Names - Remember all the settings you typed when you made your map? Well here you can change them. Map Type - Currently Lets you change to 2 Player/4 Player/Solo Map Type, each with their own settings Set 4 Player Boundaries - This is 4 Play Map mode only, lets you specify how far each paddle can move in a set direction. Change Ball Animation Stats - This lets you set how many frames the ball uses in the game, i does not affect the map editor. 1,2,4,8 are all available. Set Solo Boundaries - As you've guessed, this is for solo mode, and lets you set the solo mode boundaries.
  ### 2.2 - All not Covered Functions
For During Tileselect Mode, Pressing a certain buttons changes the selected tile accordingly. 0 - Tile becomes normal, is simply displays 1 - Tile Will rotate on it's own slowly, on the spot 2 - Tile Can Animate, a menu will pop up allowing you to set animation statistics And i know i said i wouldn't talk about the skins anymore, but heres a brief example of how it changes the current skin: Fig 2.3 - Skinability Thanks goes out to spellcaster for creating lexgui, which was used for skins!And allegro for it's gui routines.

### 3.0 - Making the maps - Graphics
This is the first, and a very important step in making maps. First you need images to use in your maps, how do you make them? Well we did most of the work for you, in the Pong Map/Blank_Tiles/ Folder, you will find 3 .bmp files. These are the layout which you must base your maps on. Do not erase these, instead make a copy of them and place the copy in your Pong Map Folder. Now rename them to anything you wish. (make sure it is less than 20 chars in length). Fig 3.1 - A Brief View of all the tilesets Now, This is essentially the layout for the map, all the art you do must fit in to these squares. In Fig 3.1: The tileset represent where all the backround images will go. Each is 32x32. You may fill up and leave blank as many tiles as you wish. The Ballset is where the ball animation images go. You can change the settings in the map editor for using how many ball tiles, with options of 1,2,4,8. The Paddleset Represents the Paddle images, you must fill in all 4 if you are using it for a 4 player map, otherwise 2 is acceptable. There are a few importants things, ONE is that for 8 bit images, transparency is Colour 0. So if you have a paddle with colour 0, you will see through it. In 15+bit images, however, a colour or bright pink, or rgb's of (255,0,255) is transparent. Its important to remember this. Well now you know what the images are for, lets try filling in some temporary graphics to use during this tutorial, what i did was use the paint bucket and fill in each tile a simple colour to demonstrate how everything works. Fig 3.3 - Example Graphics Set Yes, i know it's not pretty, but it'll do for now. Now Lets move on to the next section and see just what you can do with this.
### 3.1 - Making your own map
Well, Lets make our first map, the first thing we must do is select the menu, so press escape to bring it up. Now with the menu up, select "File->New" You'll get the following: Fig 3.4 - New Map A Description of each box Map File Name - Here you place the name or your map, an enforced rule is that this must end in .map, and like all windows files, will not accept special character. There is a 20 char limit. If you do not end it in .map, you will get an error. Tileset Name - This is required to work, if this is invalid, your map creation will fail. Remember the tileset we created in 3.0? Use it here. (it is an image file) Currently the game supports some jpeg's, tga,bmp,lbm and pcx. Paddlefile Name - The name of your paddle tileset, this is not required for use in the map editor, it will warn you however, and you will be unable to create a Pong Ultra compatible file if it is not valid. Ballfile Name -The name of your ball tileset, this is not required for use in the map editor, it will warn you however, and you will be unable to create a Pong Ultra compatible file if it is not valid. Map Name - This is the name you will see in the game, feel free to be creative! You can change these settings at anytime in the map by going to : "File->Edit Settings->Edit File Names". Now that we know how to create a map, lets actually place the graphics!
### 3.2 - Changing Tiles
Yes, we're here at last! Now, this is going to be the longest section in this tutorial, and the most important, it will be here where you will learn how to Create your maps. Okay now that you have finished section 3.1, and you can now place tiles on the map, the first thing you do after creating a new map is that you will see a screen that shows the very "first" tile in your tileset over and over. That is okay, the map editor does this by itself, its not a bug. We will want to change that. On my map, that means the whole backround is green, because my first tile is green. Now press the right mouse button, you will get something that looks like this: Fig 3.5 - TileSelections Screen Okay, i know its not pretty, but like i said earlier, all i did was use the paint bucket. Now at this menu, here is where you can choose a tile to place on your map, left click on the tile you want to use, now right click again to get back to the old screen. Now we can place this tile we just selected, click down and hold the left mouse button and move the mouse over the screen, cool huh? You can draw! I selected the blue tile and drew and X, as seen in figure 3.6 Fig 3.6 - My Map Cool huh? Alright, you now know some cool stuff, and you can draw your maps. But how do you do those nifty effects like animating and rotating? Well ill tell you now. First Right Click to go to the tileselection screen, and choose the tile you just put all over the map, for me it would be the blue tile. Click on it, but now, rather then going back, press 2 a menu like so should pop up: Fig 3.7 - Animation Properties. What do you do with this? Well first off, theirs an animation 0, which is the current tile that is selected. What you do is for each animation option from 1-4 you type in a # of a tile that you wish the tile you have selected, to change into. It will cycle through these at constant intervals. If you do not wish to use all 4 animation boxes, simply enter -1 into the box you don't want to use past and that and any other animations after will be ignored. How do you a find a tiles number? Well you "could" count them (starts at 0, moving sideways moves up by one) or you you'll notice when you click on a tile at the bottom it will tell you it's number. There are 265 tiles in a tileset. Also the animation will take effect right when you go back, simply right click and the animation will begin. Other effects are 0 - Normal Tile 1 - Rotate Tile (is automatic) 2 - Animate Tile Tile animation stats are also shown at the bottom, along with the tile number. Yes! You now know everything related to the tiles and the map, progress has been made!
### 3.3 - Saving your map
Well, this is very simple, to save your map at any time simply click "file->save", this will save the map as the Map Filename you specified at the beginning. However if you do not wish to use this name, me made the "save as" function, simply use "file->save as" and you can do so! Please note, maps will be saved in the same directory, do not try to use /new dir/namehere.map, as it may cause problems.
### 3.4 - Loading a Map
Another very easy topic. To load a map, make sure the map is in the same dir as the map editor, and then just do: "file->load" and type the name of your map. Thats it! and remember to keep the map in the same dir!
### 3.5 - Map Type
What is this map type? Well go to "file->edit setting->map type", you will get 3 options. What are they for? Well: 2 Player - 2 Paddles are two sides of the level(left and right), no boundaries exist. 4 Player - 4 Paddles are on all sides of the level, you can set boundaries by 4 player boundaries/ Solo Player - 1 Paddles and a wall. You can set boundaries under set solo boundaries. Okay, so what does this set boundary thing do? Well it basically creates walls that the ball will bounce off of in game, there is no evident markings for them, so you will have to design your maps to make them stand out. However we made life easier by making sure that the boundaries only go in tile increments.
### 3.6 - Changing Your Tileset
This is very simple, remember at the beginning when you learn how to create a map? Well what if you ever want to change these settings? Well go to "file->edit setting->edit file names" you will see the same image you saw when you first created the map, except all settings are already filled in. Feel free to change whatever you want and press okay, if everything goes well, your new settings will automatically be active (if you change the tileset, you will see a new tileset). Thats it!
### 3.7 - Ball Animation
Following the tradition of having really short section after a really long one(or to save me from writing more) this is a very simple topic. Basically, you can select how many ball tiles you wish to use by going to:"File->edit settings->change ball animation stats" This will allow you to change how many frames the ball uses from 1,2,4 and 8. Be sure however, that you have that many frames in your tileset!
### 3.8 - Closing
To Close a file, simply press "file->close map", this will pop up a dialog alerting you to save if you do not do so then let you close the map. NOTE: Exiting and Pressing Alt-X Will NOT prompt you to save your map if you have done so in this current version.

### 4.0 Create Tileset
This is a function that lets you take any normal image, and convert it into a tileset, usable with Pong Ultra. So, instead of doing your art tile by tile, you can just draw it and have this little utility create the image for you. Some things to take into consideration is this tool is not perfect, and is sort of like a bonus. It needs a bit of works still. Your image should be divisible be 32 and best would be 640x416 as that is that map length. When you create a tileset the name would be: yourimage.jpg->nyourimage.bmp. Yes thats right, currently this tool only creates .bmp's, but it can read all Pong Ultra's Supported formats. Lets Create one!
### 4.1 Create How it Works
Well first you need an image you wish to convert, here ill be using the following image, courtesy of Jark and his TClib 1.4 which can be found at: Tclib Download Fig 4.1 - Our Sample Image Looks pretty cool, huh? Anyways, I'm going to say this image is called example.jpg (Please note, currently, Not ALL jpg formats are supported) example.jpg. No the first thing that needs to be done, is to put this image in the pong map editor directory. With this done, load up the Create Tileset tool in the Pong Ultra Map Editor, by going to : "file->create tileset", you'll get the following: Fig 4.2 - Create a tileset Now in that box, we will type in the name of our image, example.jpg. Press Okay. The map will now be created, as nexample.bmp and look like this: Fig 4.3 - The New Tileset! Well, that looks very cool, but its not the same, what went wrong? It doesn't look the same? Well, NOTHING. The only reason it looks different is because of a little mistake on my part, since i decided to make the tilesets 640x480, so because of the lines, i loose a tile per row, so everthing has to be shifted over by one. However, the tileset has all the required tiles, in a position where they can now be applied to the map. Your done!
### 4.2 - Supported Formats
Okay, here is a brief list of the formats again, Currently this tool only exports to .bmp format. Supported Formats: TGA BMP LBM JPG(standard encoding) PCX And that would cover them. These are also supported for the map.
### 4.3 - Notes
As of writing, this tool is currently far from perfect, a few things we hope to fix in the future are being able to save in multiple formats, perhaps also creating a map, as well as a tileset, and fix its strictness on the image size.

### 5.0 - How to create a level set
Wow, were on probably the most important part of this tutorial, and what would that be? Well, how to create Pong Ultra Playable levels of course! So how to you create a level set? Well the first thing you need to do is create 1 - 10 Pong Levels. With these, you then can create a Packfile, they however must have all settings properly filled out or it wont include the maps which are incomplete or missing some file. Which leads me on the next section:
### 5.1 - The Packfile
What is the Packfile? Well it is a whole bunch of Pong Maps, bunched into 1 file, and also has a little reference file so that Pong Ultra can detect the maps and it setting. One of the files ends in .npk(the reference file) and the other in .pak(the packfile). How do we make this? Well soldier, on to the next section(heh, what a waste of two titles).
### 5.2 - An Example
Yes, here we show you how to make one, so the first thing you do is go to: "File->Create Packfile" Now the following will show up Fig 5.1 - The New Packfile Dialog. Now the very first option "Packfile Name" is what the .npk Should end in, for the example we will use Test, this means that both test.npk and test.pak will be created. Both are vital to the packfile(in fact, they ARE the packfile). The rest of the options except for the last ones, are mapnames. Insert mapname.map for each one to as many as you wish. Once you've done that, you may fill in the comments field, this will be shown in the game feel free to put a copy right here with your name. Now Press okay, and lets see what happens. Fig 5.2 - Successful Map Creation. Yes, the map was made perfectly. All four maps i entered were added. However please not that if any of your maps ball tileset, or paddletileset are not set correctly the map will be ignored, and the next map will be added.Also if you enter an incorrect map name, it will also be ignored. Unfortunately, as of writing, the map editor doesn't not tell you which maps were not added, you'll need to find that out yourself.
### 5.3 - Advanced Options
Currently, there is only one advanced option, its tournament mode. Remember that little checkbox in fig 5.1? Well if you check that, than when playing your levelset in pong, the player will have to unlock all 2 Player levels. Unfortunately, it wasn't implented as well as planned, and leaves a bit to be desired.
### 5.4 - Testing Your Packfile
To test you packfile, you take the two files that were created, in my case test.pak and test.npk, and copy them, than drag them to you "Pong Game/Maps/" folder. Here You will paste them, now to test it, all you have to do is load up Pong Ultra and your maps will be automatically detected. Cool huh? Please note that when run like this yourpak.npk may be modified, if so you will be unable to submit it as a map, so make sure you have a clean copy!
### 5.4 - Testing Your Packfile
After you've made a map, you might want the rest of the world to be able to use it, so there are a few rules: Put your maps in .pak file Send the maps in a .zip file, with both myname.npk and myname.pak DONT SAVE SCORES ON THE .NPK, or we will not upload it. You may want to add a .txt file, with your name, what the levels called and a website/email. (a sample layout can be found at the site) Go To http://pongu.sf.net to submit it and follow the rest of the instruction there, as they change from time to time.

### 6.0 - In closing
Whew, were at the end of the tutorial! Yes, you are now a master pong ultra map maker, so get out there and start sending us some of your top quality maps! We can always use more! I really hope that this tutorial helped, and if it didn't please tell me how i can improve it to make it better, i tried to make everything in plain english, and not be to technical. And also, thanks a lot for reading this, this game and tutorial both took a lot of hard work!. Martin aka Hard Rock
### 6.1 - Comments/Suggestions
Was there anything that you couldn't understand? Or do you have ideas that could make this tut or game better? Or if you just want to say hi, feel free to email me or got to The Website and post on the forum your suggestions, we want to here from you. Also please report any spelling/grammatical errors you catch so i can fix them!
### 6.2 - List of Changes/Errors
Nobody is perfect, not even me so here i will put all the mistakes that were once in this tut and changes that have occurred from edition to edition. This is the first version, so no errors listed yet. (I it through a spell checker, I think though, lots of "I"'s arnt'y capitalized, but otherwise errors shouldnt be severe.