WORLDS OF WETSPOT The WetSpot 2 World Editor version 1.0 by Enhanced Creations 1997-98 Documentation file INDEX _______________________________________________________________________ 1 - What is Worlds of WetSpot 1.1 - General info 1.2 - WetSpot 2 worlds 1.3 - Editors inside the editor 2 - The area set editor 2.1 - Introduction 2.2 - Tiles 2.3 - Palette 2.4 - Other stuff 3 - The level editor 3.1 - Introduction 3.2 - Editing the level 4 - The world table editor 4.2 - Introduction 4.3 - World credits 4.4 - Compiling worlds 5 - Now it's up to you... 5.1 - Publishing a world 5.2 - Program limits APPENDIX A - Hints on making your own world APPENDIX B - Compiling messages APPENDIX C - The WWD file structure ----------------------------------------------------------------------------- ============================================================================= 1 - WHAT IS WORLDS OF WETSPOT ============================================================================= 1.1 - General info Worlds of WetSpot is a world editor made for WetSpot 2. At the beginning it was thought to be only for internal development, but day after day it became a more professional program, so now you can see it as is. The world editor requires to be in the same directory of WetSpot 2. If you don't have such a game, what are you doing here? Go now to my site and take it! My page is the QuickBasic Enhanced Programming Page, and it's located at: http://www.geocities.com/SiliconValley/Lakes/7303 If you have any comment, suggestion or you simply want to contact me, send a message to: angelillo@geocities.com -or- angelillo@usa.net As the game, this editor requires some free EMS memory (196 Kbytes) to run, so if you don't have it and you don't know how to do, take a look at the README.TXT file provided within the game packet. A standard mouse is also needed. The first time you'll run the program (you must be in the game directory!), it will create four directories for you, containing data files; later you'll understand what's the purpose of each of them. 1.2 - WetSpot 2 worlds WetSpot 2 was thought to allow the user to build his own levels, so here we are; a world file (with extension ".WWD") contains all the levels data, excluding the MIDI musics. A world is devided into areas, each of them containing five levels with the same graphics and the same music (if available); up to 20 areas can be stored into an unique world file. For more informations, see the README.TXT file of the game. Once you create a world, all its files (including musics, if available) must be in the same directory of WetSpot 2. Run the game and select the LOAD EXTERNAL WORLD option on the main menu: select your world and you'll be able to play with it. 1.3 - Editors inside the editor As said, a world is devided into areas, each divided into five levels. An area contains the tiles graphics, a title, the MIDI music file name to play during the game and other things. All this stuff is handled by a single editor, which saves it into a data file named "area set"; you can have as much area sets as you wish, and you'll need them to edit a level with. Then there's the level editor, which allows you to build the shape of your levels, adding enemies and much more; this saves your level into another data file, needless to say, named "level". Once you've made your area sets and levels, you'll need to put all them together into an unique world file; this is the purpose of the third editor: the world table editor. This allows you to select the world title, the area set file for each area, the levels files and more; it's from here that you'll build the final version of your world. So let's examine each editor to see their features... ============================================================================= 2 - THE AREA SET EDITOR ============================================================================= 2.1 - Introduction Before attempting to make a level, you'll need an area set to edit it with. Area set files are stored into the "SETS" directory; they have extension ".SET". To enter the editor, select the NEW AREA SET or LOAD AREA SET options in the main menu; in the last case, you must choose a set from the list (a preview of the selected one is shown on the small right window), and then press the OK button. 2.2 - Tiles The main purpose of the area set editor is the making of the tiles. Each level (and therefore each area) can have up to 5 different tiles: the first is used as the fixed block tile, the second as the moveable one, and the other three are used as background floor tiles. To select which tile to edit, click with the right mouse button the thin window on the left of the screen: a bright blue box will surround the selected tile and it'll be shown zoomed into the bigger window, with its name above it. To edit a tile, you must choose a color from the current palette window (on the upper-right side of the screen), and then left-click on the zoomed tile to draw a single pixel. There are a lot of special tools for tile editing on the left-bottom corner of the screen: the first four buttons can shift the tile, the fifth can duplicate it (it'll be asked to select a destination slot: click on a small tile on the thin tiles window, or CANCEL to abort operation). Then there is a tool to rotate the current tile by 90 degrees, and two others to horizontally or vertically flip it. Be careful, because there's no UNDO button, and your changes will be saved to disk. 2.3 - Palette When you start a new area, the default palette is set to a blank one, with one white color only; but 16 of the available colors can be easily changed, according to the use you want to do with them. Left-click on the RED, GREEN or BLUE bars to change the current color hues. Only the last color cannot be modified, because it represents the transparent color; you'll notice it because the hue bars get gray when you select it. Remember that the background tiles MUST NOT contain transparent pixels, otherwise you'll get an error while compiling your world. 2.4 - Other stuff An area set also allows you to define the area title (the one which waves when you reach a new area); left-click on the CHANGE TITLE button to edit it. If you want your area to have its own music, click the CHANGE MUSIC button; you'll be prompted to select a MIDI file from a list (MIDI files are kept into the \MIDI directory). Musics can also not be present into a world, it's just up to you. In addition, each area prints game informations (PAUSE text, frame rate and other messages) with a particular color; well, you can choose this color according to the tiles you made. There are lots of available colors, and when you choose the TEXT COLORS... button, a preview of each color up on your current tiles will be shown, allowing you to select the best one. Once you've done the area set, you can exit and save your work by pressing the SAVE AND EXIT button; you'll then return to the main menu. ============================================================================= 3 - THE LEVEL EDITOR ============================================================================= 3.1 - Introduction If you haven't yet made any area set, you'll not be able to access this editor. Infact, a set of tiles is required to successfully display the level, so when you try to create a new level or to load one (from the main menu of course), you'll be first prompted to select an area set. Well, when you enter the editor, you'll see the current level shape on the screen, drawn with the selected tile set. All the level files have extension ".LVL" and are stored into the "LEVELS" directory. 3.2 - Editing the level By pressing the right mouse button, a window will appear on the center of the screen: it's the tools window. A tool can be any kind of object you can place into the level, from simple bricks up to players, enemies and hidden bonuses. The current selected tool is surrounded by a bright blue box; select a new tool with the left mouse button, and then press the right button again to come back to the level editor. Here you can use the selected tool by pressing the left mouse button; in this way you'll place bricks and every object. There are a few rules to keep in mind: þ When you want to replace a player or an enemy, you must first delete it with the eraser tool. þ A maximum of 16 enemies per level is allowed. þ Every bonus can be placed only over a moveable block. From the tools window you can also change the level time, as well as exit and save you work, by clicking on the SAVE AND EXIT button. ============================================================================= 4 - THE WORLD TABLE EDITOR ============================================================================= 4.1 - Introduction If you have created area sets and levels, you'll probably want to put all together and create an unique world file. This is the main purpose of the world table editor; a table file is mainly a list of existing files (area sets and levels) plus other informations, it has extesion ".TBL" and it's stored into the "TABLES" directory. As said, a world contains from 1 up to 20 areas, so you'll have to select each area set file, and for each area five level files. If a file has not been yet selected, the "????????.???" string will be displayed in the list, and you'll have to press the button near it; this will bring you to the usual file selection window, with a preview on the right. To change area, click on the NEXT AREA and PREV AREA buttons. If you want to clear all the current area entries, just click on the CLEAR button; remember also that each area MUST have a password made of 4 characters, so click on the PASSWORD button to edit it. At the end, you can edit the world title and author, by clicking on the respective EDIT buttons; clicking on the CREDITS button will bring you to another window... 4.2 - World credits The CREDITS button opens a new window, allowing you to edit the ending credits that will be displayed at the end of the game; clicking on a line of text will let you edit it. Remember that these lines of text will be centered on the screen... Once you've done, click on the OK button to return editing the world table. 4.3 - Compiling worlds The COMPILE TO WWD button on the table editor lets you build your own world file (with the table file name but with extension ".WWD") that's ready to be loaded from the game. Once you click on this button, the program will examine the current world files (area sets, levels and table) to ensure that the new world contains no errors. With "errors" I mean a lot of small oversights, such as that an area doesn't contain a valid password, or that the table doesn't contain a complete area... See "APPENDIX B - Compiling messages" for details. When compiling, the program will find the last area which has all the five level files successfully selected; this will be the number of areas of the current world, and every uncompleted area following it will not be considered. ============================================================================= 5 - NOW IT'S UP TO YOU... ============================================================================= 5.1 - Publishing a world I'll be glad to publish your world up on my page. All you have to do is to send it to me, possibly together with a text file with world informations, in ZIP format via E-Mail attachment. My E-Mail address is at the beginning of this document, as well as my page address. *** I'm waiting for your works!! *** 5.2 - Program limits Worlds of WetSpot isn't the best program out there. As it was thought for internal development, isn't pretty simple to make worlds with it; if you can, I suggest you to build your own world (if you can do better than me), and to send it to me so that I can put it up on my site; I'm giving you the WWD file structure (see APPENDIX C) for this purpose. A great improvement would be to avoid the multiple files (.SET, .LVL and .TBL), and to allow the user to edit directly the world file, but this is only a hint. Currently the editor (v1.0) has these limits: 1) No undo buttons in all the editors: if you make a trouble, you can't come back on your steps. 2) Multiple small files that makes your directories full of stuff 3) The editors look a bit hard to work with ============================================================================= APPENDIX A - HINTS ON MAKING YOUR OWN WORLD ============================================================================= Here follows a list of the few things you should keep in mind while creating a new world: þ The background tiles look better if they're composed of dark colors þ The shark enemy is very special. It cannot move into passages with the width of one cell only, it needs two free cells; so always put it aiming towards free cells þ Put minimum 10 moveable blocks in all your levels, because a player mus be able to kill all the enemies þ Remember to adjust the difficulty þ Don't put too much bonuses þ The music .MID files MUST be put into the wetspot 2 main directory, as well as into the MIDI directory created by this editor; infact the midis found in the main directory are used by the compiled world, but the editor searches for them into that second directory when you select a music for each area. -> You'll have to make two copies of the same file, sorry! ============================================================================= APPENDIX B - COMPILING MESSAGES ============================================================================= When you compile a world, your work is examined, and if all is ok, a WWD file is written to disk, otherwise there should be some warning or error messages. Warnings are messages to advice you something MAY be wrong, errors stop the compiling process; anyway most of them shows in which file is the problem. Warning messages: þ "World has no title." You have a blank world title; set it into the world table editor. þ "World author's name not specified." Same as the world title. þ "World does not contain credits." All the credit lines are blank; set them into the world table editor. þ "Area #xx () has no title." Area 'xx' has a blank title; set it into the area set editor. þ "Tile #n of area #xx () is a blank tile." The specified tile has not been drawn; look this in the area set editor. þ "Area #xx () has no music selected." If you want, select a new music in the area set editor. þ "Time too low on area #xx-x ()" The level time seems to low for the number of enemies on it. You can check this in the level editor. Error messages: þ "World does not contain completed areas!" The world compiler was not able to find an area with all the files correctly selected in the world table; this may also occur if the first area is not complete. Select at least all the files for an area. þ "Area #xx has a bad password; it must be 4 characters long!" The password selected on the world table for the given area is not valid: it must not be blank and it must contain 4 character, so check it on the world table editor. þ "Floor tile #n of area #xx () contains transparent pixels!" Background tiles cannot contain transparent pixels, so check this out in the area set editor. þ "Player #n position not set on area #xx-x ()" On each level must be set the starting positions of players, otherwise you'll have to check it into the level editor. þ "Cells next to a shark must be blank on area #xx-x ()" As said, the shark enemy is special, and must have free all the 3 cells in the direction it's aiming. Suppose the shark to be going in the bottom-right direction: the 'O' is the shark, and the # are the cells that must be free: O# ## Check this in the level editor. þ "Area #xx-x () has no enemies!" No enemies were found in the given level, and this must be fixed in the level editor. ============================================================================= APPENDIX C - THE WWD FILE STRUCTURE ============================================================================= This section contains a description of the WetSpot World Datafile (WWD) file format. Each data is characterized by a number of bytes (the first value is the file position, the second - if available - shows where the data ends), a data type (in QB format) and a description. bytes data type description 1-5 STRING*5 File identintification string: must be "W2WDþ" 6-7 INTEGER Number of world areas 8-37 STRING*30 World title 38-57 STRING*20 World author 58-137 (STRING*4)*20 20 passwords for up to 20 areas. Each password is made of 4 characters 138-737 (STRING*30)*20 Ending text. It's formed of 20 lines, each made of 30 characters ----------------------------------------------------------------------------- Here ends the world header. The following data represent each area contained in the world, so it can be repeated up to 20 times; an area (together with all its 5 levels) is 5738 bytes long, so to access one, just add an offset to the 'bytes' value like "((numarea-1)*5738&)+byte&". bytes data type description 738-767 STRING*30 Area title 768-815 STRING*48 Palette data. Contains 16 colors available for the tiles, each stored as an RGB string (each color is formed of 3 bytes, each representing a hue, for a total of 48 bytes) 816-2095 (INTEGER*128)*5 Data for the five tiles of the current area. Each tile is a 16x16 pixels sprite, for a total of 256 bytes. The pixels are stored line after line. 2096-2103 STRING*8 Area music MIDI file name without extension. If the file cannot be loaded during the game, no music is played. 2104-2105 INTEGER Area text color index in the game palette ----------------------------------------------------------------------------- From here begins the levels data. This section is repeated five times for each area, and each level data is 874 bytes long. So as the areas, add an offset specifying which level to load data from. bytes data type description 2106-2585 INTEGER*240 Level map. A level is made of 20 columns and 12 rows, for a total of 240 cells. Each cell contains the data for its background tile, the block over it (if present) and its bonus. See the "GetBlockInfo" function on the game code for details. The cells data are stored row after row as the tiles data 2586-2587 INTEGER Level time 2588-2971 EnemyType*16 Data for the enemies of the current level. See the EnemyType description on the WETSPOT2.BI include file provided with the game 2972-2973 INTEGER Player one x starting position given in horizontal cell coordinate 2974-2975 INTEGER Player one y starting position 2976-2977 INTEGER Player two x starting position 2978-2979 INTEGER Player two y starting position ----------------------------------------------------------------------------- End of document