Context
Arkanoid is already one of the clearest arcade examples in the repository, which makes it a better target than a non-existent Breakout example for demonstrating temporary gameplay modifiers.
Adding power-ups to Arkanoid would strengthen the example by showing how Cougr can model spawned pickups, temporary effects, and expiration-driven systems without changing the core genre or making the example unnecessarily broad.
Goal
Extend examples/arkanoid/ with power-up mechanics modeled through clear Cougr-style components and systems.
The implementation should demonstrate effect spawning, pickup handling, timed modifiers, and clean expiration behavior while preserving the existing gameplay loop.
Scope
In scope:
- power-up spawn rules
- pickup handling
- temporary gameplay modifiers
- expiration logic for timed effects
- tests for effect lifecycle and gameplay interaction
- README updates and workflow alignment if needed
Out of scope:
- frontend or graphical effects
- large progression systems or unlock trees
- unrelated gameplay redesigns
Suggested Power-Ups
A first version can stay intentionally small. Good candidates include:
- wider paddle
- slower ball speed
- extra life
- multi-ball, only if it does not distort the example's scope too early
ECS Design Direction
Suggested components:
| Component |
Fields |
Purpose |
PowerUpComponent |
kind, position, active |
Represents a spawned pickup |
ActiveEffectComponent |
effect_kind, remaining_ticks |
Represents an applied temporary effect |
TimerComponent |
remaining_ticks |
Supports effect expiration |
Suggested systems:
PowerUpSpawnSystem
PickupSystem
EffectApplicationSystem
EffectExpirationSystem
Tests
Add tests covering:
- power-up spawn conditions
- pickup resolution
- effect application
- effect expiration after the configured duration
- interaction with existing Arkanoid gameplay state
Deliverables
- implementation in
examples/arkanoid/
- tests covering the effect lifecycle
- updated
examples/arkanoid/README.md
- workflow updates if needed
Acceptance Criteria
- power-ups are modeled cleanly rather than hard-coded into unrelated gameplay logic
- temporary effects apply and expire correctly
- tests cover the main effect lifecycle and gameplay interaction
- the example remains readable and useful as a Cougr reference
- documentation and commands use
wasm32v1-none
Validation Commands
cd examples/arkanoid
cargo fmt --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test
stellar contract build
Context
Arkanoid is already one of the clearest arcade examples in the repository, which makes it a better target than a non-existent Breakout example for demonstrating temporary gameplay modifiers.
Adding power-ups to Arkanoid would strengthen the example by showing how Cougr can model spawned pickups, temporary effects, and expiration-driven systems without changing the core genre or making the example unnecessarily broad.
Goal
Extend
examples/arkanoid/with power-up mechanics modeled through clear Cougr-style components and systems.The implementation should demonstrate effect spawning, pickup handling, timed modifiers, and clean expiration behavior while preserving the existing gameplay loop.
Scope
In scope:
Out of scope:
Suggested Power-Ups
A first version can stay intentionally small. Good candidates include:
ECS Design Direction
Suggested components:
PowerUpComponentActiveEffectComponentTimerComponentSuggested systems:
PowerUpSpawnSystemPickupSystemEffectApplicationSystemEffectExpirationSystemTests
Add tests covering:
Deliverables
examples/arkanoid/examples/arkanoid/README.mdAcceptance Criteria
wasm32v1-noneValidation Commands