Each chip, that is defined in the
data.json file, has its own properties that you can modify in order to change the look and feel of your game. You can edit this file by hand or use the Chip Editor which is included in the Pro Tools and has built-in system templates to make changing things easier. Since a game has at least 8 chips, it’s easier to look at system specs as three main categories: graphics, storage, and sound.
While there is a bit of overlap between which chips are part of the GPU and storage group, each one focuses on a specific aspect of the engine and how it will perform.
The first group contains the storage properties. These are responsible for the visuals of PV8 games. This group is comprised of the following properties:
The width of the resolution in pixels.
The height of the resolution in pixels.
The number of right side columns to subtract from the resolution.
The number of bottom rows to subtract from the resolution.
The total number of sprites that can be displayed at one time.
The total number of system colors.
The total colors per sprite.
The second group makes up the storage properties. These properties are responsible for how much data can be stored in a PV8 game. This group is comprised of the following properties:
The total number of columns that the tilemap is made up of.
The total number of rows that the tilemap is made up of.
The total number of sprite memory pages. Each page contains 256 sprites.
The maximum size of the game cartridge. This is only enforced when building Lua games in Pixel Vision OS.
The number of save slots the game contains.
The last group makes up the audio properties. These properties define how sound effects and music work in a PV8 game. This group is comprised of the following properties:
The total number of sound effects the sound chip can load into memory.
The total channels that are avalible for playing back sound effects. This also represents the total number of tracks available to song patterns.
An array representing the waveform ID each channel uses. Setting this to -1 will allow any waveform to be played on the channel.
The total number of songs the MusicChip can store in memory.
The total number of patterns the MusicChip can store in memory.
Finally, there are additional properties that are useful for more advanced users. You should only edit these if you know what you are doing.
Sets the default background color for clearing the game’s screen.
This will change the default mask color, which is used to determine what color represents transparency when importing images and drawing them to the display.
Forces the engine to use the mask color when a color ID is out of range instead of defaulting to the background color.
The number of layers you can use when drawing pixel data to the display.
This will automatically optimize sprites as they are loaded making sure there are no duplicated sprites. This may affect the IDs of sprites in memory when you set to true.
When load a tilemap.png file, any tiles not found in the SpriteChip’s memory will be added to ensure the tilemap has all the tiles it needs to render correctly.