The on-stream graphics used during AusSpeedruns's marathon events.
This is only intended to be used as an education tool. Please learn from the code to be able to create your own layouts. Do not download and use as is!
- Before using
- Table of Contents
- Features
- Requirements
- Installation
- Usage
- Events used in
- License
- Authors
- Contributing
- Credits
- Ticker/Omnibar system
- Support for 12 different game layouts
- Widescreen / 16:9
- Widescreen 2p / 16:9
- Widescreen 3p / 16:9
- Standard / 4:3
- Standard 2p / 4:3
- Standard Portrait / 3:4
- Nintendo GameBoy & GameBoy Color
- Nintendo GameBoy & GameBoy Color 2p
- Nintendo GameBoy Advance
- Nintendo GameBoy Advance 2p
- Nintendo DS
- Nintendo DS 2p
- Nintendo 3DS
- Nintendo 3DS 2p
- 1:1
- Race and Co-op
- Couch and Host names
- Audio indicators
- Intermission screen
- Custom host dashboard
- Automatic incentive data
- Custom nodecg-speedcontrol schedule import
- Runner tablet
- X32 Connectivity
- NodeCG: 2.6.4
- nodecg-speedcontrol: 2.6.0
To use the OBS audio indicators you must have OBS-WebSocket version 5.0.0. This plugin comes by default in OBS v28.
- Clone this repository
- Run
cd bundles - Clone the nodecg-speedcontrol repository
- Run
pnpm install - Run
pnpm run build - Go back up to the asm-graphics folder
cd ../.. - Run
pnpm run build - Run
pnpm start
The config schema is used to define URLs, API keys and to enable/disable certain features.
If you have nodecg-cli installed just run the nodecg defaultconfig command to generate the config file to then edit, else create a config file in cfg/asm-graphics.json.
| Name | Type | Example | Description |
|---|---|---|---|
| obs | Object | OBS-WebSocket configuration | |
| ├─ enabled | Boolean | true | Enables OBS-WebSocket support |
| ├─ port | Number | 4455 | Port for OBS-WebSocket connection |
| ├─ ip | String | localhost | IP address for OBS-WebSocket connection |
| └─ password | String | mypassword | Password for OBS-WebSocket connection |
| tiltify | Object | Tiltify configuration | |
| ├─ enabled | Boolean | true | Enables Tiltify integration |
| ├─ key | String | myapikey | Tiltify API key |
| └─ campaign | String | 123456 | Tiltify campaign ID |
| graphql | Object | Used for getting incentives and runner information from the ausspeedruns.com website | |
| ├─ url | String | https://ausspeedruns.com/graphql | URL for GraphQL server |
| └─ event | String | ASM2025 | |
| x32 | Object | Behringer X32 configuration | |
| ├─ enabled | Boolean | true | Enables X32 integration |
| └─ ip | String | 192.168.1.100 |
- Go to Settings
- Scroll down to "Schedule Importer"
- Press the "Import Schedule" button
- Check for any games without a year and set them accordingly (also add them to the list if missing)
- In the "Host Reads" panel, press "Add Defaults" (if applicable)
- Upload sponsor logos in Assets > Sponsors
- Upload intermission videos in Assets > Intermission Videos
- In Settings, adjust the settings of the Intermission Videos as needed
- Go to Settings
- In the OBS panel, set the number of gameplay and camera captures and generate the scene file
- In OBS import the scene file
- In the "Gameplay Capture" and "Camera Capture" sources, set the video capture devices accordingly
- In the "Intermission" scene, open the Filters of the "Intermission Browser Source" and set the Audio Monitor filter output
- In the "Intermission" scene, open the Filters of the "Transition Browser Source" and set the Audio Monitor filter output
This is purely about the dashboard usage
- Make sure all the couch commentators and runners are in the correct order in the "Stage View" panel
- Click "Open Game Crop" and assign the relevant game capture sources to the section and crop the gameplay accordingly
- ASO2026
- ASAP2025
- ASM2025
- ASAP2024
- ASM2024
- ASDH2024
- ASGX2024
- PAX2023
- ASM2023
- ASGX2023
- ASAP2022
- ASM2022
- PAX2021
- ASM2021
- FAST2020
- PAX Online 2020
- ASM2020
asm-graphics is provided under the Mozilla Public License v2.0, which is available to read in the LICENSE file.
- Lead developer and designer Ewan "Clubwho" Lyon
- Graphics Designer Synrey
- Tester nei_
Thank you for your interest in contributing to this project. While we welcome any issues or pull requests that you may have, please be aware that we may not be able to address them or provide a response. If you would like to help with the development of this project, we recommend reaching out to us directly via the AusSpeedruns Discord or Twitter. This will allow us to discuss potential contributions and determine the best way for you to get involved.
- fit-text.tsx Modified from a version originally written by Hoishin, Original Source.
- obs.ts Modified from a version originally written by zoton2, Original Source.
- Tiltify Utils Modified from a version originally written by daniellockard, Original Source.
