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

Full mod control of main menus ("Modland Menus") #292

Open
SylviBlossom opened this issue Dec 21, 2024 · 1 comment
Open

Full mod control of main menus ("Modland Menus") #292

SylviBlossom opened this issue Dec 21, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@SylviBlossom
Copy link
Collaborator

Mods should have full control over the main menu of the engine, as a general goal of mod customization but also to potentially allow mods to have their own options and credits, and to let the ultimate goal of Chapter Select be reasonably achievable by a mod / library even without engine implementation. Optimally, Kristal mods distributed as standalone games would also not need to modify the engine code directly to customize the main menu.

@SylviBlossom SylviBlossom added the enhancement New feature or request label Dec 21, 2024
@SylviBlossom
Copy link
Collaborator Author

Rough brainstorming of the challenges involved in this:

  • Asset loading on mod select
    • This is a rough one because currently only very specific mod assets are loaded by the main menu. There are a few options to achieve this without severe loading times:
      • Lazy loading
        • Would work well for how few assets would be needed for the main menu and the need for seamless transitions, however it is a complex system that may be out of scope for this feature.
      • Asset dependency list
        • Limits asset loading to only the necessities, however very inconvenient for the mod developer especially with more complex cusstomization. Best to avoid this one
      • Separate assets folder
        • Effectively the dependency list but a lot more manageable. These assets can also be loaded in-game, making this effectively a sort of "common" assets folder, and lining up with potential chapter select implementation. Significant rewriting, but probably the best option
  • Mod loading on mod select (obviously)
    • Currently, mods are only really loaded when starting a file, and preview.lua is some weird inbetween. However, for full mod control here, mods need to have a main script be loaded with relevant callbacks and function hooking and so on.
    • It's possible this will still end up with a separation of the "game script" and the "menu script" but that's mainly just an organization difference.
  • Parity between mod and standalone distributions
    • As mentioned before, this preferably eliminates the need for standalone distributions to directly modify the engine, but also give many more freedoms to non-standalone mods, and not make it difficult for a mod to release as both.
    • I have had the idea of the mod select optionally booting you into a completely new main menu, as if you opened up a standalone distribution. This would be easiest for giving mods control over Options and Credits and for a future Chapter Select implementation, but I need more opinions on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant