Flood
Battle royale de Roblox em que a água sobe e vence quem constrói a estrutura que aguenta mais tempo.
Flood (place flood_roblox, codinome de design “Flood Reborn”) é um battle royale de sobrevivência para Roblox do Estúdio Crivy, escrito em Luau strict e sincronizado com o Roblox Studio pelo Rojo, em que os jogadores constroem uma estrutura durante uma fase curta de preparação, a água sobe e vence o último jogador de pé.
Jogo de Roblox · Luau · Rojo · battle royale · sobrevivência à enchente · construção · documento de game design · seguro para crianças
Status: reconstrução em andamento
O repositório está sendo reconstruído do zero. 22 decisões de design estão fechadas em docs/GDD.md. O código em src/ é um núcleo pequeno e testado. A maior parte do jogo antigo (armas, construção, economia, admin) existe só como código legado de referência em reference/legacy/, não como o app em execução.
| Área | Estado |
|---|---|
Boot em duas fases com isolamento de falhas (Loader) |
Funcionando, testado |
Remotes centralizados e com nome verificado (Net) |
Funcionando, testado |
| Feedback de game feel (tremida de câmera) de ponta a ponta | Funcionando, testado |
Constantes de gameplay (Config) |
Definidas |
| Água / Game Director, construção, armas, barcos, economia, bots | Projetados no GDD, ainda não portados |
| Telemetria e painel de admin (Decisão 019 do GDD) | Existiam no código legado, ainda não reconstruídos |
Game design (do GDD)
Estas são decisões de design aprovadas, não funcionalidades já lançadas.
- “O último de pé.” A água é o círculo que fecha. Construção e barcos são ferramentas para ganhar vantagem competitiva (Decisão 001).
- Construir só na preparação. A construção acontece só antes da enchente; durante a rodada dá para apenas reparar e ajustar (Decisão 002).
- Rodadas curtinhas. De 8 a 14 anos, rodadas de 4-6 minutos, 8-12 jogadores (Decisão 003).
- Loop principal. Entrar, votar num mapa, preparar (60-90 s), enchente (3-4 min), último de pé, pódio (15 s), repetir. Mesmo servidor, sem teleport (Decisão 004).
- Sem PvP direto. Armas causam dano a props, estruturas e barcos, e aplicam um knockback leve nos jogadores. Só a água mata (Decisão 008).
- A construção é o barco. Todo prop tem massa, flutuabilidade e HP. Modelos de casco (Raft, Barge, Fortress) são personalizados com props (Decisão 009).
- Envelope da enchente mais Game Director. As ondas têm limites rígidos; um Director ajusta a velocidade dentro de ±20% e toda mudança na água é anunciada com 3-5 s de antecedência (Decisões 007 e 011).
- Caixas de loot flutuantes com posição favorecendo os jogadores que estão atrás: kits de reparo, armas de dano a props, consumíveis táticos, Scraps bônus (Decisão 010).
- Economia. Scraps (moeda comum ganha jogando) e Robux direto só para cosméticos. Poder nunca está à venda (Decisões 005 e 006).
Stack técnica
| Tecnologia | Versão | Uso |
|---|---|---|
| Luau | --!strict |
Todos os módulos em src/ |
| Rojo | 7.7.0 (rojo.exe commitado na raiz do repositório) |
Sincroniza src/ com o Roblox Studio |
Não há wally.toml, package.json nem outro manifesto de dependências, então não há bibliotecas externas.
Como começar
- Gere o place com o Rojo:
rojo build -o "flood_roblox.rbxlx" - Abra
flood_roblox.rbxlxno Roblox Studio. - Inicie o servidor do Rojo (o
rojo.exejá está na raiz do repositório):rojo serve - Faça o Play Test no Studio.
O código é sempre editado em src/. O Studio (e o MCP do Roblox Studio) é usado só para trabalho em runtime: instâncias, terreno, Play Test e Output. Nunca é usado para escrever lógica (veja CLAUDE.md).
Verificações do núcleo: tools/test_core.luau (Loader, Net, Signal, Config) e tools/test_feedback.luau (Feedback). Rode pelo MCP do Roblox Studio (execute_luau, data model de Edit) depois de sincronizar o Rojo.
Como funciona
O default.project.json mapeia src/shared para ReplicatedStorage.Shared, src/server para ServerScriptService.Server e src/client para StarterPlayer.StarterPlayerScripts.Client.
Boot. Servidor e cliente iniciam do mesmo jeito. Eles fazem require de Shared/Loader (src/shared/Loader.luau), que encontra os ModuleScripts numa pasta (systems/ ou controllers/) e os executa em duas fases: Init() em todos, depois Start() em todos, em ordem alfabética, cada um envolvido em pcall. Um sistema quebrado vira um warn com nome e não derruba o boot.
Rede. Todo o tráfego entre cliente e servidor passa por src/shared/Net.luau. Os nomes dos remotes são declarados numa lista fixa (EVENTS); pedir um remote não declarado é erro. Hoje existem dois remotes:
CoreBoot, disparado porsrc/server/systems/BootBeacon.luaupara avisar cada jogador que entra que o boot do servidor terminou.Feedback, usado pelo sistema de game feel. Eventos semânticos no servidor (src/shared/Feedback.luau) chegam ao cliente (src/client/controllers/Feedback.luau) e disparam a tremida de câmera (src/shared/Shake.luau) com a intensidade em níveis definida na Decisão 015 do GDD.
Constantes de gameplay. O src/shared/Config.luau agrupa os ajustes de balanceamento por sistema: tempos da rodada (75 s de preparação, 210 s de enchente, 15 s de pódio, mínimo de 2 jogadores), água (água estática de Terrain, o mapa afunda, faixa do Director de ±20%, aviso de 4 s) e construção (10 props por jogador, snap de 2 studs, rotação de 90°).
Referência legada. reference/legacy/ guarda o código do jogo anterior (sistema de rodadas, sistemas de arma/granada/corpo a corpo, loja de construção, barcos, comandos de admin, bots). É só referência. gamemaster/ guarda auditorias internas desse código feitas pelo MCP do Roblox Studio; não faz parte do runtime do jogo. docs/DOCUMENTACAO_LLM.md documenta as instâncias legadas.
Estrutura do projeto
src/
client/ init.client.luau, controllers/ (BootListener, Feedback)
server/ init.server.luau, systems/ (BootBeacon)
shared/ Loader, Net, Signal, Config, Feedback, Shake
tools/ test_core.luau, test_feedback.luau
docs/ GDD.md, core.md, feedback.md, spike-flutuacao.md, REGRA_HUD_ROBLOX.md, DOCUMENTACAO_LLM.md
reference/legacy/ previous game code (reference only)
gamemaster/ audits of the legacy code
assets/ 3D model (soldadora_meshy.glb) and preview
Questões em aberto
- Se
reference/legacy/vai ser portado ou reescrito do zero. - Qual sistema do GDD vem a seguir.
Licença
Todos os direitos reservados. © Estúdio Crivy.
Outros projetos paralelos

Zumbi Harvest
Jogo de Roblox em Luau com ciclo de dias, economia, upgrades e IA de zumbis.

ZumbiPizza — Slice & Survive
Jogo co-op de pizza com zumbis feito em Unity, com multiplayer via FishNet.

Baixar legendas do YouTube
Script com interface pra baixar as legendas de um canal inteiro de uma vez.
