Jump to content

User:Gau~enwiki/PK Hack

From Wikipedia, the free encyclopedia
PK Hack
Developer(s)Wikipedia editor "AnyoneEB"
Stable release
0.5.11 / March 24th, 2006
Operating systemCross-platform
PlatformJava
TypeROM hacking
LicenseGPL
Websiteanyoneeb.ath.cx

PK Hack is a Java program which aims to let users create their own RPG-style game using the Super Nintendo video game EarthBound's engine in an easy-to-use graphical interface. After loading the ROM image into PK Hack, a user can edit, among many other things, the map, the text of NPCs, the sprites, and even the photos displayed at the end of the game during the credits. Although the plurality of PK Hack's utilites are built for Earthbound, in fact PK Hack modules can be written for any Super Nintendo game.

A Brief Version History

[edit]

PK Hack 0.1

[edit]

The original PK Hack (version 0.1) was created in the late 1990s. It was a program that was limited to a simple enemy entry editor and a basic item editor.


PK Hack 0.2

[edit]

It allowed the editing of stats of enemies (HP, PP (Psychic Points), experience gained, etc.), the editing of the effects and properties of items, and the changing of miscellaneous text. As a "joke feature", the "mini-ghost button" would, when pressed, "possess" the loaded ROM by changing the header to "BOO!". It should be noted that, though PK Hack 0.2 was very useful, most users used other programs in conjunction with it (ie: a text editor (to change the text of NPCs), a program to compress and insert bitmap images to be used for an enemy's sprite, and even a map editor).

PK Hack 0.3

[edit]

PK Hack 0.3 was intended as a replacement for PK Hack 0.2, but it never evolved from the alpha stages, and today is seldom used. PK Hack 0.2 does not work with some versions of Microsoft Windows, so it was a useful alternative for some users.

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Modules

[edit]

PK Hack's modules are attempted to be sorted logically into categories based on each of their purposes.

IPS

[edit]

IPS Patch Maker

[edit]

Used to create patches of changes made to the current ROM loaded (compared to any other ROM) using the IPS system. This is most commonly used to create patches against clean, unedited ROMs, which can then be distributed.

IPS Patch Applier

[edit]

Used to apply an IPS patch to the loaded ROM.

IPS Database

[edit]

Lets the user to apply and unapply a handful of IPS patches included with PK Hack. The patches have various effects, from allowing the names of characters to be one character longer, to various graphics hacks, such as forcing the game to start with a day-time palette activated.

General

[edit]

ROM Expander

[edit]

Used to convert ROMs from EarthBound's default size of 24 megabits (3 megabytes) to 32 megabits (4 megabytes) or even 48 megabits (6 megabytes).

Hex Editor

[edit]

A simple hex editor included with PK Hack.

Pointer Editor

[edit]

Used to change various "pointers" in the game, so that the game looks somewhere else for data. Of course, if there is a module already for editing something, it will change the pointer automatically.

Reset Button

[edit]

Used to copy over a certain range of bytes from one ROM into another. This is useful when the user wants to reset some large range of data back to its original state or when the user somehow messes up their ROM and wants to fix it.

Misc. Crap Editor

[edit]

Used to edit small things that don't quite fit into other categories, from which background music plays during the naming screens and in-game delivery scenes, to various in-game menu text.

Items

[edit]

Item Editor

[edit]

Used to edit the data attributed to game-specific items, such as the effect it has on the user once used, how much the item costs, even the name of the item, allowing for new items to be created.

Item Transformation Editor

[edit]

Used to edit the transformation process of the item "Fresh Egg", which transforms to "Chick", and finally to "Chicken", and some options associated with the change. Of course, this can even be used to create totally different transformations. For instance, "Ice Cream Cone" to "Melted Ice Cream" to "Sticky Cone", as intended by one user's distributable ips-implementation, or "hack", "Mother 3 : Hero's Genesis" (unofficial, non-Nintendo-affiliated homebrew release).

Condiment Editor

[edit]

Used to alter the effects of condiment items (ie: Ketchup Packet, Pack of Salt) on food items. These food items are primarily intended to be used to enhance the effects of "true" in-game food items, such as a Hamburger, which they can do in such various ways as change the amount of HP or PP recovered following consumption.

Store Editor

[edit]

Used to change the list of items each store stocks throughout the game, as well as their listed price (which may also be altered via the Item Editor).

Teleport

[edit]

Teleport Destination Editor

[edit]

Used to change the destinations of the user's technique, PSI Teleport, as well as two additional teleport locations used in the course of the game, though unavailable to the user (teleport immediately outside of the "Montoli" Building, teleport to the center of a room inside the Montoli Building, a part of the Runaway Five rescue scene.)

[1F 21 XX] Teleport Table Editor

[edit]

[1F 21 XX] is a control code which instantly changes the party's location to a pair of coordinates specified by the argument XX. This module is used to change the destinations of these teleports. Do not be confused between these "teleports" and PSI Teleport. These teleports are more commonly used as a means of linking different locations on a map, usually under the guise of a door.

Text

[edit]

"Don't Care" Names Editor

[edit]

Used to change the set of default names for the party.

Misc. Text Editor

[edit]

Used to change small pieces of text that don't quite fit in any other module. While the purpose of this editor mostly concerns setup menu-related text, though there is also text for ailment names and battle commands.

Phone List Editor

[edit]

Used to change the game's list of phone numbers and what happens when you call them. Due to the fact that not all numbers are immediately available once the user may access, "flags" are set throughout the course of the game that determine which numbers have been "learned", and which may be "called." Those flags may also be modified in this editor.

Flyover Editor

[edit]

Used to alter the flyover at the beginning of the game. It can change the text displayed, where they start and end, as well as the direction travelled.

TPT Editor

[edit]

TPT stands for "text pointer table", which is a table that contains the data for all of the NPCs in the game. This editor is used to change that table. However, this module does not alter where the NPCs are placed (for the changing of graphical location, see the Map editor.)

Text Editor

[edit]

Mainly used to change the text of NPCs, events, or in-battle text. However, it is also used to change the text displayed in the flyovers at the start of the game, the coffee and tea scenes (in Saturn Valley and Tenda Village, respectively), and the credits. The regular text of the game uses a complex control code system, which is described here. While the chrestomathy provides an easier-to-understand explanation of control codes, a more updated list of control codes may be found here, though some lack in-depth explanations, and some have unknown function altogether.

Stats

[edit]

Starting Stats Editor

[edit]

Used to change the level, items, and money each character has when they first join your party.

Level-Up Experience Editor

[edit]

Used to change the amount of experience points necessary to advance a character to the next level.

Level-Up Stats Editor

[edit]

Used to change how much HP, PP, attack power, defense points, and IQ points, among other things, each character gains when they advance to the next level.

Battle

[edit]

Enemy Editor

[edit]

Used to change the enemies you face during battle. The main features of the Enemy Editor are changing the name of the enemy, changing the enemy's stats, changing the moves the enemy uses, and changing how much money and experience points the player gains after defeating it.

Action Editor

[edit]

Used to change the attacks that enemies make and the effects of items. The module changes an in-game table, which really only points to assembly code, which then actually performs the desired effect.

PSI Editor

[edit]

Used to change the effects of both in-battle and out-of-battle PSI.

PSI Damage Editor

[edit]

Used to change the amount of damage that can be done by PSI attacks.

Battle Entry Editor

[edit]

The Enemy Editor only changes individual enemies, while the Battle Entry Editor is used to change how groups of enemies appear together.

Sprites

[edit]

Sprite Editor

[edit]

Used to edit the out-of-battle sprites and their palettes. The interface is meant to be similar to Microsoft Paint.

SPT Editor

[edit]

SPT stands for "sprite pointer table". The sprite pointer table, as expected by the name, groups sprite images together and tells the game which sprite image should be displayed when an NPC or character faces a certain direction.

Playable Sprite Table Editor

[edit]

Used to change which sprites are used by party members and, if the party member is not controlled by the player in battle (ie: Pokey, Picky, Dungeon Man), which enemy they should act as.

Battle Sprite Editor

[edit]

Used to edit the in-battle sprites and their palettes. The interface is meant to be similar to Microsoft Paint.

Graphics

[edit]

Font Editor

[edit]

Used to change the fonts used in the game, including the Main font, the Mr. Saturn font, the "Big" font (which is in fact not big in size at all, and more closely resembles the Book Antiqua font, the Battle font, and finally the "Tiny" font (which is in truth quite large and bold, in comparison to the others).

Credits Font Editor

[edit]

Used to change the font used in the credits of the game.

Window Border Editor

[edit]

Used to change the borders of the windows in which the text of the game is displayed.

Window Position Editor

[edit]

Used to change the placement of text windows. There are many windows used for different purposes, including the Cash-on-hand window, the differently-sized game-text windows, and the character inventory window.

Town Map Editor

[edit]

Used to change the graphics and palettes displayed by the Town Map item.

Logo Screen Editor

[edit]

Used to change the graphics and palettes of the "beginning credits" displayed when the game is started. The three different graphics credit Nintendo, APE, Inc., and HAL, in that order. This editor features an import/export utility, but only of files that are imported/exported within the utility.

Gas Station Editor

[edit]

Used to change the graphic and palette of the "WAR AGAINST GIYGAS" graphic displayed after the "beginning credits" when the game is first turned on. It even allows the user to import graphics from external files (if they are the right size and do not contain too many colors).

Maps

[edit]

Tile Editor

[edit]

Tiles are 32x32 pixel graphics which are arranged together to create the scenery of EarthBound. The Tile Editor edits the tile graphics, palettes, and even the effects the party may experience when they walk on a certain part of a tile, such as whether or not the user will be stepping on a tile designated to act as a door, a tile in which the sprites are intended to appear behind instead infront of, or even a tile that sprites are intended to sink down into, such as a marshy or watery area, as used during the original game in the area "Deep Darkness".

Map Editor

[edit]

Used to change the arrangement of tiles (see: Tile Editor), sprites, "warps" used by doors, locations of hotspots (see: Hotspot Editor), and the places where enemies appear.

Door Entry/Destination Editor

[edit]

Used to edit the effects of doors (ie: where they lead to, the sound effect played (if any), text displayed when the doors are used, and a possible graphical effect (such as the player falling down into a hole, in which case the screen would rapidly scroll down, indicating the player's "falling").

Photo Editor

[edit]

Used to edit the photographs that are displayed during the ending credits of the game.

Music/Flags Correlations Editor

[edit]

Used to edit the groups of music which are used on the map. They are "groups of music" because one piece of music may be played instead of another if a certain event has occurred (ie: in the in-game town, Threed, following the halt of the zombie invasion, as well as at the end of the game, where Because I Love You plays almost everywhere).

Hotspot Editor

[edit]

Hotspots are locations in the game which can be used to activate text when the party has walked over them. It may be more convenient to use the Map Editor to change their locations.

Event-Based Map Changes Editor

[edit]

Used to edit changes (one tile replaces another in a change) that occur on the map after certain events occur).

Map Sector Properties Editor

[edit]

Used to edit many properties of sectors on the map (areas of 8 tiles by 4 tiles), which determine what graphic (if any) is displayed on use of the Town Map item, if using PSI Teleport is possible, if Magic Butterflies appear, and whether or not the player may ride his bicycle, among other things.

Enemy Placement Groups Editor

[edit]

Used to change the chance of encountering certain enemy groups.

See also

[edit]
[edit]

Because I Love You