Page 1 of 1

[Feature Request] Unsynced CEGs

Posted: 27 Oct 2018, 14:31
by [Fx]Doo
Relative to this mantis ticket: https://springrts.com/mantis/view.php?id=6058

What motivates this is that using maxparticles count is a limit that can "hide" some effects completly and wont provide an equally lowered quality on all CEGs, meaning while it helps with framerates it can alter game experience by not showing some effects that can be important.
There could easily be slots for predefined low/medium/high quality CEG sets, but I am not sure about the added value since only a handful of people with extremely low-end systems would use the first two.
[...]

Re: [Feature Request] Unsynced CEGs

Posted: 27 Oct 2018, 14:49
by Silentwings
Afaics that poll also needs an "I have no idea if CEGS currently matter for my ingame perf or not" option.

My answer: "I don't think so and I'd want some evidence before I believed otherwise" might also be worth putting in ;). As far as I can tell other gfx settings (distdraw, icondist, adv***shading etc) matter more.

Re: [Feature Request] Unsynced CEGs

Posted: 27 Oct 2018, 15:58
by zwzsg
Would that mean each and every game dev would have to make all his CEG three times?

Re: [Feature Request] Unsynced CEGs

Posted: 27 Oct 2018, 15:59
by raaar
Limiting maxparticles significantly leads to horrible results where later in the game explosions aren't rendered at all. Whoever plays metal factions gets the maxparticles setting overriden to 20k.

There should be a quality modifier for CEG, and it could be implemented in several ways, the simplest would be a sweeping quantity modifier, depending on selected gfx option or current game performance : modify "count" and "maxparticles" by a fraction (so a CEG generator that'd spawn 10 particles would spawn 4 or 7 instead). It could be adjusted dynamically as the game progresses depending on the current fps.

(EDIT: i mean...simplest for game devs ;))

Re: [Feature Request] Unsynced CEGs

Posted: 28 Oct 2018, 01:25
by Forboding Angel
Evo also overrides default ceg settings. I think that my lowest preset sticks at 5k, default is 20k, and highest iirc is 100k.

That said, evo is specifically designed with a LOT of particles that die out extremely quickly. The end result is really nice looking effects that don't particularly tax low end hardware (it can happen, but it's pretty rare tbh).

Making CEGs unsynced could have some fairly negative impacts. Perhaps there should be a designation inside the ceg itself that decides if the ceg is synced or not. So that way, synced cegs could be defined as extremely important, whereas unsynced cegs could be defined as "It's ok if this gets culled".

I think that the poll focuses too much on the player POV rather than the gamedev POV. I'm inclined to agree with kloot in general.

Right topic, but you're asking the wrong questions.

Re: [Feature Request] Unsynced CEGs

Posted: 28 Oct 2018, 18:31
by PicassoCT
The clean solution would be to have something aking to a lod system- too which cegs could fall back gracefully.
Everyone posting after me volunteers.

Re: [Feature Request] Unsynced CEGs

Posted: 29 Oct 2018, 13:51
by [Fx]Doo
It is orientated for players indeed.
The question right now is wether or not the players need to tune down max particles in order to save some perfs, and have had some negative impact from doing so, which could be helped by having lowQ cegs that don't cost as much particles (fit into the particle limit) without causing any CEG to just disappear.

The question wether or not game devs will want to update their cegs to propose this funcionality is another question that has to be asked indeed. But it's meaningless if there is no player to use it.

Re: [Feature Request] Unsynced CEGs

Posted: 29 Oct 2018, 22:08
by PicassoCT
Engine and Gamedevs- the second class citizens of the spring world..

Re: [Feature Request] Unsynced CEGs

Posted: 30 Oct 2018, 08:23
by Forboding Angel
Doo, I don't think you are fully grasping what I mean. Let me try saying it a different way...

In a lot of cases, there are instances where the engine CEG culling is absolutely fine. Conversely, there are other CEGs that are used to convey important information. An example of this would be Evo's resource buildings, where the color shows the tech level of the structure.

Image

What I am suggesting is something that is perhaps a bit more realistic. That is the idea that gamedevs can define, in the CEG's properties, whether the CEG is synced or unsynced. Synced CEGs would never be culled and would ofc be shown the same to each player. Unsynced CEGs can be culled however the engine deems necessary.

This means that gamedevs wouldn't have to do much, other than specifically designate various CEGs as synced, the engine carries on more or less as per normal. And the players benefit all across the board.