beyond-all-reason / beyond-all-reason/RecoilEngine

Optimization for beamlaser and lightningcannon units

Open
#969 6 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
679
Forks
290
Avg merge
3d 2h
Merged PRs (30d)
40

Description

Beamlaser and lightningcannon type of weapon is pretty heavy.
Most obvious way for optimization for beamlaser and lightningcannon is apply damage only once in 2-3 ticks. While visually it's gonna be updated every tick.

This is how it's looks if i try do this via gamefiles.
https://www.youtube.com/watch?v=eKO0IO8J8zw (Hit every 1 tick)
https://www.youtube.com/watch?v=vhzk0N9XxKU (Hit every 3 tick)
For (Hit every 3 tick) i applied this setting for armbanth unit:
beamburst = true,
beamdecay = 100,
beamtime = 0.07,
burst = 300,
burstrate = 0.0999,

P.S I don't know if this possible to solve via gameside or it's need to be solved via engine.

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Reproduce the two linked demonstrations and compare the provided armbanth settings, then trace whether beamlaser and lightningcannon damage timing is controlled in game-side data or the engine; done means damage is applied every 2–3 ticks while visuals still update every tick.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
game-dev, performance
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.