Ferramentas, papéis, fluxo de trabalho e conhecimentos técnicos para um time de programadores construir um servidor RPG estilo Tibia.
--!strict). Detecta bugs antes de rodar. Imprescindível em codebase de equipe grande.task.spawn, task.delay, task.wait — substitutos modernos do deprecated spawn() e wait() que causam bugs sutis.Monster.new(), Player.new(), Skill.new().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.
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.
Events.PlayerDied:Fire(player) — o sistema de loot, o de respawn e o de penalidade escutam independentemente.
RemoteEvents no servidor. Regra de ouro: nunca confiar no cliente.
feat: add combat system, fix: inventory slot bug, chore: update wally packages. Facilita changelog e code review.
| 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 |
| 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 |
Ctrl+D para duplicar variações do mesmo base mesh.
Albedo, Roughness, Metallic, Normal Map. Resolução padrão de textura: 512×512 ou 1024×1024 para manter performance no Roblox.
.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).
.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.
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.
RenderFidelity = Automatic nos MeshParts para o Roblox reduzir automaticamente a qualidade em distância.
.obj compatível com Roblox..blend, .fbx e texturas são binários grandes. Usar Git LFS (Large File Storage) para versionar sem explodir o repositório.| 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 |
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.