beyond-all-reason / beyond-all-reason/RecoilEngine
CEGs: priority for rate limits
- Dominant language
- C++
- Stars
- 679
- Forks
- 290
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 40
Description
Here's a recursive CEG which has a root "particle" which is just a spawner (this is a simple version of how e.g. the ZK nuke mushroom cloud works):
```lua
sub_particle = {
-- bla
},
root_particle = {
class = [[CExpGenSpawner]],
count = 10,
properties = {
delay = [[0 i30]],
explosiongenerator = [[custom:sub_particle]],
},
},
```
Currently, when near the particle limit, each particle has some hardcoded chance of going through (which goes down to 0 as particle count approaches limit). This means that the root particle of the nuke (which is an important visual indicator) has the same chance of being blocked as some random sparks from a flea shot (which are just eye candy).
The request is to add some sort of priority such that important particles have a lower chance of being blocked, possibly to the extent that existing lower-priority particles are dropped to make room.
Contributor guide
Research direction
Start by locating the CEG particle spawning and rate-limit handling, then trace how CExpGenSpawner instances are treated near the particle limit. Clarify the priority model and its effect on existing particles; done should include a defined way for important effects to be preserved while lower-priority particles are dropped.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, lua
- Domain
- game-dev, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100