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:
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 |
|---|---|
|
The amount of points granted upon your FIRST time activating that specific generator (varies between instances) |
|
The amount that your multiplier is increased WHILE this |
|
The amount of points granted for collecting a coin from this instance |
|
Similar to |
|
Similar to |
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)