Check out all assets in the project's homepage: StreamHelperAssets
Character assets for use with TournamentStreamHelper. You can download all assets directly from within the program.
You may also use them in other projects, just be sure to check out the credits on each pack's README. In Releases you'll find direct downloads to 7z files containing the packs.
Each game follows the sctructure:
Given a which is a made-up name, usually using the game name's initials. Everything related to this game is under /games/<GAMECODE>/.
The file /base_files/config.json contains basic definitions for the game:
- Game Name
- StartGG Game Id
- IGDB Game ID (Used by ParryGG)
- character_to_codename: maps the official character's name to their name in StartGG and to a codename in case the files should follow a pre-defined naming convention. For example, Smash Ultimate's game files are named using codenames, so this is a good way of having a naming convention which is the same as the official game files. If there is none, it's good to at least create codenames that avoid special characters like
.,/,á, etc. - stage_to_codename: maps official stage names to their ids in StartGG and to file codenames. Same principle as the previous one.
- variant_to_codename: maps official variant names to file codenames. Same principle as the previous one.
- Note: A variant refers to an additional universal gameplay attribute which can affect a character or a group of characters, including but not limited to Control Types in Street Fighter 6, Fuses in 2XKO, Grooves in Capcom VS SNK 2, Vehicles in Mario Kart World or Kameo characters in Mortal Kombat 1
- Version (Automatically generated upon merge)
- Description (use
\nfor newlines) - Credits (use
\nfor newlines)
Inside /base_files/ I'm also including at least one asset pack for character icons so that they show up on the program's UI. More on asset packs in its own section.
Each folder inside /game/ and inside /game/base_files/ that has a config.json file is considered an asset pack.
The file config.json contains basic definitions for the pack:
- name: Asset Pack name
- description (use
\nfor newlines) - credits (use
\nfor newlines) - version (Automatically generated upon merge)
- prefix: prefix for the asset names
- postfix: postfix for the asset names
- skin_mapping (optional): if this assets pack has scattered files that should map to specific character skins, you can map skin_mapping.character_codename.skin_id→asset_number. For example, if you have an asset specific to all odd/even skins, you should map the odd ones to 0 and the even ones to 1, if applies. A good example for this is
ssbu/webms - Image sizes (Automatically generated upon merge)
- Average image size (Automatically generated upon merge)
- Rescaling factor (optional): Used to indicate if an asset should be displayed bigger/smaller than the others in the pack
- Eyesights (optional): Position of the "eyesight" of the character in the image, using pixel coordinates. Used for asset positioning and alignment. For most human characters, their eyesight would be located between their two eyes.
- Create a
/games/<GAMECODE>directory, add your/base_files/config.json. Add all data you can provide. - For StartGG game/character IDs, use the endpoint https://api.smash.gg/characters. Control+F for a character name that you know that might be unique to the game you're looking for, and go from there. You'll find both their StartGG names and game ID here.
- For games with stage striking, you'll need to open a tournament in StartGG which has stage striking configured, open Chrome dev tools, go to Network tab, and check the requests to compare the selection ID to the displayed text. I do not know other way of doing this.
- Check in
/games/<GAMECODE>/base_files/config.jsonthe character codenames. Have your files named after the codenames. - Check in other assets packs or official sources what is the game's skins orders, if the game has multiple skins per character, so that you follow the same order as other assets packs.
- Add all data you need in
config.jsoninside your assets pack directory.
- Check in
/games/<GAMECODE>/base_files/config.jsonthe character codenames. - Open the
config.jsonfile inside the asset pack directory. - Add an
"eyesights"section to the JSON with the X and Y coordinates of each character's eyesight (in pixels), usually situated between both eyes. This section of the JSON will look something like this:
"eyesights": {
"codename1": {
"0": {
"x": 462,
"y": 135
}
},
"codename2": {
"0": {
"x": 417,
"y": 322
}
}
}
You can build your own structure in your TournamentStreamHelper install so that you can easly test your files and configuration. I'd suggest copying everything from another game for a quicker start!
Note that you don't need to create any README files or edit the files outside of /games/, since for each new commit I have an auto sequence where github creates all extra files such as READMEs and the zips it uploads to the Releases. I create the README just to reassure proper credits to assets packs, which also becomes easly visible in GitHub.
If you have any questions, please open an issue and I'll get to you as soon as I can!