In this video, I'll be giving a brief overview of how existing games were made for E02. Creating new games, and more complete details about different aspects of editing will be saved for later

First, we'll talk about how games are set up. Each game has its own subfolder, just under the E02 program folder

There are two ways a game can be stored - packed, which combines all game data into a single file and protects it from editing, and non-packed, which is the natural state of a game during development- files are stored individually and are ready for editing. The built-in editors can't be activated on a packed game

I'll be using the Sonic Example game, just because it's the best open example so far. Remember that everything that makes this a Sonic game is stored in this folder, and is not bulit into E02. Most of this is done here, where the general game functions are stored, here, where functions controlling the game-global objects like rings, monitors, and springs are stored, and here, where the functions and setup scripts for the Sonic, Tails, and Knuckles player characters are stored

There are a few different types of files that are necessary for creating a game, but in general, they fall under two categories- script files, and binary data files

Script files are plain text files that can be opened in any text editor, and contain at least one of three types of data-

Setup scripts call for the loading of important data and code files, and contain data for setting up core game aspects like objects and player characters. This is the setup script that creates all of the global objects for this example game

Setup scripts sometimes call on files that contain only script code, and sometimes even contain code directly. The code scripts are what define the specific behavior of the game and everything in it. This file contains the code that controls the movement and general management of all global objects in this game

The final type of script is a data script. These contain raw data values entered in text form, which aren't used by E02 directly, but are made use of through script code

As for binary data files, they contain raw data that isn't human-readable, and has been generated either by E02's built-in data editors for use by E02 directly, or special, game-specific external programs made by the game developer or a third-party, for use with script code

Some editors can be used outside of gameplay, but some are only available when a game is loaded. For simplicity, we'll talk about editing existing games first

Remember that this is just an overview for getting properly oriented, and specifics about the usage of each editor will be discussed later

To edit data related to any particular level of a game, that level has to first be loaded. One way is to enter it in gameplay

Once inside the level, hold ctrl and press tab to enter editing mode

First of all, while in editing mode, the music can be disabled by pressing the 9 key, and re-enabled by pressing 9 again

When you first enter editing mode, you'll be sent to the Level Layout Editor. This is where you can edit the structure of the level, but not the graphics or the object placement

You can also use this editor to set up how the background layers will scroll

Most editors have status displays that show certain data properties and have certain clickable options. In this editor, the status display spans the top of the screen

In addition to the click options for switching between editors, the 1-4 keys can also be used

The 4 key switches to the Object Layout Editor. This is where you can place Objects into the level, delete Objects from the level, or change the properties of objects already placed in the level

The status bar for this editor also runs along the top of the screen

Pressing 3 will take you to the Tile and Palette editor. This is where you can draw or edit the 8x8 tile unit graphics that are used to build the level, as well as their collision properties. There are features in the level layout editor that allow you to work with larger structures, but the 8x8 tile is the basic unit that's ultimately used by the engine

This editor is mostly for quick additions and touch-ups, as far as graphics are concerned. Primarily, the level ripper is used to import level art by converting larger images directly into 8x8 tiles and automatically rebuilding them as level layout structures. We'll go into that more later

You can also manipulate the color palette from here

Other options are available to create color animation and tile animation effects, which simulate things like rolling waterfalls, sparkling lakes, and flashing or moving background elements

Pressing the 2 key will switch to the Sprite Editor. This is where you can import sprite graphics for both player characters and objects, and where you create and modify the collision boxes for each of their frames

Pressing the 1 key from any other editor will take you back to the Level Layout editor

There is also a tile select list that's available if necessary. You'll enter the tile select if you press the key that corresponds with the editor you're already in. For example, pressing 1 while in the Level Editor will take you to Tile Select, while pressing 1 again will take you back to the Level Editor, as in any other mode

Remember that the Level Ripper and certain features of the Level Layout Editor make the tile selector largely unnecessary, but it's there in case it's ever needed

You can return to gameplay at any time by again holding ctrl and pressing tab. Any changes you've made will be reflected immediately, but they -haven't- been permanently saved. This is useful for testing, but make sure that if you've made any important changes, you've saved them before leaving the editor, because you're editing the same data that's used during live gameplay. The same is true before you've entered the editor- any significant gameplay prior to entering the editor will have changed some of the data, so be sure to enter the editor from a clean start

The best way to ensure a clean start for editing is to use E02's warp utility. You can do this from the command-line as described in the documentation, or you can use the utility interface

The A and Z keys will cycle through values for zone and act. Use the spacebar to activate the "start editor" option, so that when the game starts, you'll be immediately sent to editing mode

Keep in mind that even when starting the editor this way, the "act init" function for the level will still run, because it's responsible for loading the layout, tile, and object data, and it may perform other operations that could affect the level. For example, in this game, one of its operations ensures that the screen starts from total darkness for the fade-in, which has caused all palette colors to be black even in the editor. This can be changed by entering a different editor, such as pressing 1 twice to switch to the Tile Selector and back to the Level Editor quickly

The level init function in this game also calls an "object init" step that makes certain changes to certain game objects, such as ensuring 1ups display the correct icon for the current player character, making sure all the correct starposts are triggered on level restart, and deleting competition mode signpost when the game is started in 1-player or cooperative mode. Some of these changes are harmless, but the competition mode signpost will have to be placed again if one already exists, and if objects are being edited. In a case like this, it would be best to either place the signpost only after all other object layout is finished, or to manually disable the deletion of the signpost before editing, and re-enable it after. Both are beyond the scope of this introduction video, but it's important to be aware of the effect that the level init function can have on editing

The main menu has other development options, including the previously-mentioned level ripper, which can all also be used from the command-line, as described in the command-line document

As stated earlier, this level ripper is largely responsible for setting up level graphics, and even parts of level layout. It can take the contents of a PCX or TGA graphic image, break it down into tiles for E02, and rebuild the complete image from those tiles so that it can be used in the level layout editor. We'll get into specifics about importing level structures later

That covers most of the basics. Later videos will go into detailed usage of the editor, and creating entirely new data and games. Until then, I hope this has helped you to find your way around E02 and its games, and maybe made the written documentation a little less imposing