Blizzard / Blizzard/s2client-proto

Missung Debug command to set tech state and resource values

Open
#117 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
4k
Forks
440
PR merge metrics
No merged PRs in 30d

Description

I am contributing development toward a custom scenario runner that will both run the game and also set up a predefined game state. I am setting unit creation/destroy events and positioning them to my liking with the existing protocol.

However, as far as I can tell, the [debug proto](https://github.com/Blizzard/s2client-proto/blob/master/s2clientprotocol/debug.proto) either ignores upgrade requirements or advances ALL techs one level for player#1 using [DebugCommand](https://github.com/Blizzard/s2client-proto/blob/master/s2clientprotocol/debug.proto#L12).[game_state](https://github.com/Blizzard/s2client-proto/blob/master/s2clientprotocol/debug.proto#L80). This feature would also need to be able to set upgrades for not only the requesting player, but other players, opponents included.

A second, lesser issue is to be able to specify resource values, but [the provided resource indexes](https://github.com/Blizzard/s2client-proto/blob/master/s2clientprotocol/debug.proto#L74) only provide the requesting player a large amount of resources. Yet there appears to be no way to set specific, independent values for both mineral and vespene.

(edited for clarity)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with s2clientprotocol/debug.proto, especially DebugCommand.game_state and the resource indexes referenced in the issue. Determine how the protocol can represent per-player upgrade state and independent mineral and vespene values; done means the debug command can target the requesting player or other players with explicit upgrade and resource values.

Written by the indexing model from the issue text.

Assessment

Domain
game-dev, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.