1.5 KiB
1.5 KiB
Features targeted for 20.2.0.0-alpha.2
- The stage subsystem
- A "stage", in this context, is a set of assets bound together by programming logic, not necessarily a game level. Stage switching and asset management are handled by the engine.
- Upon stage switch
- Unload unused assets
- Load new assets
- Provide multiple means of stage switching
- Three modes with the initial release
- Instant switch
- Assets will be loaded and unloaded synchronously
- The stage switch will happen in one frame
- Deferred switch
- The stage will continue running until all assets load
- Assets will load synchronously, but at a slower pace to avoid frame stutter
- Asynchronous switch
- Assets will be loaded in asynchronously, where applicable
- Falls back to deferred switching for synchronous loading, such as OpenGL texture upload
- Instant switch
- Three modes with the initial release
- 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
- All asset management will eventually be handled by
- 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