Caster Companion Logo

Application Overview

Guns of Icarus Caster Companion - formerly GoIStreamToolRedux - is a cross-platform application designed to assist Guns of Icarus tournament broadcasters with their interfaces and overlays. It includes UI management for teams, maps, timers, and tournament info that all ties into an output folder, providing OBS (or other casting tool) with static file paths to read from. The GoICC project started as an adaptation of the original closed-course Windows application GoiStreamTool by GoI player and caster Urz.

GoICC is a free and open-source software. As such, community contributions to the application source and its supporting material is welcome, and feedback is appreciated to help grow the application. See contributing for more info.

Features

Team Management

Select up to four currently playing teams, each with their own name, logo, and abbreviation.

image

Lobby Timer & Custom Timer

Control a fully-featured timer, with quick switching between two timer lengths

image

Map Management

Select between any of the Guns of Icarus maps, along with their spawns (see input folder for pre-built maps). Additional map meta-data (size, gamemode) coming in future release.

image

Tournament Info

Set the current tournament number. More tournament features are planned for future.

image

Downloads

Release v1.1.0

Solely the native installer - no input folder included

Map & Team Bundle

Pre-built input folder containing high quality map and spawn map images. Recommended for all new users

  • Input Folder: input.zip
  • Thanks to DKR for help procuring updated maps, and creating spawn location images for each.


Usage

Overview

The most important thing to know is that Cmd+S will save data on the current page. Upon editing a value, nothing is changed until the save keystroke is pressed. This is to allow casters to queue up content before saving it.

The following sections will detail the contents of the input and output folders, and provide documentation for their use.

Input

The input folder is the directory that enables the application to do its job. It contains all of the data on teams, maps, applications settings, and the like. After initial setup, the only file an average user will modify would be the teams.txt and corresponding file in team_logos. Any files marked with an (*), are recommended to be left alone.

map_images/*

The map images folder contains an image of each map, along with an image of each spawn (optional). Each file is named specifically with the same name as found in the maps.txt, along with the file's extension. Spawn images are names the same but with " Spawn" appended before the file extension. Any inconsistencies between the map image name and the name as found in maps.txt will result in undefined behaviour.

maps.txt*

The maps text file contains the exact name of each map. See map_images for more details.

team_logos/

The team logos folder contains an image for each team, preferably in PNG format, but the application can handle some conversions. Each file is named specifically with the same name as found in the teams.txt (the section before the "|" on each line). Any inconsistencies between a team's logo name and the name as found in teams.txt will result in no image being displayed for that team.

teams.txt

Contains the name an abbreviation of each team. formatted as:

teamName1|ABBREVIATION1
teamName2|ABBREVIATION2
Teams are allowed to have no image associated with them, but it is recommended. The image name (minus the extension) must be identical to the team name in teams.txt.

Output

The output folder is where the application does its changes, and where the end-user points their streaming tool for source files.

Map.png

Image of the current map.

Map.txt

Name of the current map.

TeamX.png

Logo for team X.

TeamX.txt

Name of team X.

TeamShortX.txt

Abbreviated name of team X. Often overlain on the top right team color ribbons to show which team is which.

Timer.txt

Current timer value in MM:SS format.

TournamentName.txt

The current tournament name. e.g., "SCS" or "Sunday Community Skirmish."

TournamentNumber.txt

The current tournament number. e.g., to be appended to the end of "SCS: #", to get "SCS: #336."

Application Usage

Teams

The Teams page contains dropdowns for four different teams. Upon choosing a team a preview will be given of their logo and short name. The selected teams will not be saved to disk until the “Save” button is clicked or ⌘ + S or Ctrl + S is pressed. Not all dropdowns have to have a selection, some can be left blank.

Map

The Map page contains a singular dropdown listing all of the maps in the input folder. Ticking the show spawn checkbox will swap over to the spawn version of the map. In order for a map to show up in the dropdown it must be in both the Map.txt file, and have a PNG in the map_images folder.

Timer

The main controls for the timer at at the top of the page. To customize the length of the timer, edit either of the integer spinners at the bottom. Make sure to save your changes with the “save” button or ⌘ + S or Ctrl + S. Once you have the changes saved, set the switch to the timer length you would like to use. An example usage for this dual-timer system would be having a lobby timer and a game timer that can be set beforehand, and quickly swapped between. Note that only one timer may be running at a time and their states are not saved between runs. If you switch timers you must either ‘stop’ then ‘start’ or just ‘restart’ the timer before the new timer starts. The timer will continue running in the background as long as the application is not closed - so feel free to change tabs and edit other aspects while the timer is counting down.

Tournament (Tourney)

Simple enough, the two editable fields here change the output/TournamentName.txt and output/TournamentNumber.txt files.

Settings

The settings page shows some basic information about the setup of the app and the machine it is running on. If you ever want to see the version of the app you are running, you can see that here. The numerous buttons on the page allow you to open, set, and reset, the input and output folders separately. It is one-hundred percent valid to have completely different paths for your input and output folder. Just remember that changing your I/O folders does not carry the data to the new location – that must be done manually by you. If the new location does not contain the right files, the app will create an empty file in its place.
setting page image
The theme switcher allows you to easily change between different looks for the app. The “Skyborne Light” theme is the default and most actively updated theme, followed by “Skyborne Dark,” and the original app theme, “Monochrome Ocean.”


Contributing

Giving Feedback

Reporting bugs, requesting features, and suggesting changes, can all be done through the GitHub Issues page by creating a new issue (a GitHub account is required).

Contributing to source

Contributions from anyone with experience in Java (esp. File IO), JavaFX, FXML/XML, CSS, or generating/compiling native executables. Pull Requests are encouraged.