Skip to content
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

Implement the layer system #2

Open
AMNatty opened this issue Apr 27, 2022 · 0 comments
Open

Implement the layer system #2

AMNatty opened this issue Apr 27, 2022 · 0 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@AMNatty
Copy link
Owner

AMNatty commented Apr 27, 2022

  • [PlutoRuntime,PlutoCore] Initial implementation of the layer system (formerly known as "stage")
    • A "layer", in this context, is a set of assets bound together
      by programming logic.
      Layer switching and asset management are handled by the engine.
    • Layers can be stacked on top of each other and run sequentially
      from bottom to top
    • Upon layer switch
      1. Unload unused assets
      2. Load new assets
    • Provide multiple means of layer switching
      • Two modes with the initial release, asynchronous switching will come at a later date
        1. Instant switch
          • Assets will be loaded and unloaded synchronously
          • The layer switch will happen in one frame
        2. Deferred switch
          • The layer will continue running until all assets load
          • Assets will load synchronously, but at a slower pace
            to avoid frame stutter
    • Automated asset loading
      • All asset management will eventually be handled by PlutoCore
        • This includes audio clips, textures, sprites
      • Add a common interface for all assets
    • Let the stage system handle audio playback
    • This API should be as neutral as possible and avoid steering towards
      game-only use
    • The stage manager should be relatively low-overhead and allow multiple
      instances
    • Allow stages to be inherited from, creating a stack-like structure
  • [PlutoAudio] Integrate the Audio API with the Stage API
@AMNatty AMNatty added enhancement New feature or request help wanted Extra attention is needed labels Apr 29, 2022
@AMNatty AMNatty self-assigned this Apr 29, 2022
@AMNatty AMNatty added this to the Initial layer system support milestone Apr 29, 2022
@AMNatty AMNatty pinned this issue Apr 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant