Skip to content

Conversation

@Muxite
Copy link
Contributor

@Muxite Muxite commented Jan 24, 2026

Description

Converts kickoff enemy play and kickoff friendly play to FSMs, while improving the kickoff targeting, and rewriting tests.

For kickoff friendly play:
If there is a clear shot into net: shoot
If there is not a clear shot into net: find the largest open circle on the opponent side of the field, and chip the ball into that area.

Testing Done

The kickoff works on thunderscope with both sides of robots working properly, but I have issues writing a test specificaly to simulate the direct shot condition. Testing also works for the regular largest-open-circle chip. However test coverage does not cover the shooting part of the FSM.

Resolved Issues

3296, 3287

Length Justification and Key Files to Review

software/ai/hl/stp/play/kickoff_enemy/
software/ai/hl/stp/play/kickoff_friendly/
software/ai/hl/stp/play/kickoff_play_test.py

Review Checklist

The PR is not done but comments on what to improve would be good. I need to add FSM docs.

  • Function & Class comments: All function definitions (usually in the .h file) should have a javadoc style comment at the start of them. For examples, see the functions defined in thunderbots/software/geom. Similarly, all classes should have an associated Javadoc comment explaining the purpose of the class.
  • Remove all commented out code
  • Remove extra print statements: for example, those just used for testing
  • Resolve all TODO's: All TODO (or similar) statements should either be completed or associated with a github issue

Muxite and others added 6 commits November 15, 2025 07:50
# Conflicts:
#	src/software/ai/hl/stp/play/kickoff_enemy_play.cpp
#	src/software/ai/hl/stp/play/kickoff_enemy_play.h
#	src/software/ai/hl/stp/play/kickoff_friendly/kickoff_friendly_play.h
#	src/software/ai/hl/stp/play/kickoff_friendly_play.cpp
#	src/software/ai/hl/stp/play/kickoff_play_test.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant