핵심 개념
핵심 개념
SeoulEnergy의 블록은 네 가지 타입으로 나뉩니다.
| 타입 | 역할 | 예시 |
|---|---|---|
GENERATOR | 전력을 생산합니다. | 목재 발전기, 석탄 발전기 |
RELAY | 전력 연결 거리를 확장합니다. | 구리 전선, 전신주 |
MACHINE | 전력을 소비해 작업합니다. | 전기 용광로 |
STORAGE | 전력을 저장하고 부족할 때 공급합니다. | 배터리 셀 |
전력 공급 규칙
기계는 다음 중 하나가 만족되어야 작동합니다.
- 발전기에서 전력을 직접 또는 전선을 통해 공급받음
- 같은 전력망의 배터리 셀에서 전력을 공급받음
전력 배분 순서
- 발전기가 전력을 생산합니다.
- 우선순위가 높은 기계부터 전력을 받습니다.
- 전력이 부족하면 배터리에서 방전합니다.
- 전력이 남으면 배터리에 충전합니다.
우선순위란?
priority는 전력이 부족할 때 어떤 기계나 배터리를 먼저 처리할지 정하는 숫자입니다.
SeoulEnergy에서는 숫자가 클수록 우선순위가 높습니다.
machine: power-input: 60 priority: 10예를 들어 같은 전력망에 아래 기계가 있고 전력이 모두를 감당하지 못하면 priority: 20 기계가 먼저 켜집니다.
| 기계 | priority | 결과 |
|---|---|---|
| 전기 용광로 | 20 | 먼저 전력 공급 |
| 분쇄기 | 10 | 그 다음 전력 공급 |
| 압축기 | 0 | 마지막 전력 공급 |
기계 우선순위가 같으면 아래 순서로 결정됩니다.
- 발전기까지 더 가까운 기계
- 그래도 같으면 내부 위치 key 순서
배터리도 storage.priority를 사용합니다. 여러 배터리가 같은 전력망에 있으면 숫자가 큰 배터리가 먼저 충전/방전에 참여합니다.
기획 기준으로는 중요한 생산 라인일수록 높은 값을 주면 됩니다. 예를 들어 메인 생산 기계는 100, 일반 기계는 10, 장식성 또는 보조 기계는 0처럼 구간을 나눠두면 관리하기 쉽습니다.
서버 부하를 줄이는 방식
전선의 range 계산은 설치/파괴 시에만 수행됩니다.
매초마다 주변 블록을 다시 스캔하지 않고, 이미 계산된 연결망에서 숫자만 배분합니다.
즉 기획자는 너무 큰 relay.range만 피하면 됩니다.