Skip to content

Conversation

AlexD717
Copy link
Member

@AlexD717 AlexD717 commented Jul 28, 2025

Task

Add a new input that when pressed applies a slight upward force on the robot to get the robot unstuck when the robot is partially in the ground.

AARD-2018

Symptom

When playing on certain fields, the robot can sometimes get partially stuck in the ground, making it impossible to move. This is especially common if there is a slight bump or ledge. The current way to fix this is to right click on the robot, drag it up slightly and then let go, but this is tedious and takes too long to be a viable solution in multiplayer.

Solution

Add a new button that when pressed applies a slight upward force to the robot. This force isn't enough to give some sort of game advantage, but is strong enough to get the robot unstuck from the ground. A slider was also added in drivetrain configuration to allow the unstuck force to be customized for each robot.
Screenshot 2025-07-28 095710

Verification

  • Pressing the unstuck button causes a slight upward force to be applied
    • Robot rotation doesn't affect force direction
  • If the robot gets stuck, spam clicking the unstuck button usually gets it unstuck
  • Unstick force can be changed with a slider in configure assets

Before merging, ensure the following criteria are met:

  • All acceptance criteria outlined in the ticket are met.
  • Necessary test cases have been added and updated.
  • A feature toggle or safe disable path has been added (if applicable).
  • User-facing polish:
    • Ask: "Is this ready-looking?"
  • Cross-linking between Jira and GitHub:
    • PR links to the relevant Jira issue.
    • Jira ticket has a comment referencing this PR.

@AlexD717 AlexD717 self-assigned this Jul 28, 2025
@AlexD717 AlexD717 added ui/ux Relating to user interface, or in general, user experience gameplay Relating to the playability of Synthesis labels Jul 28, 2025
@AlexD717 AlexD717 marked this pull request as ready for review July 28, 2025 17:08
@AlexD717 AlexD717 requested review from a team as code owners July 28, 2025 17:08
@rutmanz
Copy link
Member

rutmanz commented Jul 28, 2025

I get an error when I try to go to Configure Joints > Drivetrain on this branch, with both cached and non cached dozer
image
Goes away when I clear preferences, but there should probably be a more graceful migration of old preferences to new preferences than crashing the page

@AlexD717
Copy link
Member Author

I get an error when I try to go to Configure Joints > Drivetrain on this branch, with both cached and non cached dozer image Goes away when I clear preferences, but there should probably be a more graceful migration of old preferences to new preferences than crashing the page

I think this should have fixed it

Copy link
Member

@rutmanz rutmanz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm.

I feel like unstick is kind of vague but I don't have any ideas on how to make it clearer without being too verbose

Copy link
Member

@ryanzhangofficial ryanzhangofficial left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On Zach's point, perhaps labelling as "Get Unstuck" would be more clearer? Looks good though!

Copy link
Member

@BrandonPacewic BrandonPacewic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me, unfortunately its going to have a minor conflict with the UI refactor (#1241), not 100% sure what our plan is for this but just going to wait on it for now.

Copy link
Collaborator

@Dhruv-0-Arora Dhruv-0-Arora left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm. An idea for another ticket would be to add a keybind (such as '/') that will show a list of commands (similar to discord's implementation)

* 'dev' of github.com:Autodesk/synthesis: (21 commits)
  fix(format): remaining format issues
  fix: added missing imports
  fix: resolve biome errors
  Upload File Accepts Only Mira Files
  fix: update bun lockfile
  fix: remove redundant test
  fix: remove git dependencies
  fix: refactoring issues
  fix: remove test artifacts
  fix: cleanup and format analytics tests
  feat: restructure analytics tests
  fix: firefox doesn't do analytics
  feat: add analytics testing
  feat: improve analytics tracking
  Fixed Promise Ordering: Download in parallel and then spawn in sequence.
  Order Promises
  Use 2023 Field
  Remove Unused Imports
  Format Fix
  Fix and New Access Strategy
  ...
@BrandonPacewic BrandonPacewic merged commit d44567b into dev Aug 6, 2025
16 checks passed
@BrandonPacewic BrandonPacewic deleted the alexey/2018/unstick-input branch August 6, 2025 16:24
@BrandonPacewic BrandonPacewic mentioned this pull request Aug 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gameplay Relating to the playability of Synthesis ui/ux Relating to user interface, or in general, user experience
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants