Communitygithub.com

gamedev-skills/awesome-gamedev-agent-skills

Skills de desenvolvimento de jogos para agentes de IA de codificação: instale uma vez e um roteador mestre carrega a skill certa para seu motor e tarefa. 66 skills originais com versão fixa (mais um roteador mestre) no formato portátil SKILL.md que funciona em Claude Code, Cursor, Codex, Copilot, Gemini CLI e outros, para Godot, Unity, Unreal, web e além.

O que é awesome-gamedev-agent-skills?

Este conjunto de habilidades para agentes de IA de codificação foca no desenvolvimento de jogos, fornecendo um roteador mestre que identifica automaticamente o motor do jogo (Godot, Unity, Unreal, Bevy, Phaser, etc.) e a tarefa a ser realizada (como adicionar um pulo duplo, criar um inventário ou gerar um calabouço procedural). O roteador então carrega exatamente as skills especializadas necessárias, evitando sobrecarga de contexto. Ele suporta múltiplas plataformas, incluindo Claude Code, Cursor, Codex, Copilot e Gemini CLI, e é composto por 66 skills com versão fixa, cada uma focada em um conceito específico (movimento 2D, sistemas de diálogo, física, etc.). A abordagem é portátil e modular: você instala uma vez e o roteador decide, com base na análise do projeto e na descrição da tarefa, quais skills devem ser lidas e compostas, garantindo que o agente tenha o conhecimento mínimo necessário para agir. Além disso, inclui suporte a fluxos de trabalho como publicação na Steam/itch.io e criação rápida de protótipos.

Funciona com✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI
npx skills add gamedev-skills/awesome-gamedev-agent-skills

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Roteador Mestre — Distribuidor de Skills para Desenvolvimento de Jogos

O ponto de entrada para trabalho de desenvolvimento de jogos. Ele identifica o projeto para escolher um motor, classifica a tarefa a partir da solicitação, nomeia o conjunto mínimo de skills especializadas e instrui a lê-las antes de agir. Ele distribui e compõe — não reensina as APIs do motor.

Quando usar

  • Use no início de qualquer solicitação de desenvolvimento de jogo — construir ou depurar um jogo, fase, jogador, inimigo, shader, UI, sistema de salvamento, multijogador, entrada, áudio, IA, diálogo ou conteúdo procedural — para decidir qual(is) skill(s) carregar.
  • Use quando o usuário nomear um motor ou gênero, disser "faça um jogo" ou perguntar "qual skill devo usar?".

Quando não usar: uma vez que a skill correta está carregada e a tarefa está estritamente dentro dela, trabalhe a partir dessa skill — não execute o roteador novamente a cada turno. Re-roteie apenas quando a tarefa mudar para um novo motor ou área (passo 6 do roteador).

Algoritmo de roteamento

  1. Detectar motor — impressão digital do projeto → no máximo um conjunto de skills de motor (ou "desconhecido"). §1.
  2. Classificar tarefa — redação → disciplina(s) + no máximo um gênero + workflow(s). §2.
  3. Resolver — o conjunto mínimo: skill(s) do motor + disciplina(s) + gênero + workflow(s). §3.
  4. Ler (divulgação progressiva) — abrir apenas os corpos dos SKILL.md escolhidos; references/ apenas sob demanda. §4.
  5. Compor — ordem: fundamentos do motor → conceito da disciplina → cola do gênero → workflow. §5.
  6. Fallback — motor desconhecido ou nenhuma skill se encaixa → perguntar ou usar Godot como padrão; declarar qualquer lacuna. §6.

1. Detecção de motor (impressão digital do projeto)

Digitalize pelo sinal de maior confiança; escolha exatamente um motor. Pare na primeira correspondência.

#MotorSinal primárioRaiz do conjunto de skills
1Godotproject.godotskills/godot/
2Unreal*.uprojectskills/unreal/
3UnityAssets/ e ProjectSettings/ProjectVersion.txtskills/unity/
4BevyCargo.toml com dependência bevyskills/other-engines/bevy-ecs/
5Phaserpackage.json dep phaserskills/web-engines/phaser-*
6PixiJSpackage.json dep pixi.jsskills/web-engines/pixijs-rendering/
7three.jspackage.json dep threeskills/web-engines/threejs-*
8LÖVEconf.lua / main.lua chamando love.*skills/other-engines/love2d-core/
9pygame*.py com import pygameskills/other-engines/pygame-core/
10Roblox*.rbxl(x) / *.project.json (Rojo)skills/other-engines/roblox-*

Para sinais secundários, as regras de desambiguação Godot-C#/Unity/Bevy e multi-web, monorepos e menções de motor em texto simples, leia references/engine-detection.md.

2. Classificação de tarefas (redação → categoria)

