Engine02
This article is a stub. You can help WiiBrew by expanding it. |
Engine02 (E02) | |
General | |
---|---|
Author(s) | Stealth |
Type | Game engine |
Version | 11.08.11 |
Links | |
Download | |
Website | |
Discussion | |
Downloadable via the Homebrew Browser | |
Peripherals | |
Engine02 is a script-driven, multiplatform 2D game engine with builds for DOS, Windows, Linux, Intel/PPC MacOSX, PSP, Wii, and GP2X Wiz.
Complete documentation for creating games is downloadable from within the interface in PC and Mac builds, and is also available on the website. A generic template from which to build new games is also available from the in-program downloads list, as well as an open example of fully-featured gameplay.
Games created or hosted by the author and his team are directly downloadable from inside the program. Updates for the program, or any installed game, can also be downloaded from the same interface when they become available.
Currently-Available Software
Games
Megaman: Triple Threat - A Megaman 7 style fangame. Currently an in-progress demo
Sonic the Hedgehog: Project Mettrix - A Sonic 3 style fangame. Currently an in-progress demo
Templates/Examples
Generic Template - A very basic template suitable for simply getting something to appear on-screen
Fangame Templates
Sonic the Hedgehog - A template based on excerpts from the "Project Mettrix" fileset, suitable for creating a Sonic the Hedgehog game, or learning about creating complex games with E02 (At present, this large template has not been updated to use the Alias system introduced in E02 v11.08.11. This update is in progress, and will be released when it is complete)
What's New (v11.08.11)
View complete "What's New" document
Features
- A new build is now available for the GP2X Wiz
- New Script Commands (1440-1472, see index in "Functions" doc)
- Manual opening/creation of and reading from or writing to data files, making possible demo recording/playback, game progress saving, custom data editing, etc
- Load new Player Character data into any existing Player Character slot at any time during gameplay to allow many Character types in a single game without having to expend the RAM to store them all at once
- Load a new set of Global Palette Colors from a PCX/TGA image file at any time during gameplay
- (Re-)Obtain a Tile Map for a Tiled Level Object from anywhere on any existing Tile Plane at any time during gameplay
- Save standard Level Layout and/or Tile Data to the files that were last loaded, or a new location specified by Script Text
- The _SaveObjects Command now accepts a "Register" for the Text ID parameter
- Modify or retrieve (for value testing) the contents of Game Text Strings, enabling visible entry and use of names, passwords, etc
- The Tile Editor has been rearranged to make better use of available screen space, and updated for functionality
- The tiny, hard-to-click arrows have been removed; click options are now activated by left- or right-clicking the option label or its displayed value
- The entire 256-color palette is now available all at once
- An option is now available to place a smaller, less-featured version of either the Tile Selector or Level Editor in the lower-right corner for more quickly selecting tiles from the list or the level layout, drawing to the level layout, and instantly viewing changes to the overall layout image while editing a tile
- Palette entries can now be swapped within the editor for easily organizing colors in preparation for Palette Animation, or any other purpose
- An "Alias" system has been added so that more-easily-memorizeable names can be used for Commands, Variables, settings, etc. in scripts instead of their internal ID numbers. Aliases for standard IDs are included and listed/used in the documentation, and users can modify them and/or add their own for game-specific IDs
- Tile Animations can now be set up more quickly and easily by means of the new automatic Tile Animation frame insertion, which uses the Level Editor's Tile Plane section selection/copy feature
- Shortcuts have been added to both the Tile Editor and Level Editor for filling either an entire Tile or all non-transparent pixels of a Tile with any of the four solidity types
- Sprite Editor "Dumps" of Player Character Sprites will now save these changes directly to the selected Character's Character Def File by default. The external "frames.txt" dump is still available, and can be performed by instead holding Ctrl while pressing Enter
- Sprite Editor "Dumps" of Object Sprites will now save these changes directly to the appropriate Object Def File by default (depending on which set the currently-selected sprite set resides in). The external "frames.txt" dump is still available, and can be performed by instead holding Ctrl while pressing Enter
- When viewing Object Sprites in the Sprite Editor, the Status element that displays the currently-selected set number will now display the set's ID relative to the Object Def that loaded it, rather than its E02-internal ID (Ex: If there are 28 Game-global Object Sprite Sets, the final set's ID will be shown as "27G", while the first "Zone" set's ID will be shown as "0Z" rather than "28"). The same principle has also been applied to the "Ani ID" element
- When viewing Player Character Sprites in the Sprite Editor, the Status element that displays the currently-selected "Animation Function" will now display the set's ID relative to the "Player Character Common Functions" list or the selected Player Character's "Character Specific Functions" list, rather than its E02-internal ID (Ex: If there are 33 Player Character Common Functions, the final Function will be shown as "32C", while the first Player Character's first "Character-Specific" Function ID will be shown as "0P" rather than "33"). Also, the selection will default to the Player Character's first "Character-Specific" Function, and "Character-Specific" Functions belonging to Player Characters other than the one that is currently selected will not be accessible
- A new error message has been added to report when Sprite width and/or height are defined as 0 (or less) for both Player Character and Object Sprites, eliminating crashes due to such settings. Please use a 1x1 sprite that loads a single transparent pixel for "invisible" Sprites or Sprite Frames
- Further optimizations have been made to level collision testing for both Players and Objects
- Message system messages have been made easier to read; each string is now drawn with a background color rather than allowing the game/editor/interface screen to show through
- On program startup, there is now a three-second delay on updates testing that provides time to cancel the connection attempt. Also, when pressing F8 to return to the main menu, the menu comes up immediately instead of again testing for updates first
- The current FPS has been removed from the Level Editor's Status display, since the display toggled by F10 makes it redundant
Bugfixes
- _???=TileInfo(???) commands were treating incoming position values as unsigned rather than signed, which caused negative values to read as extremely high positive values and fail to wrap around the level or looping section boundaries correctly, causing crashes due to out-of-bounds reads. This has been corrected; passing variables containing negative X and/or Y position values will now cause the position to be wrapped properly, eliminating the crash and returning the correct tile data
- Sprite Editor "Dumps" would fail without displaying an error/warning if the "dump" folder didn't already exist in the currently-loaded game's Game Folder. These features now automatically create this folder when appropriate
- "F" for vertically flipping a single Tile Frame in the Tile Editor wasn't working at all, and "M" for horizontally mirroring the current Tile Frame was only functioning on Frame 0 rather than the currently-selected Frame. Also, these features were not functioning correctly in the DOS build with a "vmode" setting greater than 2 (default is 3). These features now function the way they were intended
- All TGA image dumps were output with a single incorrect byte setting in the header, causing them not to load properly or at all in the majority of image editors (except, conveniently, the one that was used for testing). This has been corrected, and TGA image dumps for screen shots, level maps, sprite editor dumps, etc. should now open properly in all editors that support 8bit indexed-color RLE-compressed TGA images