Skills do Jogador
Player Skills
Design da progressão por uso: as 11 skills do jogador, o exemplo detalhado de Rifles, e as regras anti-grind (ganho = base/√usos, cooldown, perda parcial na morte). Skills nunca aumentam dano — só manuseio.
Última edição em 07/07/2026, 20:16 por Admin
Skills do Jogador
Página de game design (não diegética), derivada do Sistema de Atributos, Dano e Balística. Define a progressão do personagem: por uso, sem números mágicos — um eixo contínuo, com ganho decrescente na repetição e cooldown entre ganhos.
A regra de ouro do sistema: skills nunca aumentam dano. Elas melhoram o manuseio — dano vem apenas de munição, energia e zona de acerto.
1. As 11 skills
| Skill | Evolui ao... | Melhora... |
|---|---|---|
| Armas curtas | atirar/treinar com pistolas | saque, sway em movimento, transição de alvo |
| Rifles | usar fuzis | ver exemplo detalhado abaixo |
| Longo alcance | tiros >200 m | leitura de distância (marcações), estabilidade deitado, controle de respiração |
| Controle de recuo | disparar em rajada | recuperação entre tiros (nunca reduz o recuo físico da arma a zero) |
| Medicina | tratar a si e a outros | velocidade de bandagem/sutura, menos chance de infecção, diagnóstico visível de aliados |
| Sobrevivência | cozinhar, purificar água, acampar | rendimento de recursos, fogueira com menos material |
| Reparos | consertar armas/roupas/veículos | teto de reparo mais alto, menos peças consumidas |
| Furtividade | andar agachado, abates silenciosos | ruído de passos, velocidade agachado, tempo até detecção |
| Resistência física | correr/carregar peso | curva de Fadiga, recuperação de Stamina |
| Resistência ao Sinal | sobreviver a exposição alta | limiar dos efeitos do Sinal sobe (os efeitos não somem — o corpo aprende a hesitar menos) |
| Percepção de anomalias | observar/sobreviver a anomalias | pistas audiovisuais mais cedo (Nanostorm chegando, Relay Surge, zona do Black Lake Phenomenon) |
As duas últimas são as skills de lore, amarradas ao chip dormente do jogador e ao mundo (ver Neural Chip).
2. Exemplo detalhado — skill de Rifles
A skill de Rifles NÃO aumenta dano; ela melhora:
- controle de sway (amplitude e frequência);
- velocidade de entrar na mira (ADS);
- duração do prender-a-respiração;
- recarregamento (tempo e chance de manter a mira);
- leitura de distância (o retículo "aprende" a estimar);
- estabilidade por postura (em pé/agachado/deitado).
Um veterano com o mesmo fuzil de um novato acerta mais porque segura melhor a arma — o projétil que sai do cano é idêntico.
3. Anti-grind
Três mecanismos impedem o farm mecânico de skill:
- Ganho decrescente com a repetição:
ganho = base / √usos— os primeiros usos ensinam muito; o milésimo, quase nada. - Cooldown entre ganhos: repetição em sequência imediata não acumula progresso.
- Perda parcial na morte — em aberto no design: % fixa ou decaimento (a decidir).
4. Esboço de implementação
Estado de uma skill e o ganho por uso com as regras anti-grind:
USTRUCT(BlueprintType)
struct FSkillState
{
GENERATED_BODY()
UPROPERTY(BlueprintReadOnly) int32 Usos = 0; // repeticoes contabilizadas
UPROPERTY(BlueprintReadOnly) float Nivel = 0.f; // eixo continuo 0..100, sem "level up" discreto
double UltimoGanhoTimestamp = 0.0; // controle do cooldown entre ganhos
};
void UTSSSkillComponent::AddSkillUse(ESkill Skill, double Agora)
{
FSkillState& S = Skills[Skill];
// Anti-grind 1: cooldown entre ganhos — repetir em sequencia nao acumula.
if (Agora - S.UltimoGanhoTimestamp < GanhoCooldownSegundos)
{
return;
}
S.Usos++;
// Anti-grind 2: ganho decrescente — ganho = base / sqrt(usos).
const float Ganho = GanhoBase / FMath::Sqrt(static_cast<float>(S.Usos));
S.Nivel = FMath::Min(S.Nivel + Ganho, 100.f);
S.UltimoGanhoTimestamp = Agora;
}
Os modificadores que a skill entrega ao jogo — repare que não existe campo de dano:
FHandlingModifiers UTSSSkillComponent::GetHandlingModifiers(ESkill Skill) const
{
const float N = Skills[Skill].Nivel / 100.f; // 0..1
FHandlingModifiers Mod;
Mod.SwayAmplitude = FMath::Lerp(1.0f, 0.6f, N); // menos sway — nunca zero
Mod.TempoADS = FMath::Lerp(1.0f, 0.75f, N); // entra na mira mais rapido
Mod.TempoRecarga = FMath::Lerp(1.0f, 0.8f, N);
Mod.FolegoNaMira = FMath::Lerp(1.0f, 1.5f, N); // prende a respiracao por mais tempo
Mod.EstabilidadePostura = FMath::Lerp(1.0f, 1.3f, N); // em pe/agachado/deitado
// Regra de ouro: skills NUNCA tocam em dano.
// Nao existe Mod.Dano — dano vem so de municao, energia e zona de acerto.
return Mod;
}
(Os valores dos Lerp são ilustrativos de tuning; a estrutura — o quê a skill pode e não pode modificar — é a regra de design.)
Ver também
- Sistema de Atributos, Dano e Balística — os atributos e o pipeline de dano que as skills modificam (e o que elas nunca tocam).
- Neural Chip — o chip dormente por trás da skill de Resistência ao Sinal.