Tips & Tricks

Strategy Tips

  • Prioritize collecting Scrap early to unlock generators

  • Unlocking areas increases your multiplier and your escape options

  • Do not hoard Scrap too long, as locked areas limit your movement

  • Learn bot movement patterns to avoid being trapped

  • Higher multipliers mean higher risk but higher reward

Bot Quirks

The animatronics seem to be a bit quirky:

cables

Crawler

Always knows where you are, is slow, can enter vents

bison

Thundar

Has poor eyesight, moves erratically

e_n

I.A.N.

Always knows where you are, is fast

deer

Doe/Jumper

Moves diagonally

trash_heap

Computer?

Turns on after some time, other bots get quirkier while it’s on

Programming Tips

When in doubt:

Note

For brevity, variables representing Vector s are written as <variable_name> in the following code examples.

Generators

You can check the scrap cost of a generator via Generator.cost

You can check if a generator is on via Generator.active

Doors

You can check if a door is open via Door.open

Points

Want to know how much points something gives? Look for properties mentioning a “bonus” or “points”:

Property

Meaning

Generator.activation_bonus

The amount of points granted upon your FIRST time activating that specific generator (varies between instances)

Generator.multiplier_bonus

The amount that your multiplier is increased WHILE this Generator.is_active

CoinSpawner.point_value

The amount of points granted for collecting a coin from this instance

ScrapSpawner.point_value

Similar to CoinSpawner.point_value

BatterySpawner.point_value

Similar to CoinSpawner.point_value

Vectors

Want to know how far away something is? Use Vector.distance(...)

# How far is <here> from <there>?
distance: int = here.distance(there)

Only need to know if something is closer/farther? Use Vector.is_closer_to(...)/Vector.is_farther_from(...)

Important

These methods return False if the positions are equally close/far.

# Is <here> closer to <somewhere> than <there>?
is_closer: bool = here.is_closer_to(somewhere, there)
# Is <here> farther from <somewhere> than <there>?
is_closer: bool = here.is_farther_from(somewhere, there)

Want to know what positions are between two points? Use Vector.get_positions_overlapped_by_line(...)

Note

This function uses Bresenham’s line algorithm.

# What are the places between <here> and <there>?
places = Vector.get_positions_overlapped_by_line(here, there)