Path Creation Guide

This guide explains how to create custom navigation paths for the Fuzzy Macro.


What are Paths?

Paths are navigation scripts that move your character from one location to another in Bee Swarm Simulator. They handle movement between:

  • Hive → Cannon → Fields

  • Fields → Dispensers/Collectibles

  • Field → Field (during mob runs)

  • Any location → Quest givers

  • Vicious Bee search and combat

Paths are stored as Python scripts (.py) or macOS Automator workflows (.workflow) in subdirectories under the paths/ folder.


Path Types & Directory Structure

paths/
├── cannon_to_field/     # From cannon landing spot to field center
│   ├── sunflower.py
│   ├── dandelion.py
│   ├── mushroom.py
│   └── ... 

├── collect/             # Navigation to dispensers and collectibles
│   ├── wealth_clock.py
│   ├── blueberry_dispenser.py
│   ├── glue_dispenser.py
│   ├── blender.py
│   └── ... 

├── field_to_hive/       # Return paths from fields (rarely used)
│   └── ... 

├── mob_runs/            # Inter-field navigation during mob runs
│   ├── clover.py
│   ├── spider.py
│   └── ...

├── planters/            # Planter placement locations
│   └── ...

├── quests/              # Quest giver navigation
│   ├── polar_bear.py
│   ├── bucko_bee.py
│   ├── riley_bee.py
│   └── ...

└── vic/                 # Vicious Bee hunt paths
    ├── find_vic/        # Search patterns for each field
    │   ├── pepper.py
    │   ├── rose.py
    │   ├── cactus.py
    │   └── ...
    └── kill_vic/        # Dodge/combat patterns for each field
        ├── pepper.py
        ├── rose.py
        ├── cactus.py
        └── ...

Path Type Details

Path Type
Purpose
Execution Context

cannon_to_field

Navigate from cannon landing to field center

After cannon() is called

collect

Walk to dispensers/collectibles

From spawn or after cannon()

field_to_hive

Return from field to hive

Rarely used (reset is preferred)

mob_runs

Move between areas during mob combat

After killing mob in field

planters

Position for planter placement

During planter cycles

quests

Navigate to quest givers

During quest routines

vic/find_vic

Search field for Vicious Bee

During stinger hunt

vic/kill_vic

Dodge Vicious Bee attacks

During Vicious Bee combat


Path File Structure

Python Paths (. py)

Paths are Python scripts with access to the macro instance:

Automator Workflows (.workflow) - macOS Only

  • Place .workflow files in path directories

  • Macro prioritizes .workflow over .py if both exist

  • Only works on macOS

  • Most users should use Python paths for cross-platform compatibility

File Naming Convention

Path files must match the field or collectible name (lowercase with underscores):


Available Methods & Variables

Variables in Path Namespace

Essential Macro Methods

Movement

Camera Control

Timing & Sleeps

Move Speed Adjustments

Special Variables for Vicious Bee Paths

In vic/find_vic/ paths, a special function is available:


Path Examples

Example 1: Simple Cannon-to-Field Path

File: paths/cannon_to_field/sunflower.py

How it works:

  1. Land from cannon

  2. Walk forward toward field

  3. Walk left to align

  4. Walk forward into field center


Example 2: Collect Path with Camera Adjustment

File: paths/collect/wealth_clock.py

How it works:

  1. Walk from spawn toward clock

  2. Turn right to approach

  3. Walk forward to clock

  4. Rotate camera to face dispenser

  5. Fine-tune position


Example 3: Complex Multi-Stage Path

File: paths/collect/blender.py

How it works:

  1. Walk from spawn to base of ramps

  2. Climb first ramp with controlled movements

  3. Navigate across platform

  4. Climb second ramp

  5. Position at blender interface


Example 4: Mob Run Inter-Field Path

File: paths/mob_runs/clover.py

How it works:

  • After killing mob in one area, sweep to other areas

  • Collects any missed loot tokens

  • Optional (macro works without these paths)


