Visión general
La Granja del Abuelo (Grandpa's Farm / Fazenda do Vovô) es un incremental de acción inspirado en Nodebuster. La historia: el abuelo dejó la granja invadida por la maleza, y tú limpias un campo a la vez. Un círculo sigue al dedo/ratón y golpea solo todo lo que esté dentro; el clic/toque da un pisotón fuerte. Las plantas sueltan monedas, que hay que atraer antes de que se acabe el aliento. Entre un día y otro, las monedas se convierten en mejoras en el granero.
Motor
Godot 4.7 (GDScript, renderizador Compatibility). Arte 100% vectorial en código, estilo cartoon HD, con sprites prerrenderizados de las plantas.
Plataformas
Android, iOS (preparado) y Windows.
Idiomas
Inglés (predeterminado), Portugués y Español, elegidos en el primer inicio. Las fechas y el nombre de la app siguen el idioma.
Modos
Historia (con final y replantación), Arcade (niveles infinitos estilo Candy Crush) y Desafío diario.
Datos generados automáticamente del código el 2026-10-21T08:08:48. Para actualizar:
godot --headless --path . -- --doc y luego python tools/make_docs.py.
Arquitectura
Proyecto Godot 4.7 en D:\dev\fazenda-vovo. Todo se dibuja en código (sin escenas .tscn además de la principal):
cada pantalla es un Node2D con _draw(), y el arte sale de funciones estáticas en Art.
Flujo de pantallas (main.gd)
Superposiciones: Pausa (Estado / Cómo jugar / Ajustes en pestañas), Carta del abuelo, Compartir.
Autoloads
| Autoload | Script | Función |
|---|---|---|
| Loc | scripts/loc.gd | Tabla de textos (EN/PT/ES), fechas por idioma, título de la ventana |
| Game | scripts/game.gd | Estado global, mejoras, fórmulas, campos, metas, prestigio, ajustes y guardado |
| Sound | scripts/sound.gd | Efectos y música sintetizados al cargar; buses Music/SFX |
| Leaderboard | scripts/leaderboard.gd | Historial local del Diario y estrellas; preparado para Play Games |
| Sprites | scripts/sprites.gd | Caché de texturas de las plantas (render único en SubViewport) |
Archivos
| Archivo | Responsabilidad |
|---|---|
| main.gd | Cambio de pantallas, centra el área 1280x720 en la ventana, modos de prueba (--smoke, --shots, --balance, --doc, --docimg) |
| run.gd | Día de desmalezado: cuadrícula, aparición por ruido, golpes, pisotón, gallinas, monedas, infestación/jefe, HUD, resumen, toque |
| tree.gd | Granero: árbol con desplazamiento/zoom y recorte, compra con animación y tiers, Metas, Banco de semillas, Replantar |
| hud.gd | Paneles (herramienta, atributos, meta, tarjeta de misión), columnas fijadas a los bordes, bloque de texto que se encoge/desplaza |
| art.gd | Paleta, primitivas con contorno, plantas, iconos, botones/paneles, fondo del bosque (capa estática) |
| pause.gd | Pausa: Estado (o misión en Arcade/Diario), Cómo jugar, Ajustes (General/Vídeo/Audio/Controles) |
| title.gd / arcade_map.gd / daily_hub.gd / ending.gd | Menú inicial, mapa del Arcade, pantalla del Desafío diario, final de la historia |
| letter.gd / lang_select.gd | Cartas del abuelo y selección de idioma |
| modes.gd | Generación determinista de los niveles del Arcade y del Diario |
| bg_layer.gd | Capa estática que solo se redibuja cuando cambia la ventana (fondo, tablero) |
| tools/make_docs.py | Genera estas dos documentaciones (en los 3 idiomas) a partir de docs/game_data.json y docs/img |
Guardado y ajustes
Archivo JSON en user://save.json (en Windows: %APPDATA%\Godot\app_userdata\Grandpa's Farm). Campos principales:
| Clave | Contenido |
|---|---|
| coins, levels | Monedas y nivel de cada mejora del granero |
| day, field, field_cleared, world_seed | Progreso de la Historia y semilla del mundo procedural |
| seeds, safra, seed_levels | Prestigio: semillas raras, cosecha actual, banco de semillas |
| harvest, harvest_claimed | Metas de cosecha: plantas arrancadas por tipo y metas reclamadas |
| letters_seen, tutorial_done, shed_tutorial_done | Cartas leídas y tutoriales |
| final_ready, story_complete, ending_seen | Estado del final de la historia |
| arcade_unlocked, arcade_stars, daily, daily_streak | Arcade y Desafío diario |
| settings | Idioma y opciones: pantalla completa, resolución, vsync, fps, efectos, temblor, compacto, hud, key1/key2, music, sfx |
El marcador del Diario está en user://scores.json (mejor puntuación e intentos por fecha).
Sistemas y fórmulas
Golpe
Daño = (1 + 0,25 × Azada Afilada) × 1,15Acero × 1,2Oro × 1,1Callo × 1,25Raíz Fuerte. Cada golpe automático (cada 0,5 × 0,9Ritmo × 0,94Reloj s) alcanza las plantas dentro del radio (40 + 7 × Anchura + 7 × Rastrillo). El daño varía con la distancia al centro: 1,3× en el centro hasta 0,8× en el borde. Golpe Certero: probabilidad 4%/nivel de ×3. Pisotón: radio ×1,35, daño × (2 + Pisotón + Bota), recarga 0,35 × 0,92Bota s (clic, toque, Espacio o X; mantener repite). Quedarse quieto debilita el golpe automático hasta el 50% tras ~2 s (el círculo se apaga y avisa "¡Muévete!"), y lo que destruye suelta +50% de monedas.
Monedas
Monedas de la planta × (1 + 0,15 × Cesta) × (1 + 0,12 × Carreta) × 1,05Tierra Fértil × 1,5campo × 1,5cosecha. Las monedas caen al suelo y el imán (50 + 18 × Bolsillo + 12 × Imán) las atrae cuando el cursor pasa cerca; los Cuervos Ayudantes recogen monedas solos, y las hormigas de los hormigueros se llevan las monedas del suelo.
Aparición
Las plantas brotan en "manchas": de 4 parcelas sorteadas, gana la de mayor valor de ruido simplex. Ritmo 1,5 × (1 + 0,35 × Tierra Rebelde)/s, máximo 30 + 4 × Tierra Rebelde plantas (cuadrícula 7x7 = 49).
Campo grande
El tablero tiene tamaño fijo; en momentos especiales la cuadrícula crece y las parcelas/plantas se encogen: 8x8 en la mitad de las infestaciones del 3.er campo en adelante (jefe ×1,4 de vida y el doble de semillas), 9x9 en el jefe final, en los niveles de jefe del Arcade (cada 10, +4s) y en el Desafío diario del sábado y el domingo (+10s). Las plantas iniciales, el máximo en el tablero y la oleada crecen en proporción a las parcelas. El tipo sale de la mezcla del bioma; el dorado tiene una probabilidad de 2%/nivel de Hongo Dorado.
Infestación
El jefe aparece en el centro con vida (40 + vida del tipo × 6) × dificultad (×2 en el final), y el tablero recibe 14 plantas del mismo tipo más 5/s durante 6s. Cada planta de la plaga muerta quita (50% de la vida del jefe × muertas / nacidas), así que limpiarlas todas = 50%.
Gallinas
Solo malezas y abrojos, 100% del daño cada 0,9s; cada una reserva un objetivo distinto y solo cambia cuando muere. El lado de la planta se fija al elegir el objetivo (arregló la gallina que iba y venía).
Aliento
10 + 3 × Fiambrera + 2 × Abundante + 2 × Aliento de Familia (s). Café: +0,1 s × nivel por planta arrancada por el jugador, con tope diario.
Ciclo del día y controles
- Día de desmalezado: tablero de 7x7 parcelas. La maleza brota en manchas (ruido procedural). El círculo golpea solo al ritmo de Ritmo de Campo, y el centro del círculo golpea un 30% más fuerte que el borde (que golpea un 20% menos), marcado por un anillo dorado interior; el pisotón (clic/toque) golpea con el multiplicador del Pisotón en un área un 35% mayor, con recarga corta, y las plantas destruidas por él sueltan +50% de monedas.
- Monedas: caen al suelo y el imán (radio del Bolsillos Hondos) las atrae cuando el cursor pasa cerca. Las monedas que quedan en el suelo al terminar el día se pierden.
- Aliento: cuando se acaba, el día termina. Después, el resumen del día.
- Granero: compra de mejoras, metas de cosecha y banco de semillas. En PC, pasar el ratón sobre un nodo ya lo selecciona y lo muestra en el panel (clic compra); en el móvil, toca para ver y toca de nuevo para comprar. Después, "Nuevo día".
Controles
- PC: el círculo sigue al ratón; clic = pisotón. Dos teclas de ataque configurables (por defecto Espacio y X; también acepta botones del ratón) también pisan, y mantenerlas repite el pisotón en cada recarga. Esc/P = pausa; Espacio/Enter en el granero = nuevo día.
- Móvil: arrastrar en cualquier lugar mueve el círculo de forma relativa (como un touchpad), para que el dedo no tape el área. Toque rápido o segundo dedo = pisotón. El menú de pausa muestra los paneles de información (en el móvil la interfaz es compacta).
Plantas
Vida y monedas base (campo 1, cosecha 1). La vida se multiplica por la dificultad del campo; las monedas por el bono del campo y de la Cesta.
| Planta | Vida | Monedas | Jefe de la infestación |
|---|---|---|---|
| Malezas (erva) | 3 | 1 | Reina de la Maleza |
| Abrojos (carrapicho) | 7 | 3 | Reina del Abrojo |
| Hongos rojos (cogumelo) | 14 | 6 | Rey Hongo |
| Hongos dorados (dourado) | 10 | 25 | — |
| Hongos naranjas (cogumelo_laranja) | 9 | 4 | Duque Naranja |
| Tocones (toco) | 40 | 15 | Tocón Anciano |
| Piedras (pedra) | 50 | 18 | — |
| Termiteros (cupinzeiro) | 26 | 12 | — |
| Termitas (cupim) | 2 | 1 | — |
| Nidos de avispas (vespas) | 16 | 10 | — |
| Hormigueros (formigueiro) | 18 | 8 | — |
| Botellas (garrafa) | 5 | 4 | — |
| Neumáticos viejos (pneu) | 22 | 10 | — |
| Cercas rotas (cerca) | 14 | 7 | — |
| Maíces (milho) | 5 | 7 | — |
| Calabazas (abobora) | 14 | 20 | — |
| Zanahorias (cenoura) | 7 | 10 | — |
Las gallinas solo picotean malezas y abrojos, con el 100% del daño, un picotazo cada 0,9s, caminando a 95 px/s. Hongos, tocones y jefes siempre le tocan al jugador. Cada gallina elige una planta distinta, para que se repartan por el tablero.
Campos y biomas (procedural)
Cada campo pide una cantidad de plantas arrancadas para quedar limpio. La dificultad (vida de las plantas) crece de campo en campo y también dentro del campo (+80% hasta el final). Del 6.º campo en adelante los biomas se repiten con nombre, pesos y colores sorteados por la semilla del mundo (infinito). La historia termina en el campo 5, contra el Rey Hongo.
Fórmulas: meta = 300 × 1,55campo; vida = 1,45campo × (1 + 0,8 × progreso) × 1,6cosecha; monedas = 1,5campo × 1,5cosecha.
| # | Nombre | Bioma | Meta | Vida (inicio → fin) | Monedas | Semillas/jefe | Mezcla de plantas |
|---|---|---|---|---|---|---|---|
| 1 | Pastizal | Pastizal | 300 | x1.00 → x1.80 | x1.00 | 1 | abrojos 25, hongos rojos 15, malezas 60, hormigueros 3, botellas 6 |
| 2 | Huerto | Huerto | 470 | x1.45 → x2.61 | x1.50 | 2 | abrojos 20, cercas rotas 4, hongos naranjas 35, malezas 30, hormigueros 6, neumáticos viejos 6, tocones 15 |
| 3 | Pantano | Pantano | 720 | x2.10 → x3.78 | x2.25 | 2 | abrojos 15, hongos rojos 35, hongos naranjas 20, malezas 30, botellas 6, nidos de avispas 6 |
| 4 | Maizal | Maizal | 1.120 | x3.05 → x5.49 | x3.38 | 3 | abrojos 40, cercas rotas 6, hongos rojos 15, termiteros 7, malezas 25, piedras 5, tocones 20 |
| 5 | Bosque | Bosque | 1.730 | x4.42 → x7.96 | x5.06 | 3 | abrojos 20, hongos rojos 30, hongos naranjas 25, termiteros 6, piedras 8, neumáticos viejos 5, tocones 25, nidos de avispas 6 |
| 6 | Pastizal de la Higuera | Pastizal | 2.680 | x6.41 → x11.54 | x7.59 | 4 | abrojos 31, hongos rojos 14, malezas 61, hormigueros 5, botellas 7 |
| 7 | Huerto de las Luciérnagas | Huerto | 4.160 | x9.29 → x16.73 | x11.39 | 4 | abrojos 19, cercas rotas 5, hongos naranjas 48, malezas 47, hormigueros 5, neumáticos viejos 6, tocones 8 |
| 8 | Pantano del Pozo | Pantano | 6.450 | x13.48 → x24.26 | x17.09 | 5 | abrojos 16, hongos rojos 37, hongos naranjas 16, malezas 28, botellas 7, nidos de avispas 9 |
| 9 | Maizal de las Luciérnagas | Maizal | 9.990 | x19.54 → x35.17 | x25.63 | 5 | abrojos 57, cercas rotas 5, hongos rojos 16, termiteros 5, malezas 14, piedras 5, tocones 13 |
| 10 | Bosque del Molino | Bosque | 15.490 | x28.33 → x51.00 | x38.44 | 6 | abrojos 28, hongos rojos 41, hongos naranjas 13, termiteros 5, piedras 7, neumáticos viejos 7, tocones 26, nidos de avispas 5 |
Árbol de mejoras
El árbol del granero. Cada nodo depende de su nodo padre (tener al menos 1 nivel en él) y algunos solo se desbloquean después de limpiar campos. El costo del siguiente nivel = costo base × crecimientonivel. Los nodos de segunda generación (Azada de Acero, Golpe Certero, Rastrillo Grande y Manos Curtidas) y los de tercera generación (Fiambrera Abundante, Imán de Herradura, Botas con Puntera de Acero, Reloj del Abuelo, Carreta del Mercado, Azada de Oro y Tierra Fértil, infinita) se desbloquean del 2.º al 4.º campo, para que siempre haya algo que comprar. El árbol tiene su propia área con desplazamiento y zoom (arrastrar, rueda del ratón, pellizco, botones − + y encuadrar).
| Mejora | Padre | Desbloquea | Máx. | Costo base | Crecimiento | Total para maximizar | Descripción |
|---|---|---|---|---|---|---|---|
| Azada Afilada | — | — | 8 | 4 | 1.5 | 197 | +0,25 de daño por golpe. |
| Azada Ancha | Azada Afilada | — | 4 | 12 | 2.1 | 201 | Área de deshierbe más grande. |
| Ritmo de Campo | Azada Afilada | — | 6 | 15 | 1.95 | 852 | Golpes automáticos más rápidos. |
| Azada de Acero | Azada Afilada | campo 2 | 6 | 600 | 2.1 | 46.237 | +15% de daño por nivel. Se libera en el 2º campo. |
| Rastrillo Grande | Azada Ancha | campo 3 | 4 | 1500 | 2.3 | 31.135 | Área de deshierbe aún más grande. Se libera en el 3º campo. |
| Golpe Certero | Gallina Cocó | campo 2 | 5 | 500 | 2.3 | 24.370 | +4% de probabilidad de un golpe x3. Se libera en el 2º campo. |
| Fiambrera de la Abuela | Azada Afilada | — | 6 | 8 | 1.85 | 368 | +3s de aliento por día. |
| Bolsillos Hondos | Azada Ancha | — | 4 | 30 | 2.3 | 623 | Atrae monedas desde más lejos. |
| Cuervo Ayudante | Bolsillos Hondos | campo 2 | 4 | 250 | 2.6 | 6.984 | Un cuervo recoge las monedas que tu imán no alcanza y te las envía. En los niveles 2 y 3 llega un 2º cuervo y en el 4 un 3º; cada nivel vuela más rápido. Se libera en el 2º campo. |
| Pisotón Firme | Azada Ancha | — | 6 | 30 | 2.1 | 2.311 | Clic/toque más fuerte: +1x de daño por nivel. |
| Manos Curtidas | Azada Ancha | campo 3 | ∞ | 1500 | 1.45 | — | +10% de fuerza por nivel (se acumula). ¡Sin nivel máximo! Se libera en el 3º campo. |
| Tierra Rebelde | Ritmo de Campo | — | 5 | 60 | 2.3 | 2.924 | Crece más maleza. ¡Más maleza, más monedas! |
| Hongo Dorado | Tierra Rebelde | — | 5 | 250 | 2.4 | 14.040 | +2% de probabilidad de hongos dorados (muchas monedas). |
| Gallina Cocó | Ritmo de Campo | — | 2 | 300 | 3 | 1.200 | +1 gallina que picotea malezas, abrojos y termitas sola, con toda la fuerza de tu azada. |
| Cesta de Mimbre | Fiambrera de la Abuela | — | 5 | 150 | 2.4 | 8.425 | +15% de monedas por maleza. |
| Café del Abuelo | Fiambrera de la Abuela | — | 3 | 400 | 2.8 | 4.656 | Cada maleza que arrancas devuelve +0,1s de aliento (hasta +2,5s por día). |
| Fiambrera Abundante | Fiambrera de la Abuela | campo 2 | 6 | 300 | 2 | 18.900 | +2s de aliento por día. Se libera en el 2º campo. |
| Imán de Herradura | Bolsillos Hondos | campo 2 | 3 | 400 | 2.4 | 3.664 | Atrae monedas desde aún más lejos. Se libera en el 2º campo. |
| Botas con Puntera de Acero | Pisotón Firme | campo 3 | 5 | 1225 | 2.2 | 51.589 | Pisotón x1 más fuerte y recarga 8% más rápida. Se libera en el 3º campo. |
| Reloj del Abuelo | Ritmo de Campo | campo 3 | 5 | 2000 | 2.2 | 84.227 | Golpes automáticos 6% más rápidos. Se libera en el 3º campo. |
| Carreta del Mercado | Cesta de Mimbre | campo 3 | 5 | 4977 | 2.3 | 242.584 | +12% de monedas de todas las plantas. Se libera en el 3º campo. |
| Azada de Oro | Azada de Acero | campo 4 | 6 | 24505 | 2 | 1.543.815 | +20% de daño por nivel. Se libera en el 4º campo. |
| Tierra Fértil | Tierra Rebelde | campo 4 | ∞ | 5000 | 1.5 | — | +5% de monedas por nivel (se acumula). ¡Sin nivel máximo! Se libera en el 4º campo. |
Niveles, costos y efecto de cada mejora
Azada Afilada
| Nivel | Costo del siguiente | Gasto total | Daño por golpe |
|---|---|---|---|
| 0 | 4 | 0 | 1.00 |
| 1 | 6 | 4 | 1.25 |
| 2 | 9 | 10 | 1.50 |
| 3 | 14 | 19 | 1.75 |
| 4 | 20 | 33 | 2.00 |
| 5 | 30 | 53 | 2.25 |
| 6 | 46 | 83 | 2.50 |
| 7 | 68 | 129 | 2.75 |
| 8 | máx. | 197 | 3.00 |
Azada Ancha
| Nivel | Costo del siguiente | Gasto total | Radio del área |
|---|---|---|---|
| 0 | 12 | 0 | 40 |
| 1 | 25 | 12 | 47 |
| 2 | 53 | 37 | 54 |
| 3 | 111 | 90 | 61 |
| 4 | máx. | 201 | 68 |
Ritmo de Campo
| Nivel | Costo del siguiente | Gasto total | Golpes por segundo |
|---|---|---|---|
| 0 | 15 | 0 | 2.00 |
| 1 | 29 | 15 | 2.22 |
| 2 | 57 | 44 | 2.47 |
| 3 | 111 | 101 | 2.74 |
| 4 | 217 | 212 | 3.05 |
| 5 | 423 | 429 | 3.39 |
| 6 | máx. | 852 | 3.76 |
Azada de Acero
| Nivel | Costo del siguiente | Gasto total | Daño por golpe (azada 0) |
|---|---|---|---|
| 0 | 600 | 0 | 1.00 |
| 1 | 1.260 | 600 | 1.15 |
| 2 | 2.646 | 1.860 | 1.32 |
| 3 | 5.557 | 4.506 | 1.52 |
| 4 | 11.669 | 10.063 | 1.75 |
| 5 | 24.505 | 21.732 | 2.01 |
| 6 | máx. | 46.237 | 2.31 |
Rastrillo Grande
| Nivel | Costo del siguiente | Gasto total | Radio del área (anchura 0) |
|---|---|---|---|
| 0 | 1.500 | 0 | 40 |
| 1 | 3.450 | 1.500 | 47 |
| 2 | 7.935 | 4.950 | 54 |
| 3 | 18.250 | 12.885 | 61 |
| 4 | máx. | 31.135 | 68 |
Golpe Certero
| Nivel | Costo del siguiente | Gasto total | Probabilidad de golpe x3 |
|---|---|---|---|
| 0 | 500 | 0 | 0% |
| 1 | 1.150 | 500 | 4% |
| 2 | 2.645 | 1.650 | 8% |
| 3 | 6.083 | 4.295 | 12% |
| 4 | 13.992 | 10.378 | 16% |
| 5 | máx. | 24.370 | 20% |
Fiambrera de la Abuela
| Nivel | Costo del siguiente | Gasto total | Aliento (s) |
|---|---|---|---|
| 0 | 8 | 0 | 10 |
| 1 | 15 | 8 | 13 |
| 2 | 27 | 23 | 16 |
| 3 | 51 | 50 | 19 |
| 4 | 94 | 101 | 22 |
| 5 | 173 | 195 | 25 |
| 6 | máx. | 368 | 28 |
Bolsillos Hondos
| Nivel | Costo del siguiente | Gasto total | Radio del imán |
|---|---|---|---|
| 0 | 30 | 0 | 50 |
| 1 | 69 | 30 | 68 |
| 2 | 159 | 99 | 86 |
| 3 | 365 | 258 | 104 |
| 4 | máx. | 623 | 122 |
Cuervo Ayudante
| Nivel | Costo del siguiente | Gasto total | Velocidad del cuervo (1/2/2/3 cuervos en nv 1-4) |
|---|---|---|---|
| 0 | 250 | 0 | 0 |
| 1 | 650 | 250 | 250 |
| 2 | 1.690 | 900 | 300 |
| 3 | 4.394 | 2.590 | 350 |
| 4 | máx. | 6.984 | 400 |
Pisotón Firme
| Nivel | Costo del siguiente | Gasto total | Multiplicador del pisotón |
|---|---|---|---|
| 0 | 30 | 0 | x2 |
| 1 | 63 | 30 | x3 |
| 2 | 132 | 93 | x4 |
| 3 | 278 | 225 | x5 |
| 4 | 583 | 503 | x6 |
| 5 | 1.225 | 1.086 | x7 |
| 6 | máx. | 2.311 | x8 |
Manos Curtidas infinito (muestra 15)
| Nivel | Costo del siguiente | Gasto total | Bono de fuerza |
|---|---|---|---|
| 0 | 1.500 | 0 | x1.00 |
| 1 | 2.175 | 1.500 | x1.10 |
| 2 | 3.154 | 3.675 | x1.21 |
| 3 | 4.573 | 6.829 | x1.33 |
| 4 | 6.631 | 11.402 | x1.46 |
| 5 | 9.615 | 18.033 | x1.61 |
| 6 | 13.941 | 27.648 | x1.77 |
| 7 | 20.215 | 41.589 | x1.95 |
| 8 | 29.311 | 61.804 | x2.14 |
| 9 | 42.501 | 91.115 | x2.36 |
| 10 | 61.627 | 133.616 | x2.59 |
| 11 | 89.359 | 195.243 | x2.85 |
| 12 | 129.571 | 284.602 | x3.14 |
| 13 | 187.878 | 414.173 | x3.45 |
| 14 | 272.423 | 602.051 | x3.80 |
| 15 | 395.013 | 874.474 | x4.18 |
Tierra Rebelde
| Nivel | Costo del siguiente | Gasto total | Plantas brotando/s |
|---|---|---|---|
| 0 | 60 | 0 | 1.50 |
| 1 | 138 | 60 | 2.02 |
| 2 | 317 | 198 | 2.55 |
| 3 | 730 | 515 | 3.08 |
| 4 | 1.679 | 1.245 | 3.60 |
| 5 | máx. | 2.924 | 4.12 |
Hongo Dorado
| Nivel | Costo del siguiente | Gasto total | Probabilidad de dorado |
|---|---|---|---|
| 0 | 250 | 0 | 0% |
| 1 | 600 | 250 | 2% |
| 2 | 1.440 | 850 | 4% |
| 3 | 3.456 | 2.290 | 6% |
| 4 | 8.294 | 5.746 | 8% |
| 5 | máx. | 14.040 | 10% |
Gallina Cocó
| Nivel | Costo del siguiente | Gasto total | Gallinas |
|---|---|---|---|
| 0 | 300 | 0 | 0 |
| 1 | 900 | 300 | 1 |
| 2 | máx. | 1.200 | 2 |
Cesta de Mimbre
| Nivel | Costo del siguiente | Gasto total | Monedas (campo 1) |
|---|---|---|---|
| 0 | 150 | 0 | x1.00 |
| 1 | 360 | 150 | x1.15 |
| 2 | 864 | 510 | x1.30 |
| 3 | 2.074 | 1.374 | x1.45 |
| 4 | 4.977 | 3.448 | x1.60 |
| 5 | máx. | 8.425 | x1.75 |
Café del Abuelo
| Nivel | Costo del siguiente | Gasto total | Tope diario de café (s) |
|---|---|---|---|
| 0 | 400 | 0 | 0.0 |
| 1 | 1.120 | 400 | 2.5 |
| 2 | 3.136 | 1.520 | 5.0 |
| 3 | máx. | 4.656 | 7.5 |
Fiambrera Abundante
| Nivel | Costo del siguiente | Gasto total | Aliento (s, fiambrera 0) |
|---|---|---|---|
| 0 | 300 | 0 | 0 |
| 1 | 600 | 300 | 0 |
| 2 | 1.200 | 900 | 0 |
| 3 | 2.400 | 2.100 | 0 |
| 4 | 4.800 | 4.500 | 0 |
| 5 | 9.600 | 9.300 | 0 |
| 6 | máx. | 18.900 | 0 |
Imán de Herradura
| Nivel | Costo del siguiente | Gasto total | Radio del imán (bolsillo 0) |
|---|---|---|---|
| 0 | 400 | 0 | 0 |
| 1 | 960 | 400 | 0 |
| 2 | 2.304 | 1.360 | 0 |
| 3 | máx. | 3.664 | 0 |
Botas con Puntera de Acero
| Nivel | Costo del siguiente | Gasto total | Multiplicador del pisotón (pisotón 0) |
|---|---|---|---|
| 0 | 1.225 | 0 | x0 |
| 1 | 2.695 | 1.225 | x0 |
| 2 | 5.929 | 3.920 | x0 |
| 3 | 13.044 | 9.849 | x0 |
| 4 | 28.696 | 22.893 | x0 |
| 5 | máx. | 51.589 | x0 |
Reloj del Abuelo
| Nivel | Costo del siguiente | Gasto total | Golpes por segundo (ritmo 0) |
|---|---|---|---|
| 0 | 2.000 | 0 | 0.00 |
| 1 | 4.400 | 2.000 | 0.00 |
| 2 | 9.680 | 6.400 | 0.00 |
| 3 | 21.296 | 16.080 | 0.00 |
| 4 | 46.851 | 37.376 | 0.00 |
| 5 | máx. | 84.227 | 0.00 |
Carreta del Mercado
| Nivel | Costo del siguiente | Gasto total | Monedas (campo 1, cesta 0) |
|---|---|---|---|
| 0 | 4.977 | 0 | x0.00 |
| 1 | 11.447 | 4.977 | x0.00 |
| 2 | 26.328 | 16.424 | x0.00 |
| 3 | 60.555 | 42.752 | x0.00 |
| 4 | 139.277 | 103.307 | x0.00 |
| 5 | máx. | 242.584 | x0.00 |
Azada de Oro
| Nivel | Costo del siguiente | Gasto total | Daño por golpe (azada 0) |
|---|---|---|---|
| 0 | 24.505 | 0 | 0.00 |
| 1 | 49.010 | 24.505 | 0.00 |
| 2 | 98.020 | 73.515 | 0.00 |
| 3 | 196.040 | 171.535 | 0.00 |
| 4 | 392.080 | 367.575 | 0.00 |
| 5 | 784.160 | 759.655 | 0.00 |
| 6 | máx. | 1.543.815 | 0.00 |
Tierra Fértil infinito (muestra 15)
| Nivel | Costo del siguiente | Gasto total | Monedas (campo 1) |
|---|---|---|---|
| 0 | 5.000 | 0 | x0.00 |
| 1 | 7.500 | 5.000 | x0.00 |
| 2 | 11.250 | 12.500 | x0.00 |
| 3 | 16.875 | 23.750 | x0.00 |
| 4 | 25.313 | 40.625 | x0.00 |
| 5 | 37.969 | 65.938 | x0.00 |
| 6 | 56.953 | 103.907 | x0.00 |
| 7 | 85.430 | 160.860 | x0.00 |
| 8 | 128.145 | 246.290 | x0.00 |
| 9 | 192.217 | 374.435 | x0.00 |
| 10 | 288.325 | 566.652 | x0.00 |
| 11 | 432.488 | 854.977 | x0.00 |
| 12 | 648.732 | 1.287.465 | x0.00 |
| 13 | 973.098 | 1.936.197 | x0.00 |
| 14 | 1.459.646 | 2.909.295 | x0.00 |
| 15 | 2.189.469 | 4.368.941 | x0.00 |
Tiers (color del borde) y animaciones de compra
Cada compra hace saltar el nodo, suelta partículas y un anillo. Cada nodo cambia el color del borde a cada tercio del nivel máximo: Bronce (1/3), Plata (2/3) y Oro (máximo, con brillo giratorio). Los infinitos suben un tier cada 5 niveles. Al subir de tier, la animación es mayor: anillos del color del tier, temblor, sonido de estrella y el aviso "Nombre: ¡Bronce!". Un halo dorado palpitante indica que se puede comprar.
Otros efectos
- Golpe Certero: cada golpe tiene la probabilidad de causar x3 de daño, con "x3!" en pantalla.
- Café del Abuelo: cada planta que arrancas TÚ devuelve 0,1s × nivel de aliento, con tope diario (tabla de arriba).
- Tierra Rebelde: también aumenta el máximo de plantas en el tablero (30 + 4 × nivel; la cuadrícula tiene 49 parcelas).
Metas de cosecha (Historia)
Pestaña Metas del granero. Cada planta arrancada en el modo Historia cuenta para la meta de su tipo. Al cumplir la meta aparece el botón "Reclamar +X" (la pestaña muestra un sello rojo con cuántas están listas). Las metas siguen 20, 40, 80, 100, 150, 200, 300, 400, 500, 750, 1000 y después +500 cada una, divididas por la rareza de la planta (hongos ×0,5, tocón ×0,25, dorado ×0,1). El premio = plantas pedidas × monedas de la planta × 0,3 × bono del campo actual (crece junto con el juego). El progreso sobrevive a la replantación. Una planta solo aparece en las metas después de arrancar la primera.
En la tabla: cantidad pedida y, debajo, el premio en el campo 1.
| Planta | Meta 1 | Meta 2 | Meta 3 | Meta 4 | Meta 5 | Meta 6 | Meta 7 | Meta 8 | Meta 9 | Meta 10 | Meta 11 | Meta 12 | Meta 13 | Meta 14 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Malezas | 20 +6 | 40 +12 | 80 +24 | 100 +30 | 150 +45 | 200 +60 | 300 +90 | 400 +120 | 500 +150 | 750 +225 | 1.000 +300 | 1.500 +450 | 2.000 +600 | 2.500 +750 |
| Abrojos | 20 +18 | 40 +36 | 80 +72 | 100 +90 | 150 +135 | 200 +180 | 300 +270 | 400 +360 | 500 +450 | 750 +675 | 1.000 +900 | 1.500 +1.350 | 2.000 +1.800 | 2.500 +2.250 |
| Hongos rojos | 10 +18 | 20 +36 | 40 +72 | 50 +90 | 75 +135 | 100 +180 | 150 +270 | 200 +360 | 250 +450 | 375 +675 | 500 +900 | 750 +1.350 | 1.000 +1.800 | 1.250 +2.250 |
| Hongos naranjas | 10 +12 | 20 +24 | 40 +48 | 50 +60 | 75 +90 | 100 +120 | 150 +180 | 200 +240 | 250 +300 | 375 +450 | 500 +600 | 750 +900 | 1.000 +1.200 | 1.250 +1.500 |
| Tocones | 5 +23 | 10 +45 | 20 +90 | 25 +113 | 38 +171 | 50 +225 | 75 +338 | 100 +450 | 125 +563 | 188 +846 | 250 +1.125 | 375 +1.688 | 500 +2.250 | 625 +2.813 |
| Hongos dorados | 2 +15 | 4 +30 | 8 +60 | 10 +75 | 15 +113 | 20 +150 | 30 +225 | 40 +300 | 50 +375 | 75 +563 | 100 +750 | 150 +1.125 | 200 +1.500 | 250 +1.875 |
| Termitas | 16 +5 | 32 +10 | 64 +19 | 80 +24 | 120 +36 | 160 +48 | 240 +72 | 320 +96 | 400 +120 | 600 +180 | 800 +240 | 1.200 +360 | 1.600 +480 | 2.000 +600 |
| Botellas | 10 +12 | 20 +24 | 40 +48 | 50 +60 | 75 +90 | 100 +120 | 150 +180 | 200 +240 | 250 +300 | 375 +450 | 500 +600 | 750 +900 | 1.000 +1.200 | 1.250 +1.500 |
| Cercas rotas | 7 +15 | 14 +29 | 28 +59 | 35 +74 | 53 +111 | 70 +147 | 105 +221 | 140 +294 | 175 +368 | 263 +552 | 350 +735 | 525 +1.103 | 700 +1.470 | 875 +1.838 |
| Neumáticos viejos | 5 +15 | 10 +30 | 20 +60 | 25 +75 | 38 +114 | 50 +150 | 75 +225 | 100 +300 | 125 +375 | 188 +564 | 250 +750 | 375 +1.125 | 500 +1.500 | 625 +1.875 |
| Hormigueros | 5 +12 | 10 +24 | 20 +48 | 25 +60 | 38 +91 | 50 +120 | 75 +180 | 100 +240 | 125 +300 | 188 +451 | 250 +600 | 375 +900 | 500 +1.200 | 625 +1.500 |
| Nidos de avispas | 4 +12 | 8 +24 | 16 +48 | 20 +60 | 30 +90 | 40 +120 | 60 +180 | 80 +240 | 100 +300 | 150 +450 | 200 +600 | 300 +900 | 400 +1.200 | 500 +1.500 |
| Termiteros | 4 +14 | 8 +29 | 16 +58 | 20 +72 | 30 +108 | 40 +144 | 60 +216 | 80 +288 | 100 +360 | 150 +540 | 200 +720 | 300 +1.080 | 400 +1.440 | 500 +1.800 |
| Piedras | 4 +22 | 8 +43 | 16 +86 | 20 +108 | 30 +162 | 40 +216 | 60 +324 | 80 +432 | 100 +540 | 150 +810 | 200 +1.080 | 300 +1.620 | 400 +2.160 | 500 +2.700 |
| Maíces | 10 +21 | 20 +42 | 40 +84 | 50 +105 | 75 +158 | 100 +210 | 150 +315 | 200 +420 | 250 +525 | 375 +788 | 500 +1.050 | 750 +1.575 | 1.000 +2.100 | 1.250 +2.625 |
| Zanahorias | 8 +24 | 16 +48 | 32 +96 | 40 +120 | 60 +180 | 80 +240 | 120 +360 | 160 +480 | 200 +600 | 300 +900 | 400 +1.200 | 600 +1.800 | 800 +2.400 | 1.000 +3.000 |
| Calabazas | 5 +30 | 10 +60 | 20 +120 | 25 +150 | 38 +228 | 50 +300 | 75 +450 | 100 +600 | 125 +750 | 188 +1.128 | 250 +1.500 | 375 +2.250 | 500 +3.000 | 625 +3.750 |
Infestaciones, jefes y prestigio
Infestaciones (jefes)
En algún momento del día el tablero es tomado por un solo tipo de planta durante 6s, comandado por un jefe con corona en el centro. La primera infestación está garantizada entre el 3.er y el 6.º día (para que el jugador sepa que existe). Después, la probabilidad es 30% + 4% por campo + 12% por nivel de Olfato de Plaga (máx. 85%). Vida del jefe = (40 + vida del tipo × 6) × dificultad (× 2 en el jefe final). Cada planta que llegó con la infestación le quita un pedazo de vida al jefe al ser arrancada: limpiarlas todas quita el 50%. Derrotarlo da monedas (25× la planta) y Semillas Raras.
Replantar (prestigio)
A partir del campo 3 se puede replantar: reinicia monedas, mejoras y campos, gana Semillas Raras y empieza una nueva cosecha, más difícil (vida ×1,6) y más rica (monedas ×1,5). Semillas ganadas en la cosecha 1: campo 3: 3, campo 4: 5, campo 5: 9, campo 6: 13, campo 7: 17, campo 8: 22. Cuando se desbloquea la replantación, el abuelo manda una carta explicándola, la pestaña Banco de semillas recibe un sello "!" y el panel muestra por separado lo que pierdes (monedas, mejoras, campos), conservas (semillas, banco, metas, historia, Arcade y Diario) y ganas. Al terminar la historia (Rey Hongo derrotado), aparece la pantalla final con las opciones replantar o continuar.
Banco de semillas (mejoras permanentes)
| Mejora | Máx. | Costos (semillas) | Descripción |
|---|---|---|---|
| Raíz Fuerte | ∞ | 2, 3, 5, 8, 13, 21, 34, 54… | +25% de fuerza por nivel, para siempre. ¡Sin nivel máximo! |
| Ahorros del Abuelo | 8 | 1, 2, 3, 6, 10, 19, 34, 61 | Empieza cada cosecha con más monedas. |
| Aliento de Familia | 5 | 3, 6, 11, 21, 39 | +2s de aliento cada día. |
| Semilla de la Suerte | 8 | 2, 3, 6, 10, 17, 28, 48, 82 | +1% de probabilidad de hongo dorado. |
| Nido Acogedor | 2 | 6, 18 | +1 gallina que te acompaña en cada cosecha. |
| Olfato de Plaga | 5 | 3, 6, 11, 21, 39 | Plagas más frecuentes y +25% de semillas de los jefes. |
Modo Arcade
Niveles numerados, infinitos y deterministas (iguales en cualquier dispositivo), en un camino estilo Candy Crush. El Arcade NO usa las mejoras del granero: cada nivel tiene un equipo fijo, el mismo para todos, así que solo cuenta la habilidad y las estrellas son justas. El jugador mejora despacio (daño +0,12 por nivel) y la maleza se endurece más rápido (vida ×1,045 por nivel). Metas: arrancar N plantas, arrancar N de un tipo, juntar N monedas; cada 10 niveles, un jefe.
Estrellas según el aliento que sobre al cumplir la meta: 1 estrella = meta cumplida, 2 = sobró el 20%, 3 = sobró el 45%. Durante el nivel, la tarjeta de misión (siempre visible, también en el móvil) muestra la meta con icono, una barra grande de progreso, las estrellas que te llevas si la cumples ahora y en cuántos segundos pierdes la siguiente. La pausa muestra la misión y el equipo del nivel.
| Nivel | Meta | Tiempo | Bioma | Daño | Área | Golpes/s | Vida | Gallinas |
|---|---|---|---|---|---|---|---|---|
| 1 | Arranca 13 plantas | 30s | Pastizal | 2.12 | 63 | 2.65 | x1.04 | 0 |
| 2 | Arranca 14 plantas | 32s | Pastizal | 2.24 | 64 | 2.66 | x1.09 | 0 |
| 3 | Arranca 10 hongos rojos | 29s | Pastizal | 2.36 | 64 | 2.67 | x1.14 | 0 |
| 4 | Arranca 17 plantas | 33s | Pastizal | 2.48 | 65 | 2.69 | x1.19 | 0 |
| 5 | Arranca 11 malezas | 31s | Pastizal | 2.60 | 66 | 2.70 | x1.25 | 0 |
| 6 | Junta 44 monedas | 26s | Pastizal | 2.72 | 67 | 2.72 | x1.30 | 0 |
| 7 | Cosecha 28 cultivos | 30s | Pastizal | 2.84 | 68 | 2.73 | x1.36 | 0 |
| 8 | Arranca 23 plantas | 32s | Pastizal | 2.96 | 68 | 2.75 | x1.42 | 0 |
| 9 | Junta 54 monedas | 32s | Pastizal | 3.08 | 69 | 2.76 | x1.49 | 0 |
| 10 | Derrota: Reina del Abrojo | 35s | Pastizal | 3.20 | 70 | 2.78 | x1.55 | 0 |
| 11 | Junta 60 monedas | 29s | Huerto | 3.32 | 71 | 2.79 | x1.62 | 0 |
| 12 | Junta 63 monedas | 28s | Huerto | 3.44 | 72 | 2.81 | x1.70 | 0 |
| 13 | Junta 66 monedas | 29s | Huerto | 3.56 | 72 | 2.82 | x1.77 | 0 |
| 14 | Cosecha 36 cultivos | 30s | Huerto | 3.68 | 73 | 2.84 | x1.85 | 0 |
| 15 | Junta 72 monedas | 32s | Huerto | 3.80 | 74 | 2.86 | x1.94 | 1 |
| 16 | Arranca 34 plantas | 31s | Huerto | 3.92 | 75 | 2.87 | x2.02 | 1 |
| 17 | Junta 78 monedas | 30s | Huerto | 4.04 | 76 | 2.89 | x2.11 | 1 |
| 18 | Arranca 19 abrojos | 33s | Huerto | 4.16 | 76 | 2.91 | x2.21 | 1 |
| 19 | Arranca 20 abrojos | 31s | Huerto | 4.28 | 77 | 2.92 | x2.31 | 1 |
| 20 | Derrota: Reina de la Maleza | 36s | Huerto | 4.40 | 78 | 2.94 | x2.41 | 1 |
| 21 | Cosecha 45 cultivos | 30s | Pantano | 4.52 | 79 | 2.96 | x2.52 | 1 |
| 22 | Arranca 42 plantas | 34s | Pantano | 4.64 | 80 | 2.98 | x2.63 | 1 |
| 23 | Arranca 22 hongos rojos | 26s | Pantano | 4.76 | 80 | 2.99 | x2.75 | 1 |
| 24 | Arranca 23 hongos rojos | 28s | Pantano | 4.88 | 81 | 3.01 | x2.88 | 1 |
| 25 | Arranca 24 hongos naranjas | 27s | Pantano | 5.00 | 82 | 3.03 | x3.01 | 1 |
| 26 | Arranca 24 malezas | 34s | Pantano | 5.12 | 83 | 3.05 | x3.14 | 1 |
| 27 | Arranca 25 abrojos | 30s | Pantano | 5.24 | 84 | 3.07 | x3.28 | 1 |
| 28 | Cosecha 53 cultivos | 30s | Pantano | 5.36 | 84 | 3.09 | x3.43 | 1 |
| 29 | Junta 115 monedas | 30s | Pantano | 5.48 | 85 | 3.11 | x3.58 | 1 |
| 30 | Derrota: Rey Hongo | 37s | Pantano | 5.60 | 86 | 3.12 | x3.75 | 2 |
| 31 | Arranca 55 plantas | 32s | Maizal | 5.72 | 87 | 3.14 | x3.91 | 2 |
| 32 | Arranca 56 plantas | 29s | Maizal | 5.84 | 88 | 3.16 | x4.09 | 2 |
| 33 | Junta 128 monedas | 27s | Maizal | 5.96 | 88 | 3.18 | x4.27 | 2 |
| 34 | Arranca 29 abrojos | 32s | Maizal | 6.08 | 89 | 3.21 | x4.47 | 2 |
| 35 | Cosecha 62 cultivos | 30s | Maizal | 6.20 | 90 | 3.23 | x4.67 | 2 |
| 36 | Arranca 31 tocones | 32s | Maizal | 6.32 | 91 | 3.25 | x4.88 | 2 |
| 37 | Junta 140 monedas | 34s | Maizal | 6.44 | 92 | 3.27 | x5.10 | 2 |
| 38 | Junta 143 monedas | 31s | Maizal | 6.56 | 92 | 3.29 | x5.33 | 2 |
| 39 | Junta 146 monedas | 30s | Maizal | 6.68 | 93 | 3.31 | x5.57 | 2 |
| 40 | Derrota: Tocón Anciano | 38s | Maizal | 6.80 | 94 | 3.33 | x5.82 | 2 |
Desafío diario
Una partida por día, el mismo tablero para todos (semilla = fecha). 40s de aliento, infestación garantizada a los 15s, equipo fijo (el del nivel 20 del Arcade, con más suerte de dorado). Puntuación = monedas. Jugar en días seguidos aumenta la racha.
- La tarjeta de misión muestra la fecha en el formato del idioma, los puntos actuales, el récord del día y la cuenta atrás para la infestación.
- Tocar la tarjeta del Desafío diario abre la pantalla del desafío: qué es, cómo es el de hoy (campo, jefe y cuándo llega), tus números (récord de hoy, mejor de todos, racha, días jugados, intentos hoy), el historial de todos los días jugados (fecha, mejor puntuación, intentos, corona en el mejor) con gráfico de los últimos 14 días, y el botón de jugar.
- Compartir: WhatsApp y X por enlace; "Copiar" copia el texto y guarda la imagen del tablero.
- Clasificación: por ahora local; preparada para Google Play Games (ver docs/RANKING.md).
Diseño, entrada y rendimiento
- Pantalla: base 1280x720, stretch
canvas_items+expand.main.gdcentra el área medianteviewport.canvas_transform;Art.full()devuelve el rectángulo visible para que los fondos rellenen los bordes. - HUD adaptable:
Hud.column_xf()crea la transformación de cada columna (fijada al borde, escala = Tamaño de la interfaz limitada al espacio libre).Art.begin_region()aplica la transformación también aArt.at(); los clics se convierten conHud.to_local(). - Árbol:
Controlconclip_contents+Node2Dcon posición/escala (desplazamiento/zoom), dibujado detrás de la pantalla (show_behind_parent). Clic solo al soltar sin arrastrar (8 px); rueda, pellizco (2 toques), gestos de touchpad y botones. - Texto:
Hud.text_block()parte las líneas, reduce la fuente hasta el 80% y, si hace falta, se desplaza con una barrita (sin cortar líneas). - Toque: en el día de desmalezado el arrastre mueve el círculo de forma relativa; toque rápido o 2.º dedo = pisotón.
PC: dos teclas de ataque (
k:keycodeom:botón), mantener repite el pisotón. - Rendimiento: sprites de las plantas prerrenderizados (2,5x), fondo y tablero en capas estáticas (el temblor solo mueve la capa), tope de 140 partículas. Infestación en PC: 25 → 58 fps.
- Audio: 13 efectos y una música de 19,2 s sintetizados en
AudioStreamWAV(hilo), volúmenes por bus con sliders. - Idiomas:
Loc.Tcon clave → [en, pt, es]; la prueba automática comprueba que toda clave tenga los 3. Nombre de la app localizado (config/name_localized).
Pruebas, builds y publicación
GODOT="C:/Program Files (x86)/Steam/steamapps/common/Godot Engine/godot.windows.opt.tools.64.exe"
"$GODOT" --headless --path . -- --smoke # prueba automática de todos los sistemas
"$GODOT" --path . -- --shots [--pt|--es] [--resolution 1800x810] # capturas de todas las pantallas (user://shots/<idioma>)
"$GODOT" --headless --path . -- --balance --mult=3.5 --days=34 # simulador de la economía
"$GODOT" --headless --path . -- --doc # exporta docs/game_data.json
"$GODOT" --path . -- --docimg # iconos, plantas, jefes, biomas y capturas (3 idiomas) en docs/img
python tools/make_docs.py # genera las dos documentaciones en EN, PT y ES
"$GODOT" --headless --path . --export-debug "Android" build/android/GrandpasFarm-debug.apk
"$GODOT" --headless --path . --export-release "Windows Slim" build/windows-slim/FazendaDoVovo.exe
- Windows Slim: plantilla compilada desde D:\dev\godot-src (4.7.2-stable,
custom.pysin 3D/física/Vulkan…), ~23 MB. Sin APIs obsoletas (p. ej.Image.create_empty). Icono aplicado con rcedit. - Android: arm64, iconos adaptativos.
- Publicación:
scpa[email protected]:/var/www/grandpasfarm= https://grandpasfarm.nxs.dev.br (clave SSH de este PC).