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

Dev - Rework Create Game Popup #244

Open
AutumnThyme opened this issue Jan 4, 2025 · 0 comments
Open

Dev - Rework Create Game Popup #244

AutumnThyme opened this issue Jan 4, 2025 · 0 comments
Labels

Comments

@AutumnThyme
Copy link
Collaborator

From: "Misc settings and realism rework, custom logic bindings to all settings"

Current community standpoint is that there is no clear separation between the different ways they play versus the sandbox version of the game where anything can be changed. Since communities want control and validation of their own setup, we need to expose a way for users to upload their own in depth presets for users to use. When a user loads a community preset, this preset will be a selectable option which will bring up its own customized Create Game Panel with the settings hidden if not allowed/changeable or filtered views of settings. If Validated, we will use a private key to encode the maps/gamemodes used and do a hashcheck against the schema to make sure its up to date. For the end display, say ranking validation, we would show the current date, the version of the schema, and the link that the schema was downloaded from.

For the schema, we need a nice convenient way to express which settings should be hidden, which should be the default value out of a list of filtered values, and a way to determine if a schema is no longer valid/needs to be updated in order to be usable (setting removed/changed).

We will want to pull schemas from a valid text host since its possible that communities don't fix there stuff in time for our updates and we should not be delayed/tied to said communities for releasing content. The templates should be copyable/non-validated for communities that are more casual and just want an easier way to access their gamemode to get through all the settings.

We need to draft up a way to create this separation such that we create this hierarchy:

[
    {
        "community": "ranking",
        "schema": "www.dropbox.com/mycoolmodes.json",
        "validate": true
    },
    {
        "community": "bomb",
        "schema": "www.dropbox.com/mycoolmodes1.json",
        "validate": false
    },
    {
        "community": "my custom mode package",
        "schema": "www.dropbox.com/mycoolmodes2.json",
        "validate": false
    },
]
[
    {
        "community": "ranking",
        "schema": {
            "globalSettings": {
                "general": {
                    "maps": ["forest1", "forest3"],
                    "modes": ["10 Minute Damage", "10 Minute Speed", "Feed"],
                    "weather": ["Always Day", "*"],
                    "difficulty": ["Normal", "Hard", "Abnormal"]
                },
                "titans": {
                    "customSpawns": true,
                    "normal": 100,
                    "jumpers": 0,
                    "abnormal": 0,
                    "crawlers": 0,
                    "thrower": 0,
                    "punk": 0,
                    "customSizes": true,
                    "min": 2.5,
                    "max": 3,
                    "customHealth": ["off"],
                    "armorMode": true,
                    "armor": 1000,
                    "standardModels": [true, false],
                    "smartMovement": [false, true],
                },
                "misc": {
                    "pvp": false,
                    "customStats": true,
                    "customPerks": false,
                    "realism": false,
                }
            },
            "modeSettings": [
                {
                    "name": "10 Minute Damage",
                    "mode": {
                        "mygenericgamemodesetting": ["speed damage"]
                    }
                },
                {
                    "name": "10 Minute Speed",
                    "titans": {
                        "customSizes": false,
                        "armorMode": false,
                        "customSpawns": false,
                    },
                    "mode": {
                        "mygenericgamemodesetting": ["speed"]
                    }
                },
                {
                    "name": "Feed",
                    "mode": {
                        "mygenericgamemodesetting": ["feed"]
                    }
                }
            ],
            "bundledGamemodes": [
                {
                    "mode": "10 Minute Damage",
                    "logic": "www.dropbox.com/mycoolmode.acl"
                },
                {
                    "mode": "10 Minute Damage",
                    "logic": "Massive JSON Formmated String containing all logic to be separated out."
                }
            ]
        },
        "validate": true
    }
]
@AutumnThyme AutumnThyme added the dev label Jan 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant