Faça jogos 2D no celular. Monte a lógica com blocos ou escreva Lua, toque em Executar e jogue — sem compilar, sem PC.
Make 2D games on your phone. Build logic with blocks or write Lua, tap Run and play — no compiling, no PC.
Um motor leve feito para criar e testar direto no aparelho.
A lightweight engine made to create and test right on the device.
Comece com blocos de evento, física e variáveis e converta para Lua quando quiser.
Start with event, physics and variable blocks and convert to Lua anytime.
Edite, toque em Executar e veja o jogo rodando na hora, em passo fixo de 60 fps.
Edit, tap Run and see the game instantly, at a fixed 60 fps step.
Importe PNG/JPG, monte animações por quadros e crie tilemaps pintando com o dedo.
Import PNG/JPG, build frame animations and paint tilemaps with your finger.
Cenas maiores que a tela, com a câmera seguindo o jogador.
Scenes bigger than the screen, with the camera following the player.
Importe MP3/OGG/WAV e toque efeitos e trilha pelo editor ou por Lua.
Import MP3/OGG/WAV and play effects and music from the editor or Lua.
Progresso do jogo em save.json e backup portátil do projeto em um .fish.
Game progress in save.json and a portable project backup in one .fish.
Um script por objeto, com uma função atualizar() que roda 60 vezes por segundo. Editor em português ou inglês — e os dois nomes de função (PT e EN) valem juntos.
One script per object, with an atualizar() function that runs 60 times per second. Editor in Portuguese or English — and both function names (PT and EN) work together.
-- scripts/heroi.lua
function atualizar()
if tecla("direita") then mover(3, 0) espelhar(false) end
if tecla("esquerda") then mover(-3, 0) espelhar(true) end
if tecla("cima") then pular(12) end
if colidindo("moeda") then
definir_var("pontos", var("pontos") + 1)
tocar_som("moeda.wav")
end
mostrar_texto("Pontos: {pontos}")
end
Instale no Android e comece a criar. Habilite "Fontes desconhecidas" quando o sistema pedir.
Install on Android and start creating. Enable "Unknown sources" when the system asks.
/storage/emulated/0/Fish. Sem a permissão de arquivos, ficam na pasta privada do app e podem ser movidos depois./storage/emulated/0/Fish. Without file permission they stay in the app's private folder and can be moved later.