
What?
Hi! Thanks for trying the game.
The transmitter behaves like a regular Python object — every `get_component("transmitter")` call returns a *new* instance. So your script creates two separate transmitters: the first one connects to earth, the second one (used for transmit) is a fresh instance that hasn't connected yet.
Fix is to assign once and reuse:
t = get_component("transmitter")
t.connect("earth")
t.transmit("current_temperature", get_component("thermometer").get_value())No worries, I have actually already added a reference about this in the DOCS of the game, it's a very good point. I added this to the Components page in DOCS (not live in the demo yet)
**Each call is a new instance**
`get_component(id)` is a factory — every call creates a fresh wrapper, like instantiating a Python class. For machines tied to a physical entity (rover, smelter, generator), wrappers all read and write through the same backing data, so it feels singleton-ish in practice — setting a value from one wrapper is visible from another.
For purely virtual components like the `transmitter`, each wrapper is independent:
```
# Fails — two separate transmitters, only the first is connected:
get_component("transmitter").connect("earth")
get_component("transmitter").transmit("weather", 42)
# Works — one transmitter, used twice:
t = get_component("transmitter")
t.connect("earth")
t.transmit("weather", 42)
```
Wrappers are just objects — make one, make ten, each is independent.
Thanks for the feedback and helping me make the game better ! Appreciated !