Cassette Beasts – Speedrunning Guide

This page describes how to use various features in Cassette Beasts that may be of interest to the speedrunning community.

In-Game Timer

On all platforms, Cassette Beasts features an in-game timer that can be enabled from the settings menu: Gameplay > Speedrun Timer.

The timer counts from the start of your playthrough to the end and persists between sessions. So if you save and quit, and later come back, it continues from where it left off. It will also helpfully display the message “(Cheated)” on your screen if it detects that you’ve enabled the cheat command console at any time during your playthrough.

The in-game timer will automatically pause on loading screens and during character customisation.

While the in-game timer is enabled, you can hold the middle mouse button (or Y on an Xbox controller / X on a Nintendo controller) to speed up dialogue, and automatically select the first dialogue option.

Seeding, Randomisation, and Permadeath

Once you’ve beaten the game, Cassette Beasts unlocks a number of options that can be used to customise subsequent playthroughs.

Of most interest to speedrunners will be the Random Seed option here, which will ensure chests and scripted battles reward you with the same items other players on the same seed get.

While we recommend that speedrunners familiarise themselves with the game with a normal playthrough first, these options can be unlocked with a cheat code–handy if you’re playing the game on a different machine.

While on the title screen enter the code in one of these ways:

  • Keyboard: Hold Ctrl and type modes
  • Controller: Hold LB + RB and then press in sequence Up, Up, Up, Down, Down, Down, L3. (For L3, press the left stick in like a button, on a controller that supports this.)

LiveSplit Integration

LiveSplit is a popular timer program used by speedrunners, available for Windows. A major feature of LiveSplit is the ability to use ‘splits’, which separately records time for different sections of a game. For example, speedrunners can split each time they complete a level in a level-based game, and then see how they fared in each level separately, compared with past playthroughs.

Various plugins for LiveSplit have been developed that can peek into the memory of a game and automatically split when things happen in the game. These plugins are useful because they allow the speedrunner to focus entirely on the game – they no longer need to worry about remembering to use key combinations to split manually.

Cassette Beasts has LiveSplit integration built in. No custom plugins or mods are necessary, and splits can be triggered by the game completely automatically. It’s flexible, and fully configurable through an INI file. Almost anything you do in the game can be used to trigger a split if you want it to.

Prerequisites

  • LiveSplit (available only for Windows).
  • The LiveSplit Server component.
  • Own Cassette Beasts on either Steam or the Microsoft Store.

Setup

To get LiveSplit ready you’ll need to add some splits, and set up a layout that includes the LiveSplit Server component.

  • We’ll just add one split for this example (you can add more later). Right click the LiveSplit window > Edit Splits… Then under Segment Name enter the text “Credits” and click OK.
  • To enable the LiveSplit Server component, add it to your layout: right click the LiveSplit window > Edit Layout… > Click the + button > Control > LiveSplit Server, then click OK.

Next you can start to configure the game. Create a text file called autosplit.cfg in this location:

  • C:\Users[username]\AppData\Roaming\CassetteBeasts\

In autosplit.cfg add the following text:

[client]
server_host="127.0.0.1"
server_port=16834

[options]
pause_while_loading=true
pause_for_character_creation=true

[splits]
story_starting=1
story_ending=1

Connecting LiveSplit and Cassette Beasts

With both LiveSplit and Cassette Beasts configured you can now start to test their connection. While LiveSplit is running, right click the window > Control > Start Server. Then start Cassette Beasts.

As it starts up, Cassette Beasts will attempt a TCP connection with the LiveSplit server using the host and port configuration set in its autosplit.cfg file. After a few seconds it’ll display a message across the top of the screen to tell you if the connection was successful or not.

If connection was unsuccessful, you can hold Ctrl and type livesplit to reload autosplit.cfg and attempt connection again.

Configuration

Let’s take a look at some of the settings in the autosplit.cfg file:

[client]
server_host="127.0.0.1"
server_port=16834

These settings tell Cassette Beasts how to connect to the LiveSplit Server. The values here assume LiveSplit is running on the same machine as Cassette Beasts, and that the server is using its default port number. If you’re running LiveSplit on a different computer you’ll want to change these values.

[options]
pause_while_loading=true
pause_for_character_creation=true

