beyond-all-reason / beyond-all-reason/RecoilEngine
GameID: check if it needs the "send later" thing
- Dominant language
- C++
- Stars
- 679
- Forks
- 290
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 40
Description
Right now gameID seems to be sent at some point (IIRC on game start, i.e. after everybody placed startpoint) via the `NETMSG_GAMEID` network packet. I believe there was historically some reason to do it this way which also affected synced RNG seed. But synced RNG is now available immediately so maybe gameID can too.
Remarks:
* check if the generation method relies on the current behaviour in some way. In particular IIRC the delay between exe start and the game start was used as an extra source of entropy. Check if the ID has enough entropy for its needs after the change.
* deprecate `wupget:GameID(id)` though don't immediately remove
* add some sort of `Game.gameID` or `Spring.GetGameID()`.
Contributor guide
Research direction
Trace the NETMSG_GAMEID packet and the GameID generation method first, checking how synced RNG and startup timing affect entropy. Review the existing wupget:GameID(id) usage and the proposed Game.gameID or Spring.GetGameID() exposure. Done means the timing dependency is resolved, compatibility is addressed, and the new access path is defined and tested.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- game-dev, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100