Skip to content

Game Piece Asset Support [AARD-1902] #1190

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 51 commits into
base: dev
Choose a base branch
from

Conversation

azaleacolburn
Copy link
Contributor

@azaleacolburn azaleacolburn commented Jul 2, 2025

Description

Game pieces are now treated as separate assets from the field, they are able to be spawned, deleted, cached, etc, all on their own.

Objectives

  • Frontend configuration menu for game pieces
  • Game pieces are returned as separate assemblies
  • Game pieces are pruned from the main assembly
  • Game pieces are treated like separate entities, neither fields nor robots and are configurable
  • Game pieces still start in the same place on the field as before
  • Game pieces cache properly
  • Game pieces can be interacted with by robots as before
  • Game pieces work in match mode as before

Testing Done

  • Parsing fields (2023 & 2024) still works
  • Game pieces can still be manipulated
  • Game pieces can be configured
  • Configuration and spawning UI works

Note

Fields no longer spawn with a transform gizmo attached

image

AARD-1902

@azaleacolburn azaleacolburn requested review from a team as code owners July 2, 2025 16:56
@azaleacolburn azaleacolburn marked this pull request as draft July 2, 2025 20:25
@azaleacolburn azaleacolburn self-assigned this Jul 8, 2025
@AlexD717
Copy link
Member

When you spawn a field its name is now a game piece

@AlexD717 I can't replicate this, what field did you use?

This happens to me with almost every single field

Fission._.Synthesis.-.Google.Chrome.2025-07-14.08-54-48.mp4

@rutmanz
Copy link
Member

rutmanz commented Jul 14, 2025

I'm also seeing that but only in the spawn assets panel, the configure assets panel is unaffected

@AlexD717
Copy link
Member

I'm also seeing that but only in the spawn assets panel, the configure assets panel is unaffected

I am also only seeing this in the spawn asset panel

@azaleacolburn
Copy link
Contributor Author

@AlexD717 I couldn't reproduce because I had already cached this field, so it just kept the field in cache rather than trying to cache it but using the wrong scene object. Thank you for the visual.

@rutmanz
Copy link
Member

rutmanz commented Jul 14, 2025

image Also looks like there's an error in the CacheInfo method when loading gamepieces, I imagine it doesn't actually matter for gamepieces but it would be nice to silence the error either way

@azaleacolburn
Copy link
Contributor Author

image Also looks like there's an error in the CacheInfo method when loading gamepieces, I imagine it doesn't actually matter for gamepieces but it would be nice to silence the error either way

Ya, Alexey already pointed that out, I'll just silence it.

@azaleacolburn azaleacolburn marked this pull request as draft July 14, 2025 17:16
@azaleacolburn azaleacolburn marked this pull request as ready for review July 16, 2025 00:03
@azaleacolburn
Copy link
Contributor Author

azaleacolburn commented Jul 16, 2025

Waiting on #1200 for a MirabufLoader testing suite.

@azaleacolburn azaleacolburn marked this pull request as draft July 16, 2025 16:04
@azaleacolburn azaleacolburn marked this pull request as ready for review July 17, 2025 16:39
@rutmanz rutmanz changed the title Game Piece Asset Support Game Piece Asset Support [AARD-1902] Jul 17, 2025
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.

Part of the JIRA ticket is to provide default gamepiece assets to use. Is that going to be part of this PR?

Comment on lines 9 to 10
"dev": "vite --open",
"dev": "vite",
"build": "tsc && vite build",
Copy link
Member

Choose a reason for hiding this comment

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

you can always just use bun x vite

Copy link
Member

Choose a reason for hiding this comment

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

but fusion seems to just mess with this stuff itself, I don't think you should commit the changes though. You can't gitignore them though if they're already tracked

@@ -777,122 +768,6 @@ class PhysicsSystem extends WorldSystem {
}
}

// TODO: Ball socket joints should try to be reduced to the shoulder joint equivalent for Jolt (SwingTwistConstraint)
Copy link
Member

Choose a reason for hiding this comment

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

Are ball socket joints implemented? I'm kinda hesitant to remove this because I don't know what it does.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

All I was doing here was removing the function CreateBallBadAgainConstraint which was already commented out. I think it's fine to remove an unused function because we can always get it back from an old commit if we really want to, there's no point in dead code in the codebase. Ball and socket joints are not implemented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement gameplay Relating to the playability of Synthesis mirabuf Relating to the mirabuf format rendering Relating to the rendering engine or how something is rendered 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