As mentioned earlier, the in-game timer pauses for loading screens and character creation. In autosplit.cfg you can decide whether you want the game to send pause commands to LiveSplit for loading screens and character creation. These settings also affect the in-game timer.

[splits]
story_starting=1
story_ending=1

This section is the most important part. It’s here that you define the conditions that trigger a split.

The first condition in the list – story_starting=1, which is met when you start a new run – is what’s used to start the timer running.

The second (and further) conditions cause split commands to be sent to LiveSplit when met.

So the example here is extremely simple: the timer starts when you begin a new playthrough, and a split command is sent when story_ending=1 happens, which is when you enter the final input that locks you into the credits. Since it’s the last split of the list, LiveSplit will stop the timer and mark your run finished.

You can insert as many conditions you like into this list, and they don’t have to start and end with story_starting=1 and story_ending=1. However, you must make sure to add the same splits, in the same order, to LiveSplit, so that the game and LiveSplit are in sync.

Split Conditions and Stats

Each condition in the [splits] section of autosplit.cfg takes one of these formats:

  • stat_name=threshold
  • stat_name:stat_key=threshold

Cassette Beasts tracks a huge number of stats about your playthrough in your save file, which we use to unlock achievements when their conditions are met. LiveSplit integration also uses these stats–split commands are sent when a stat’s value meets or exceeds the configured threshold.

There are too many stats to list all here. If you’re unafraid of digging around in the game’s files, you can decompress your save file and check the stats section to find more.

