Summary
Add configurable per-type spawn limits, spawn rates and priority levels so each gnomelet type can have fine-grained control over how often it appears, how many can be on screen, and which types get preference when the overall cap is reached.
Problem
There's currently no limit on how many of the same gnomelet can appear at once, leading to duplicate sprites piling up on screen. There's also no way to control how frequently a type spawns or which types should be favoured when the screen is near capacity.
Proposed solution
Allow each gnomelet type to define three optional values:
Max count - how many of that type can be on screen at once
Spawn rate - how frequently that type is chosen to spawn (e.g. low / medium / high / always)
Priority - when the overall cap is nearly full, higher-priority types claim remaining slots first
Example configuration:
Maximum overall gnomelets: 6
- gnomelet 1 (cat): max 1 | spawn rate: Always | priority: 1
- gnomelet 2 (dog): max 1| spawn rate: Always | priority: 1
- gnomelet 3 (squirrel): max 2–4 | spawn rate: high | priority: 2
- gnomelet 4 (Tux): max 1 | spawn rate: low | priority: 3
Before spawning, the extension checks if the current count for that type is at its limit. If so, the spawn is skipped until one is removed. If the overall cap is reached, only types with a higher priority can displace a pending spawn.
Summary
Add configurable per-type spawn limits, spawn rates and priority levels so each gnomelet type can have fine-grained control over how often it appears, how many can be on screen, and which types get preference when the overall cap is reached.
Problem
There's currently no limit on how many of the same gnomelet can appear at once, leading to duplicate sprites piling up on screen. There's also no way to control how frequently a type spawns or which types should be favoured when the screen is near capacity.
Proposed solution
Allow each gnomelet type to define three optional values:
Max count - how many of that type can be on screen at once
Spawn rate - how frequently that type is chosen to spawn (e.g. low / medium / high / always)
Priority - when the overall cap is nearly full, higher-priority types claim remaining slots first
Example configuration:
Before spawning, the extension checks if the current count for that type is at its limit. If so, the spawn is skipped until one is removed. If the overall cap is reached, only types with a higher priority can displace a pending spawn.