-
Notifications
You must be signed in to change notification settings - Fork 105
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
Redesigned Option menu #55
Comments
Creating a list of potential options to be added: Graphics/Display:
Gameplay:
Controls:
|
Gamepad thumbstick deadzone? |
I already did this in my project, but for graphics maybe add borderless fullscreen rather than only exclusive fullscreen. And an FOV Slider? |
I've just pushed the first version of the new TabMenu in b785a1a |
I seem to have broken how the options cfg saves/loads with this new menu. The game doesn't seem to retain saved settings on my end, but I'm not sure why... |
Very nice! @Phazorknight I found that the setting for flipping Y axis worked immediate, and setting AA seemed to be remembered between sessions once applied? I certainly got confused that the "pause menu" scene is "tab_menu" 😉 Could I suggest;
Cool stuff :) |
This is due to the script manually grabbing focus of the Resume button for gamepad navigation and is expected behaviour. Can definitely refined though, like adding an input device check before grabbing focus. I will hide the doubled up title labels.
For me, it seems quite random, but between Godot Engine sessions, settings definitely get lost somehow. |
I've just pushed a minor update to this in 901a2be I've also added a setting to properly set window mode instead of just having a full screen toggle. Planning to keep chipping away at this. |
Okay, I'm officially asking for help now 😅 I think the new options menu in TabMenu is working as intended, but for some reason the settings to stay saved on my end. Here are my repro steps, as tested in 69b212e :
I'm probably missing some simple function call in the right spot or something. If someone could take a look, I'd be grateful. |
I added the following code into startup_loader and tab_menu_options
All sorts of confusing things occuring, but most importantly, when you open the pause menu for the first time you get a "TABS: load" x1 and "TABS: saving" x2 with incorrect 0 values. I think it shouldn't be running that at that time, the dropdown box might not have been set by that stage. Would it be that you set the volume in the tab settings, and setting the volume saves the config file?? I'm also not seeing "msaa set" from the tabs menu, only at game startup 😟 I think you are emitting a signal rather than calling the setter directly (which might be more correct) |
I think you're right. I commented out th |
I thought about adding some preset options for performance and such things, but that require access to the worldenviroment, would you mind if I change that around from one of the demo scenes to one global ? For sure I will keep the settings. But where to place it: Prefab Scenes, SceneManagement or .. ? |
Oh this is an interesting question. @ksjfhor If you're up for it, would you maybe have a separate test scene to give this a try? |
As you can see, I am not yet done implementing the settings 🙃 Godot does not make use of a second world enviroment, only the first has an effect in a scene... big butt: The node even got under adjustments a color correction where a 2D or 3D Texture could be placed, or a curve, but I have absolutly not the slightest clue of how such witchcraft is done. So for first I would place that in Scenemanagment ? |
Hm, maybe one approach would be to get a reference to the level scenes world environment and then overwrite that environments' properties with what is set in the options cfg. This could be done during scene load. That way we also wouldn't need a global world environment scene.
What do you want to place there? But I'd assume yes. 😁 |
So a few words to #158: So far not really done with this, but I go on vacation soon and you should not wait for snaily me. |
whenever i'm dealing with finding nodes that could be literally anywhere or even not exist at all, I tend to fall back to using groups, you could set up groups to be used by nodes affected by settings and have the settings logic search for said nodes using said groups.
groups can be kind of awkward to work with in the current version of godot (iirc in 4.3 there's a bit of an overhaul to group management), but I think it can still be a decent solution. |
@ksjfhor / @brian-holsters In regard to node references, I sometimes use one of the global scripts for this (eg. the scene manager has a reference to the player node in the current scene). I can see something similar to grab/update a reference to the scene's WorldEnvironment node, which can be updated, and then the settings set accordingly each time a scene is loaded. Groups can definitely be helpful when needed. Regarding the Graphics options themselves, I have to say that I really don't like the results of some of them, and I'm not sure if I'd want to implement it this way. Global Illumination completely breaks the look of a scene if it's not set up for it, creating light bleed everywhere. Bloom can get blown out, so I personally would make it that the player could only toggle it between a dev-set amount and off. @ksjfhor, I know I sound quite critical, so I want to emphasize how much I appreciate your effort in this part. It's very enlightening to see how you've accomplished creating the options menu and the breadth of parameters that can be influenced. In the interest of Cogito being more "plug-and-play" with devs adding their own settings as needed, I might limit how many options we include out-of-the-box, if the implementation gets too convoluted or with lots of caveats. |
@Phazorknight Welcome to the cult of the little blue robot I guess 😅 Do you know the demos ? I comment out the options for bloom and global illumination, because I am also not a big fan of it at all. Such changes will for sure not instantly look perfect, when a new feature suddenly spawns out of the high grass with default options, usually you adapt (lower) you light intensity when you activate bloom and such. There is the VoxelGI but it brings its own light bleeding: and .... light round lamp in the CEO Office is a little sun on its own, when this is reduced and the wall is connected to the celling it looks not that bad, I made the celling thicker in #158 🤓 @brian-holsters Yes, I had a similar idea when I sat in the car, but then it was already too late as I cannot drive and code at the same time. 😄 |
Just adding my 10c here :) tho I need to re-download the templates and play from scratch again
|
@generrosity I added the "Apply Changes" to every Tab, for consistency and better looks, thus in the graphics tab all of the options are instantly set and stayed like they were, at least for me 🤷 Your third idea seems like a good fit for this, but for now I would wait on feedback from Phazorknight before I add or change anything further :) |
If we're talking about the out-of-the-box features (aka someone downloads Cogito and runs the game), then it should be a decent showcase of what's included in the template and ideally inspire people on how they can use it to make their own game. I'm hesitant about some player-exposed graphic settings that are very Environment dependant for a main reason: In addition to this, @ksjfhor mentioned that there's potentially more changes to the available Lighting settings incoming. All of this currently makes me lean towards including less player-exposed settings, and rather let developers only add what they need themselves.
This of course would be very convenient, but it's honestly not the main purpose of Cogito, so I don't consider this a priority. I think/hope we might see proper "3D game graphic options" add-ons on the Asset Library soon, which would probably handle this way better, and we could then work towards integrating it. I'd still love to have at least stuff like shadow quality/resoultion, or AO settings, that can already help. (I say this still haven't had time to fully look into this more. Sorry @ksjfhor , I'll get to it when I'm back from my trip, I swear). |
Creating a new issue as some issues mention stuff that all apply to this:
I'm planning on redesigning the Options menu to expose more parameters and settings.
The plan is to group options of similar categories under tabs like a lot of games these days do.
My hope is to also use this to fold in the rebinding menu from #19
The text was updated successfully, but these errors were encountered: