// equipe · roblox rpg · 2025

Roadmap de Equipe
para o RPG Roblox

Ferramentas, papéis, fluxo de trabalho e conhecimentos técnicos para um time de programadores construir um servidor RPG estilo Tibia.

Lead Dev / Arquiteto
Backend Dev (Systems)
Frontend Dev (UI/UX)
Combat / Gameplay Dev
World Builder
QA / Tester
3D Artist / Modeler
01
Ferramentas Essenciais O que toda a equipe precisa instalar e dominar
TOOLING
🏗️
Roblox Studio
IDE oficial. Todos os devs precisam saber navegar pelo Explorer, Properties, Output, Script Editor e o Toolbox.
OBRIGATÓRIOTODOS
🌿
Git + GitHub / GitLab
Controle de versão. Essencial para equipe. Usar com a extensão Rojo para sincronizar arquivos .lua com o Studio.
OBRIGATÓRIOTODOS
🔁
Rojo
Sincroniza arquivos do VS Code com o Roblox Studio em tempo real. Permite trabalho em time com Git sem conflitos de .rbxl.
OBRIGATÓRIODEVS
💻
VS Code + Luau LSP
Editor mais confortável que o Script Editor nativo. Com a extensão Luau Language Server para autocomplete, lint e tipos.
RECOMENDADODEVS
📦
Wally
Gerenciador de pacotes para Roblox (como npm). Instala libs como ProfileService, Promise, Signal com um arquivo wally.toml.
RECOMENDADOBACKEND
🧪
TestEZ / Jest Lua
Frameworks de testes unitários para Lua/Luau. Testar sistemas isolados (cálculos de dano, loot tables) antes de colocar em produção.
RECOMENDADOQA
⚡ Setup mínimo do time VS Code + Rojo + Git é o trio que transforma o desenvolvimento em equipe. Sem isso, dois devs editando o mesmo lugar geram conflitos insolúveis nos arquivos .rbxl.
FUNDAMENTOS TÉCNICOS
02
Luau — A Linguagem Variante tipada do Lua usada no Roblox
FUNDAÇÃO
📝
Lua Clássico
Variáveis, tabelas, funções, closures, metatables, coroutines. Base que todo dev precisa antes de qualquer coisa.
🔒
Luau Strict Mode
Tipagem estática opcional (--!strict). Detecta bugs antes de rodar. Imprescindível em codebase de equipe grande.
type annotationsgenerics
Async & Task
task.spawn, task.delay, task.wait — substitutos modernos do deprecated spawn() e wait() que causam bugs sutis.
🏗️
OOP com Luau
Classes via metatables. Padrão para sistemas reutilizáveis: Monster.new(), Player.new(), Skill.new().
🤝
Promise Pattern
Lib roblox-lua-promise para operações assíncronas sem callback hell. Essencial para DataStore, HTTP requests, etc.
03
Arquitetura do Projeto Estrutura de pastas, padrões e organização de código
ARQUITETURA
1
Estrutura de Pastas com Rojo
Organizar o projeto em src/server, src/client, src/shared. Nunca misturar código de server com client. O default.project.json do Rojo mapeia para o Roblox Studio automaticamente.
2
Framework: Knit ou Flamework
Knit é o framework mais popular para Roblox. Organiza código em Services (server) e Controllers (client). Evita scripts soltos e cria uma estrutura escalável. Alternativa moderna: Flamework com decorators.
3
Data-Driven Design
Dados de monstros, itens, skills em shared/data/ como módulos Luau puros. Nenhuma lógica, só tabelas. Isso permite que qualquer dev edite sem mexer no sistema. Ex: Monsters/Troll.lua com HP, XP, loot, speed.
4
Event Bus com Signal
Usar a lib GoodSignal para comunicação desacoplada entre sistemas. Ex: Events.PlayerDied:Fire(player) — o sistema de loot, o de respawn e o de penalidade escutam independentemente.
5
Server-Authoritative
Toda lógica de jogo roda no servidor. O cliente só envia inputs e recebe resultados. Validar 100% das RemoteEvents no servidor. Regra de ouro: nunca confiar no cliente.
💡 Recomendação Adotar o Knit como framework logo no começo economiza refatoração dolorosa no futuro. A estrutura de Services/Controllers escala bem para 3–8 devs trabalhando em paralelo.
COLABORAÇÃO E FLUXO
04
Git Workflow para Equipe Como colaborar sem destruir o trabalho um do outro
COLABORAÇÃO
🌿
Branch Strategy
main = produção estável
develop = integração diária
feature/xxx = cada dev em sua feature
Pull Request obrigatório para merge.
📝
Commits Convencionais
Padrão: feat: add combat system, fix: inventory slot bug, chore: update wally packages. Facilita changelog e code review.
🔍
Code Review
Todo PR precisa de aprovação de pelo menos 1 dev. Checar: segurança (validação server-side), performance (sem loops pesados), padrão de código.
🤖
CI com GitHub Actions
Automatizar lint (Selene) e análise de tipos (Luau check) em todo PR. Falha no lint = PR bloqueado. Evita bugs óbvios chegarem no main.
05
Comunicação & Gestão de Tarefas Como o time se organiza no dia a dia
COLABORAÇÃO
Ferramenta Para quê Quando usar
Discord Comunicação em tempo real, canais por sistema (#combat, #ui, #data), voice para pair programming Uso diário
Jira / Linear Backlog, sprints, tickets de feature e bug. Cada tarefa tem responsável, prazo e critério de aceitação Planejamento semanal
Notion Wiki interna: design docs, decisões de arquitetura, lore do jogo, tabelas de balanceamento Documentação contínua
Figma Protótipos de UI (HUD, menus, inventário) antes de codar. Aprovação visual antecipada evita retrabalho Antes de implementar UI
GitHub Projects Kanban integrado ao repositório. Issues viram cards. Gratuito e integrado ao workflow de PRs Alternativa ao Jira
⚠ Atenção A maioria dos projetos Roblox em equipe falha por falta de comunicação, não por falta de conhecimento técnico. Uma reunião rápida de 15min por dia (daily standup) resolve mais do que qualquer ferramenta.
PAPÉIS E RESPONSABILIDADES
06
Papéis da Equipe O que cada dev deve focar para máxima eficiência
PAPÉIS
Papel Responsabilidades principais Deve dominar
🧠 Lead / Arquiteto Define estrutura do projeto, frameworks, padrões de código, review de PRs críticos, decisões de arquitetura Knit, Rojo, Git avançado, performance, segurança
⚙️ Backend Dev DataStore, economia do jogo, spawn de monstros, sistemas de progressão, lógica de servidor ProfileService, DataStore, OOP Luau, Server Services
🖥️ Frontend Dev HUD, inventário, menus, feedback visual, animações de UI, LocalScripts, tweening TweenService, GUI Roblox, Rodux/Fusion para state, Figma
⚔️ Combat Dev Sistema de combate, skills, hitboxes, projéteis, IA de monstros, balanceamento Raycasting, Hitbox libs, PathfindingService, animações
🗺️ World Builder Construção do mapa, terreno, spawn points, dungeons, decoração, iluminação Terrain Editor, MeshParts, iluminação, Blender básico
🧪 QA / Tester Testar features, criar cenários de exploits, relatório de bugs, testes de carga com bots TestEZ, scripts de teste automatizado, report de bugs
🎨 3D Artist / Modeler Modelagem de assets, personagens, armas, itens; rigging para animações; otimização de meshes; texturização e materiais Blender, UV Unwrap, PBR Textures, importação para Roblox
07
Bibliotecas Recomendadas Ecossistema open-source para não reinventar a roda
LIBS
💾
ProfileService
Gerenciamento robusto de saves com session-locking. Evita corrupção de dados. Padrão de facto para RPGs no Roblox.
wallybackend
🤝
Knit Framework
Estrutura Services/Controllers/Components. Comunicação client↔server simplificada. Usado em centenas de jogos populares.
wallyarquitetura
📡
GoodSignal
Signal/EventEmitter de alta performance. Substituto superior ao BindableEvent nativo. Base para arquitetura event-driven.
wallyeventos
🎯
Janitor
Gerenciamento de cleanup de conexões e instâncias. Evita memory leaks, especialmente em sistemas com muitos eventos e objetos dinâmicos.
wallyperformance
🔮
Fusion
Framework de UI reativo (como React para Roblox). Ideal para o Frontend Dev construir HUD e menus com estado gerenciado.
wallyui
🥊
Hitbox Libs (RaycastHitbox)
Hitboxes precisas para combate corpo-a-corpo usando raycasts em attachment points. Muito mais preciso que Touched events.
combategameplay
08
Pipeline de Deploy & QA Do código local até o servidor em produção
DEPLOY
Ambiente Local
VS Code + Rojo + Studio (Play Solo)
Review
Pull Request → Code Review → Lint automático (Selene)
Staging
Jogo privado no Roblox com grupo de testers confiáveis
QA
Testes manuais + exploração de bugs + stress test com bots
Produção
Publish via Roblox Studio (version history como backup)
Hotfix
Branch hotfix/ direto para main com revisão rápida
🚀 Dica de ouro Nunca faça deploy direto no jogo público sem testar em staging. Um bug de DataStore pode corromper saves de centenas de jogadores em minutos. Sempre mantenha o version history ativo no Roblox para poder reverter.
DESENVOLVIMENTO 3D
09
Pipeline de Desenvolvimento 3D Do conceito ao asset funcionando dentro do Roblox
3D / ART
1
Concept & Referências
Antes de modelar qualquer asset, definir um style guide visual do jogo. Coletar referências no Pinterest/ArtStation. Roblox RPGs geralmente adotam um estilo semi-estilizado (não hiper-realista). Definir paleta de cores e proporções dos personagens logo no início evita retrabalho.
2
Modelagem com Blender
Ferramenta principal: Blender (gratuito). Modelar com low-poly a mid-poly — no Roblox, meshes muito densas impactam performance. Manter contagem de triângulos (tris) controlada: NPC genérico ~2.000–5.000 tris, personagem principal até 10.000. Usar Ctrl+D para duplicar variações do mesmo base mesh.
3
UV Unwrap & Texturização
UV Unwrap no Blender para mapear a superfície 3D em um espaço 2D. Pintar texturas com Substance Painter (opção premium) ou Krita/GIMP (gratuitos). Usar fluxo PBR: Albedo, Roughness, Metallic, Normal Map. Resolução padrão de textura: 512×512 ou 1024×1024 para manter performance no Roblox.
4
Rigging & Animação
Criar armature (esqueleto) no Blender para personagens animáveis. Roblox usa o padrão R15 (15 ossos). Exportar animações como .fbx e importar no Animation Editor do Roblox Studio. Alternativa: criar keyframes diretamente no Animation Editor do Studio para animações simples (idle, ataque, morte).
5
Exportação e Importação para Roblox
Exportar como .fbx ou .obj do Blender. No Roblox Studio: Asset Manager → Import 3D. O Studio converte automaticamente em MeshPart. Verificar escala (Blender usa metros, Roblox usa studs — aplicar escala antes de exportar). Verificar normais invertidas que causam faces "invisíveis" no Studio.
6
Materiais PBR no Roblox Studio
Usar o Surface Appearance no MeshPart para aplicar mapas PBR (ColorMap, RoughnessMap, MetalnessMap, NormalMap). O Roblox suporta PBR desde 2022. Ativar Future como tecnologia de iluminação para aproveitar ao máximo os materiais. Testar sempre com iluminação do jogo, não só na luz padrão do Studio.
⚡ Padrão de performance Todo asset deve ter um LOD (Level of Detail) em mente. Objetos distantes não precisam de 10.000 polígonos. Use RenderFidelity = Automatic nos MeshParts para o Roblox reduzir automaticamente a qualidade em distância.
10
Ferramentas & Organização de Assets 3D Softwares, boas práticas e versionamento de arquivos de arte
3D / ART
🧊
Blender
Software 3D principal. Gratuito e open-source. Modelagem, sculpting, UV, rigging, animação e render — tudo em um só lugar. Versão recomendada: 4.x LTS.
gratuitomodelagemanimação
🎨
Substance Painter
Texturização PBR profissional. Pintura direta no modelo 3D com camadas, smart materials e baking de mapas. Padrão da indústria para jogos.
pagotexturaPBR
🖌️
Krita / GIMP
Alternativas gratuitas para texturização 2D. Krita é superior para pintura digital. Ideal para quem está começando antes de investir no Substance.
gratuitotextura
📐
MagicaVoxel
Modelagem voxel gratuita. Ótimo para criar itens, props e decorações com estética pixel-art 3D. Assets exportam como .obj compatível com Roblox.
gratuitovoxelprops
🗂️
Git LFS para Assets
Arquivos .blend, .fbx e texturas são binários grandes. Usar Git LFS (Large File Storage) para versionar sem explodir o repositório.
versionamentobinários
🏪
Roblox Asset Manager
Central de importação de meshes, texturas e áudios. Organizar em pastas por categoria (Characters, Weapons, Props, Environment). Usar IDs de asset para referenciar no código.
studioorganização
Tipo de Asset Limite de Triângulos Resolução de Textura Notas
Personagem Principal 6.000 – 10.000 tris 1024×1024 Prioridade máxima de detalhe
NPC / Monstro 2.000 – 5.000 tris 512×512 Podem existir muitos em cena ao mesmo tempo
Arma / Item 500 – 2.000 tris 256×256 – 512×512 Usar instâncias; não duplicar meshes
Prop de Cenário 200 – 1.000 tris 256×256 Reutilizar ao máximo com variações de material
Estrutura / Edifício 1.000 – 5.000 tris 512×512 – 1024×1024 Dividir em partes modulares reutilizáveis
⚠ Convenção de nomenclatura Padronizar nomes de arquivo desde o início: chr_troll_v01.blend, wpn_sword_iron_v02.fbx, env_dungeon_wall_A.obj. Facilita busca, evita sobrescrever versões e deixa o Asset Manager do Roblox organizado para toda a equipe.