Example 5: Quest Giver Path

File: paths/quests/polar_bear.py

How it works:

  1. Leave spawn heading forward

  2. Walk left toward far corner

  3. Walk forward to Polar Bear area

  4. Approach and position near NPC


Example 6: Vicious Bee Search Path

File: paths/vic/find_vic/pepper. py

How it works:

  • vicSearchWalk() interrupts if Vicious Bee is detected

  • Sweeps back and forth across field

  • Covers entire field systematically


Example 7: Vicious Bee Combat Path

File: paths/vic/kill_vic/rose.py

How it works:

  • Keeps character moving to avoid Vicious Bee attacks

  • Macro checks after each line if Vic is defeated or player died

  • Repeats pattern until combat ends


Example 8: Move Speed Adjusted Path

File: paths/cannon_to_field/mountain_top.py

How it works:

  • Calculates scaling factor based on move speed

  • All walk durations scale proportionally

  • Works correctly regardless of speed settings


Best Practices

1. Start from Known Positions

Cannon-to-Field Paths:

  • Always start from cannon landing position

  • Macro calls cannon() before these paths

Collect Paths:

  • Usually start from spawn (after cannon())

  • Sometimes start from specific field (check macro code)

Quest Paths:

  • Start from spawn after cannon()

2. Keep Paths Simple

3. Test with Different Configurations

Test paths with:

  • Different hive numbers (1-6)

  • Different move speeds

  • Lag/lower FPS

  • Day and night time

4. Don't Include Verification

5. Account for Elevation Changes

6. Add Helpful Comments

7. Use Diagonal Movement When Appropriate

8. Measure Distances Incrementally

Build paths gradually:

9. Optional Paths

Some paths are optional:

For optional paths:

  • Create only if needed

  • Test without path first

  • Add only if it improves efficiency

10. Handle Field-Specific Cases


Testing & Debugging

Manual Path Testing

Test paths directly from Python console or test script:

Check End Position

After running path:

  1. For collect paths: Check if player is beside dispenser

  2. For field paths: Check if player is in field center

    • Observe where character ends up

    • Should be near center of field

  3. For quest paths: Check if E prompt appears

Adjust Timings

If path over/undershoots:

Make small adjustments (0.1-0.3 seconds) and re-test.

Test with Different Move Speeds

Use Screen Recording

  1. Enable screen recording/streaming in macro

  2. Record path execution

  3. Review frame-by-frame

  4. Identify exact failure point

  5. Adjust specific segment

Common Path Issues

Issue
Cause
Solution

Path overshoots

Walk duration too long

Decrease walk times

Path undershoots

Walk duration too short

Increase walk times

Character gets stuck

Obstacle in path

Add navigation around obstacle

Path works on one hive but not others

Hive-specific positioning

Macro handles this before path

Path fails at night

Visual navigation

Paths should work day/night

Path fails with lag

Timing-dependent movements

Add small sleeps, make more forgiving

Debug with Logs

Add temporary debug output:


Advanced Techniques

Dynamic Path Adjustment

Conditional Navigation

Reusable Path Segments

Create helper functions for common sequences:

Camera-Relative Navigation

Maintain orientation during complex paths:

Handling Interrupts in Vic Paths

Vic search paths need special handling:


Path Troubleshooting

Path Not Executing

Check file name:

Check file location:

Path Partially Works

Check for syntax errors:

Check indentation:

Path Fails Verification

Adjust final positioning:


Contributing Paths

Before Submitting

  1. Test thoroughly:

    • Test 10+ times

    • Test from full stop

    • Test with different move speeds

    • Test day and night

  2. Verify success rate:

    • Should succeed 95%+ of time

    • Note any failure conditions

  3. Document:

    • Add comments explaining path

    • Note any special requirements

  4. Follow conventions:

    • Use standard file naming

    • Place in correct directory

    • Keep code clean and simple

Submission Template


Additional Resources


Credits


Happy path creating! 🐝

Last updated