ConditionDescription
story_starting=1Start a playthrough
story_ending=1Enter the final input that locks you into the credits
quests_completed:TutorialQuest4=1Complete quest ‘This Is The World We Live in’ (the tutorial)
registered_species:bansheep=1Obtain Bansheep
registered_species:candevil=1Obtain Candevil
kills_rogue_fusions=1Defeat a Rogue Fusion
kills_rogue_fusions=20Defeat 20 Rogue Fusions
kills_rogue_fusions:swarm=1Defeat a Swarm Fusion
kills_rogue_fusions:unstable=1Defeat an Unstable Fusion
kills_rogue_fusions:orb=1Defeat an Orb Fusion
chunks_mapped_by_map:overworld=128Uncover the entire overworld map
observed_species:unique_keys=120See all 120 monster species
registered_species:unique_keys=120Obtain all 120 monster species
maxed_tape_species:unique_keys=120Record 5-star data on all 120 monster species
registered_bootleg_types:beast=1Record a Beast-type bootleg
registered_bootleg_types:fire=1Record a Fire-type bootleg
registered_bootleg_types:plastic=1Record a Plastic-type bootleg
registered_bootleg_types:plant=1Record a Plant-type bootleg
registered_bootleg_types:water=1Record a Water-type bootleg
registered_bootleg_types:poison=1Record a Poison-type bootleg
registered_bootleg_types:astral=1Record an Astral-type bootleg
registered_bootleg_types:ice=1Record an Ice-type bootleg
registered_bootleg_types:lightning=1Record a Lightning-type bootleg
registered_bootleg_types:air=1Record an Air-type bootleg
registered_bootleg_types:earth=1Record an Earth-type bootleg
registered_bootleg_types:metal=1Record a Metal-type bootleg
registered_bootleg_types:glass=1Record a Glass-type bootleg
registered_bootleg_types:glitter=1Record a Glitter-type bootleg
unlocked_abilities:glide=1Unlock the glide ability
unlocked_abilities:dash=1Unlock the dash ability
unlocked_abilities:magnetism=1Unlock the magnetism ability
unlocked_abilities:swim=1Unlock the swimming ability
unlocked_abilities:climb=1Unlock the climb ability
unlocked_abilities:flight=1Unlock the flight ability
unlocked_abilities:fusion_radar=1Unlock the Fusion Radar
quests_started:CaptainQuest1=1Sign up to the rangers (meet Ianthe)
obtained_rumors=1Obtain a rumour
investigated_rumors=1Investigate a rumour
unlocked_partners:kayleigh=1Unlock Kayleigh as a partner
unlocked_partners:meredith=1Unlock Meredith as a partner
unlocked_partners:eugene=1Unlock Eugene as a partner
unlocked_partners:felix=1Unlock Felix as a partner
unlocked_partners:viola=1Unlock Viola as a partner
unlocked_partners:dog=1Unlock Barkley as a partner
remasters=1Remaster a tape
quests_started:KayleighQuest1=1Start Kayleigh’s quest (I Ran So Far Away)
offices_cleared=1Clear the first Landkeeper stronghold (Eugene’s quest, Acting On Your Best Behaviour)
quests_started:FelixQuest1=1Start Felix’s quest (Don’t You Want Me)
quests_started:ViolaQuest4=1Start Viola’s quest (Everybody’s Looking For Something)
mall_with_meredith=1Visit Falldown Mall with Meredith (Meredith’s quest, All I Ever Needed)
quests_completed:KayleighQuest2=1Complete Kayleigh’s quest (I Ran So Far Away)
quests_completed:MeredithQuest4=1Complete Meredith’s quest (All I Ever Needed)
quests_completed:EugeneQuest5=1Complete Eugene’s quest (Acting On Your Best Behaviour)
quests_completed:FelixQuest3=1Complete Felix’s quest (Don’t You Want Me)
quests_completed:DogQuest=1Complete Barkley’s quest (Come Back And Stay)
relationship_level:kayleigh=5Get Kayleigh to relationship level 5
relationship_level:meredith=5Get Meredith to relationship level 5
relationship_level:eugene=5Get Eugene to relationship level 5
relationship_level:felix=5Get Felix to relationship level 5
relationship_level:viola=5Get Viola to relationship level 5
relationship_level:dog=5Get Barkley to relationship level 5
romance=1Romance someone
reopened_stations:final=1Unlock fast travel to the final station
reopened_stations=10Unlock fast travel to all stations
encounters:aa_oldgante=1Defeat Morgante (tutorial)
encounters:aa_puppet=1Defeat Poppetox
encounters:aa_monarch=1Defeat Nowhere Monarch
encounters:aa_mourningstar=1Defeat Mourningstar
encounters:aa_cube=1Defeat Heckahedron
encounters:aa_alice=1Defeat Alice
encounters:aa_mammon=1Defeat Mammon
encounters:aa_lamento_mori=1Defeat Lamento Mori
encounters:aa_robin=1Defeat Robin Goodfellow
encounters:aa_tower=1Defeat Babelith
encounters:aa_aleph_null=1Defeat the final boss
encounters:aa_morgante=1Defeat an optional post-game boss in Harbourtown Station
encounters:aa_helia=1Defeat an optional post-game boss in the East
song_parts=8Complete Morgante’s song
met_npc:magikrab=1Meet a certain story NPC in a station
met_npc:amber=1Meet a certain story NPC in another world
met_npc:merline=1Meet a certain story NPC in the post-game
quests_completed:TravelingMerchantQuest=1Meet the traveling merchant
encounters:captain_wallace=1Defeat Captain Wallace
encounters:captain_skip=1Defeat Captain Skip
encounters:captain_zedd=1Defeat Captain Zedd
encounters:captain_judas=1Defeat Captain Judas
encounters:captain_cleeo=1Defeat Captain Clee-O
encounters:captain_lodestein=1Defeat Captain Lodestein
encounters:captain_dreadful=1Defeat Captain Penny Dreadful
encounters:captain_gladiola=1Defeat Captain Gladiola
encounters:captain_heather=1Defeat Captain Heather
encounters:captain_buffy=1Defeat Captain Buffy
encounters:captain_codey=1Defeat Captain Codey
encounters:ianthe=1Defeat Ianthe
quests_completed:WorkingOvertimeQuest=1Complete ‘Working Overtime’
quests_completed:HoylakeQuest5=1Complete Hoylake’s quest (On The Hunt)
story_intermission=1Return to New Wirral after having been sent away
Volodymyr Azimoff
About Volodymyr Azimoff 13679 Articles
I love games and I live games. Video games are my passion, my hobby and my job. My experience with games started back in 1994 with the Metal Mutant game on ZX Spectrum computer. And since then, I’ve been playing on anything from consoles, to mobile devices. My first official job in the game industry started back in 2005, and I'm still doing what I love to do.

Be the first to comment

Leave a Reply

Your email address will not be published.


*