Após o motor, leia a solicitação em busca de sinais de tarefa (três categorias aditivas):

  • disciplinas (conceitos entre motores): game-ai, procedural-gen, dialogue-systems, save-systems, audio-design, shader-programming, physics-tuning, level-design, input-systems, game-feel, camera-systems, game-ui-ux, performance-optimization. Acionadas por palavras de conceito ("pathfinding", "save slots", "fragment shader", "screen shake", "camera follow", "HUD/menu", "optimize/low FPS").
  • gêneros (modelos de jogos completos): platformer, roguelike, rpg, fps-shooter, tower-defense, card-game, visual-novel, survival-crafting, puzzle. Acionados por palavras de gênero ("faça um roguelike", "deckbuilder").
  • workflows (processo/entrega): game-jam, prototype-fast, steam-publish, itch-publish. Acionados por palavras de processo ("publicar na Steam", "vertical slice").

Sinais de arquivo refinam isso: *.yarn/*.ink → dialogue-systems/visual-novel; steam_appid.txt → steam-publish; *.inputactions → unity-input-system.

3. Tabela de roteamento (tarefa → categoria → skill)

3a. Skills de motor — leia a que corresponde ao motor detectado + subtarefa

  • Godot (skills/godot/): linguagem godot-gdscript / godot-csharp; estrutura godot-nodes-scenes, godot-signals-groups; 2D godot-2d-movement, godot-tilemap; 3D godot-3d-essentials; física godot-physics; UI godot-ui-control; animação godot-animation; shaders godot-shaders; dados godot-resources; áudio godot-audio; netcode godot-multiplayer; exportação godot-export.
  • Unity (skills/unity/): scripting unity-csharp-scripting; entrada unity-input-system; física unity-physics; animação unity-animation; dados unity-scriptableobjects; 2D unity-tilemap-2d; navegação IA unity-navmesh; exportação unity-build-pipeline.
  • Unreal (skills/unreal/): scripting visual unreal-blueprints; gameplay C++ unreal-cpp-gameplay; entrada unreal-enhanced-input; IA unreal-behavior-trees; VFX unreal-niagara; exportação unreal-packaging.
  • Web (skills/web-engines/): phaser-core, phaser-arcade-physics; pixijs-rendering; threejs-scene-setup, threejs-gltf-loading, threejs-materials-lighting.
  • Outros (skills/other-engines/): bevy-ecs, pygame-core, love2d-core, roblox-luau, roblox-datastores.

3b. Disciplinas — carregar junto com a skill do motor (conceito ↔ API do motor)

Conceito (diz:)Skill da disciplinaCombina com (API do motor)
IA inimiga, behavior tree, pathfinding, steeringgame-aiunity-navmesh / unreal-behavior-trees / navegação Godot
procedural, noise, semente, gerador de calabouçosprocedural-genskill de tilemap/grid do motor
diálogo, Yarn, Ink, árvore de conversadialogue-systemsskill de UI do motor
salvar/carregar, slots, persistênciasave-systemsroblox-datastores / IO do motor
música adaptativa, mixer, ducking, SFXaudio-designgodot-audio / Unity AudioMixer
shader, fragment, dissolve/outlineshader-programminggodot-shaders / material do motor
jitter, tunneling, timestep fixophysics-tuninggodot-physics / unity-physics
whitebox, blockout, layout de tiles, ritmolevel-designgodot-tilemap / unity-tilemap-2d
reatribuir, gamepad, buffer de entradainput-systemsunity-input-system / unreal-enhanced-input / InputMap Godot
screen shake, hit-stop, juice, squash & stretch, "deixe impactante"game-feelanimação/tween do motor + camera-systems (shake)
camera follow, deadzone, look-ahead, órbita, primeira pessoacamera-systemsgodot-2d-movement / godot-3d-essentials / Cinemachine
HUD, menu, layout de UI, escalonamento, safe area, navegação por focogame-ui-uxgodot-ui-control / Unity UI (UGUI/UI Toolkit)
baixo FPS, otimizar, draw calls, pico de GC, pooling, profilerperformance-optimizationprofiler do motor + physics-tuning

3c. Gêneros — compor motor + disciplinas (vincule * ao motor detectado)

Gênero (diz:)compõe
platformer, pulo, pulo duplogodot-2d-movement (ou física do motor) + godot-tilemap/unity-tilemap-2d + level-design + camera-systems + game-feel
roguelike, calabouço procedural, morte permanenteprocedural-gen + godot-tilemap/unity-tilemap-2d + game-ai + save-systems + game-feel
RPG, stats, inventário, missõesgodot-resources/unity-scriptableobjects + dialogue-systems + save-systems + game-ui-ux
FPS, primeira pessoa, hitscangodot-3d-essentials/unreal-cpp-gameplay + input-systems + game-ai + camera-systems + game-feel
tower defense, ondas, pistasgame-ai + movimento do motor + level-design + game-ui-ux
card game, deckbuilder, TCGgodot-resources/unity-scriptableobjects + game-ui-ux (+ UI do motor)
visual novel, história ramificadadialogue-systems + save-systems + game-ui-ux
sobrevivência, crafting, coletasave-systems + godot-resources/unity-scriptableobjects + procedural-gen + game-ui-ux
puzzle, match-3, lógica de gradegodot-tilemap/unity-tilemap-2d + level-design + game-feel

3d. Workflows — processo e entrega independentes do motor

game-jam (jam, 48 horas, Ludum Dare/GMTK) · prototype-fast (vertical slice, MVP, greybox) · steam-publish (Steam, Steamworks, depot; steam_appid.txt) · itch-publish (itch.io, butler; .itch.toml).

Para a lista exaustiva de gatilhos por skill e todas as vinculações de motor, leia references/routing-table.md.

4. Protocolo de leitura (divulgação progressiva)

  1. Pré-carregado: apenas o name + description de cada skill estão no contexto. Decida a partir disso mais a impressão digital — não pré-leia os corpos.
  2. Na seleção: leia o corpo de cada skills/<categoria>/<nome>/SKILL.md escolhido — e apenas esses. Nunca carregue uma categoria inteira em lote.
  3. Sob demanda: leia os arquivos references/ agrupados de uma skill apenas quando a subtarefa precisar dessa profundidade (o corpo da skill indica quando).
  4. Re-rotear na mudança: se a tarefa mudar (movimento → salvar), selecione e leia a skill recém-relevante em vez de manter tudo carregado.

Anuncie o que carrega e por quê, exemplo: "Detectado Godot (project.godot). Carregando godot-2d-movement para o controle e platformer para o pulo; abrirei a referência feel-tuning.md da skill de platformer se você quiser coyote-time/buffering."

5. Regras de composição

  • Um conjunto de motor, conceitos aditivos. Exatamente um conjunto de skills de motor; adicione as disciplinas que a tarefa precisa e geralmente no máximo um gênero. Workflows são anexados independentemente.
  • Ordem: fundamentos do motor → conceito da disciplina → orquestração do gênero → workflow.
  • Propriedade na sobreposição: a skill do motor possui a API/sintaxe; a skill da disciplina possui o conceito/algoritmo portátil e delega à skill do motor o código; a skill do gênero possui a estrutura/cola e vincula externamente em vez de reensinar um primitivo.
  • Hand-offs: quando um composes de um gênero nomeia um slot como *-2d-movement, vincule-o ao motor detectado. Se esse motor não tiver a skill exata, veja §6 e references/routing-table.md ("Lacunas de vinculação").

6. Fallback para motor desconhecido e sem skill

Motor desconhecido (nenhuma impressão digital, nenhum motor nomeado):

  1. Verifique a solicitação por um nome de motor em texto simples ("no Unity", "usando Phaser"). Se encontrado, adote-o.
  2. Se a tarefa é uma pergunta pura de conceito/gênero/workflow, roteie diretamente para a skill de disciplina/gênero/workflow independente de motor — nenhum motor necessário ("qual é um bom formato de save?" → save-systems).
  3. Apenas se a escolha do motor realmente bloquear a resposta, faça uma pergunta direcionada ("Qual motor — Godot, Unity, Unreal ou um motor web/outro?"). Se o usuário não tiver preferência e um for necessário, use Godot como padrão (o motor mais completamente coberto aqui) e diga isso.
  4. Nunca invente um motor ou carregue uma skill de motor baseado em um palpite.

Motor conhecido, mas nenhuma skill cobre a subtarefa: carregue a skill de motor mais próxima mais a disciplina relevante e declare a lacuna claramente (exemplo: "nenhuma skill dedicada de movimento 2D do Unity; usando unity-csharp-scripting + unity-physics"). Nunca invente um nome de skill.

Gêneros conflitantes/múltiplos: escolha o gênero dominante a partir da redação; mencione o secundário e ofereça carregá-lo se o usuário confirmar.

Exemplos práticos

SolicitaçãoMotor detectadoSkills carregadas (em ordem)
"adicione um pulo duplo ao meu jogador Godot"Godot (project.godot)godot-2d-movement → platformer
"faça um inventário para meu RPG Unity"Unity (Assets/+ProjectSettings/)unity-scriptableobjects → rpg → save-systems
"calabouço procedural roguelike no Godot"Godotgodot-tilemap → procedural-gen → roguelike
"diálogo ramificado de um arquivo .yarn"(nenhum necessário)dialogue-systems (+ skill de UI do motor se um motor for detectado)
"como projetar slots de save com migração?"(nenhum)save-systems apenas
"publique meu jogo no itch com butler"(qualquer/nenhum)itch-publish apenas
"quero fazer um jogo, mas não sei o que usar"desconhecido → perguntar, usar Godot como padrãoo roteador pergunta uma vez; então, exemplo: godot-nodes-scenes
"faça os hits parecerem impactantes no meu jogo Godot"Godot (project.godot)game-feel (+ camera-systems para shake)
"a câmera deve seguir meu jogador suavemente"(motor detectado)camera-systems (+ skill de movimento do motor)
"meu jogo Unity cai para 30 FPS, otimize-o"Unity (Assets/+ProjectSettings/)performance-optimization (perfil primeiro) → skill do motor

Referências

  • Impressões digitais completas do motor, sinais secundários e desambiguação: references/engine-detection.md.
  • Palavras de gatilho exaustivas por skill, vinculações de motor e lacunas de vinculação: references/routing-table.md.

Habilidades Relacionadas