obj_player
Máquina de estados completa
Colisão pixel-perfect com tilemaps e objetos
Limites da room: clamp horizontal, morte por queda vertical
atualiza_animacao() centraliza todos os sprites por estado e tempo
Audio listener atualizado no Step
obj_camera
Estados: segue, idle, barreira, mapa
Zoom out suave ao abrir mapa
Fecha mapa instantâneo voltando ao player
Fecha mapa automaticamente ao player se mover
Restrição: mapa só abre se player estiver parado
obj_game
Gerencia tempo_atual
Referências aos tilemaps de cada tempo
Lógica de push-out e morte por troca de tempo
Controle da barreira temporal
obj_terra
Sprite muda conforme o tempo (passado/futuro)
Prompt [F] com animação de respiração
Prompt some se já tiver árvore plantada
Verificação de colisão horizontal com o player
obj_semente (Árvore)
Criada ao plantar semente no passado
Escalável no futuro
Topo detectado pelo bbox_top
obj_empurravel (Caixa)
Empurrável apenas no passado, apenas no chão
Colisão com tilemaps
obj_pedaco_tempo (Fragmento)
Coleta ao tocar o player
Audio emitter com falloff linear
Audível ~150px
Free do emitter no Destroy e Clean Up
obj_barreira_tempo
Bloqueia o avanço até coletar todos os fragmentos
Cutscene automática ao abrir
Fade de alpha + solid = false
obj_dialogo
Efeito typewriter letra por letra
Pulo de animação com Espaço
Ícone do player por tempo com tamanho fixo (quadrado)
Cores temáticas: tons terrosos no passado, roxo neon no futuro
Som de diálogo com variação de pitch (random_range 0.9-1.1)
Som toca a cada 2 letras, ignora espaços
Volume da trilha sonora abaixa ao abrir, restaura ao fechar
obj_transicao_manager
Persistente entre rooms
Fases: idle, saindo, entrando, reiniciando
Fade preto suave
Respeita estado_cutscene_entrada ao finalizar
Reset do tempo para passado ao trocar de room
obj_som
Persistente entre rooms
3 músicas em sequência — ao acabar uma, toca a próxima
Pitch diferente por tempo: pitch_passado = 0.85, pitch_futuro = 1.15
Volume controlável externamente via audio_sound_gain
obj_botao (Menu)
Hover com escala e cor
Sombra e borda animadas
Chama obj_transicao_manager.vai_para()
Cria transicao_manager se não existir
obj_narrativa (rm_tela_texto)
Array de parágrafos configurável
Fade in por parágrafo
Barra de progresso inferior
Hint piscante adaptativo
Transição para rm_tutorial ao finalizar
obj_narrativa (rm_tela_final)
Array de parágrafos configurável
Fade in por parágrafo
Barra de progresso inferior
Hint piscante adaptativo
Transição para rm_tela_inicio ao finalizar