Código fuente de juego de tower defense: oleadas, torres y balance en TypeScript
Barricade Z guarda sus 30 oleadas, 12 niveles de torre y su economía en tres archivos de datos. Esto es lo que significa para quien compra.

En un código fuente de juego de tower defense, el diseño vive en los datos: qué tan fuerte es cada torre, qué manda cada oleada, qué tan rápido llegan las monedas. Si esos datos están regados por el código de dibujo, rebalancear una sola oleada obliga a leer todo el proyecto. Barricade Z, nuestra plantilla de tower defense con fusión, guarda torres, oleadas y balance en tres archivos TypeScript, y esta guía muestra dónde están y cómo cambiarlos sin romper nada.
Hay dos niveles de cambio en este paquete. Un editor de texto basta para el título de la página y el nombre de la partida guardada. Todo lo demás, de las torres a las oleadas de zombis, pasa por el código TypeScript y una compilación. Saber cuál es cuál antes de comprar evita sorpresas.
Todos los nombres de archivo vienen del manual ilustrado del comprador que acompaña al juego, disponible en los mismos 14 idiomas que la interfaz.
Qué contiene este código fuente de juego de tower defense
Barricade Z es un juego de defensa con fusión. El jugador fabrica torretas en una reserva, arrastra dos niveles iguales uno sobre otro para formar el siguiente, hasta el nivel 12, y coloca las más fuertes en las cinco posiciones de la barricada. La campaña de 30 oleadas recorre tres escenarios, con jefes en las oleadas 10, 20 y 30. Las granadas se desbloquean en la oleada 3 y el Overdrive en la 7, y un taller vende mejoras. El reto diario y el modo infinito se abren conforme el jugador avanza.
- game/: la versión jugable, lista para subir, con Phaser 3.90 en lib/phaser.js y las fuentes Bungee y Barlow Condensed.
- game/barricade-z.config.js: los dos ajustes que cambias sin compilar.
- source/: el proyecto TypeScript legible, solo para desarrolladores.
- documentation/index.html, más DOCUMENTATION.html en la raíz: el manual del comprador, que abre sin internet.
- THIRD-PARTY-LICENSES/: avisos de licencia del motor y de las fuentes.
La interfaz viene en 14 idiomas, con diseños vertical y horizontal para táctil y mouse. El locutor está grabado solo en inglés, y el idioma elegido cambia el texto de la interfaz, no la voz.
Ver Barricade Z: demo, manual y precio
Los tres archivos que guardan el diseño del juego
Abre primero source/src/data/. Esos tres archivos son la razón para comprar la edición con código, porque ahí se diseña de verdad un tower defense.
- towers.ts: los 12 niveles de torre, los atributos de cada arma y los datos del disparo.
- waves.ts: las 30 oleadas de la campaña y dónde aparecen los jefes.
- balance.ts: economía, vida, daño y ritmo de progresión.
Alrededor de ellos, source/src/i18n/ guarda los diccionarios de los 14 idiomas, source/src/ui/ contiene menús, HUD, barra de herramientas, paneles y tutorial, y source/src/audio/ se encarga de la mezcla y del locutor. El código compilado en game/assets/ tiene nombres con hash; no lo edites a mano, vuelve a compilar.
Lo que cambias con un editor de texto
Abre game/barricade-z.config.js, cambia un valor, guarda y recarga. No hace falta compilar. Aquí solo viven dos ajustes.
- title: el título de la pestaña del navegador. No reemplaza el logo ilustrado.
- storagePrefix: el espacio donde se guarda la partida. Cambiarlo empieza una partida aparte y deja las claves anteriores donde están. Usa solo letras, números, puntos, guiones bajos y guiones, hasta 64 caracteres.
storagePrefix es más útil de lo que parece. Dos copias del juego en el mismo dominio comparten partida aunque estén en subcarpetas distintas. Si una agencia aloja una copia por cliente en un mismo dominio, cada copia necesita su propio prefijo para que el progreso de los jugadores no se mezcle.
Cualquier cosa más allá de esos dos valores, incluidos logo, íconos, arte, reglas, torres, oleadas y textos, requiere la edición con código y una compilación.
Compilar después de un cambio de verdad
La carpeta game/ ya trae la versión jugable, así que publicarla no requiere Node.js. Solo lo instalas para cambiar el juego en sí.
- Instala Node.js 20.19 o más reciente.
- Dentro de source/, ejecuta npm ci. Las versiones probadas de las herramientas están fijadas en package-lock.json.
- Haz tu cambio y ejecuta npm run typecheck y npm test.
- Ejecuta npm run build. El resultado queda en source/dist/.
- Sube el contenido de source/dist/ para reemplazar el juego publicado, igual que game/.
Tres comandos opcionales ayudan: npm run dev abre un servidor local de desarrollo, npm run preview sirve una compilación para revisarla, y npm run balance corre una simulación de toda la campaña desde la línea de comandos, muy útil después de tocar balance.ts.
Lo que suele cambiar primero quien compra
- El título de la pestaña y el prefijo de guardado en el archivo de configuración, para que la copia sea tuya desde la primera subida.
- Logo y arte en el código. Conserva las proporciones al reemplazar visuales, como pide el manual.
- Textos de la interfaz en los diccionarios i18n, en todos los idiomas que vayas a publicar.
- Dificultad: composición de oleadas en waves.ts y luego el flujo de monedas en balance.ts.
- Las torres al final, en towers.ts, porque cada oleada se ajustó con ellas.
Si vendes o administras varios juegos de fusión, la misma idea de reserva y fusión aparece en otras dos plantillas nuestras, cada una con su tema y sus reglas.
Deepforge: fusiona picos y mándalos a una mina con física
Plop: rompecabezas de fusión de frutas con física y 11 niveles
Hosting, actualizaciones y partidas guardadas
Sube solo el contenido de game/ a una carpeta vacía, como public_html/mi-juego/, y abre la dirección en un Chrome, Edge, Firefox o Safari actual. No hace falta npm, PHP, base de datos ni cuenta, y se recomienda HTTPS. Abrir index.html con doble clic en tu computadora no funciona. Tu servidor debe enviar .js como JavaScript, .css como CSS y las fuentes y .mp3 con sus tipos normales, y en muchos servidores los nombres distinguen mayúsculas y minúsculas.
La partida se guarda en el navegador del jugador, en barricadez.save (campaña y punto de control) y barricadez.settings (idioma, sonido, tutorial, desbloqueos y récords), con el prefijo predeterminado. No hay cuenta ni sincronización en la nube. Recargar reinicia la oleada actual desde su punto de control.
- Para actualizar: respalda game/ y tu archivo de configuración editado, sube el nuevo game/ encima, conserva storagePrefix y recarga.
- Si sigue apareciendo la versión vieja, borra imágenes y archivos en caché o presiona Ctrl+F5. No borres los datos del sitio: eso elimina la partida.
- El juego incluye un manifest.webmanifest, pero el manual aclara que no está empaquetado como app instalable sin conexión.
Los proyectos de app nativa no están incluidos. Si quieres el juego en una tienda de apps, el empaquetado y la ficha de la tienda son un trabajo aparte, que podemos cotizar.
Lo que no incluye, y la licencia
La edición no tiene SDK de anuncios, analítica, proveedor de pagos, multijugador en línea, ranking remoto ni guardado en la nube, y no incluye app nativa, hosting ni desarrollo a medida. Cualquiera de esas piezas es trabajo de desarrollo con tus propias cuentas.
Barricade Z cuesta 39 USD de lista, o 33.15 USD con la promoción de Black Friday, vigente hasta el 30 de noviembre de 2026; dos o más plantillas en el mismo pedido también reciben un descuento por paquete de 5% a 20%. La licencia es perpetua y no exclusiva, para un producto final, tuyo o de un cliente. Puedes cambiar código, arte y audio, poner tu marca en lugar de la nuestra y ofrecer el juego gratis o con anuncios. No se permite revender la plantilla ni su código por separado. Incluye seis meses de soporte, doce con la extensión; funciones nuevas e integraciones se cotizan antes.
Leer los términos del marketplace
Preguntas frecuentes sobre el código de Barricade Z
¿Qué motor usa el código fuente del tower defense?
Phaser 3.90 con TypeScript. El motor viene en game/lib/phaser.js, con licencia MIT, así que nada se carga de un CDN.
¿Puedo cambiar oleadas y torres sin Node.js?
No. El archivo de configuración solo define el título de la pestaña y el prefijo de guardado. Oleadas, torres y balance están en el código y requieren Node.js 20.19 o más reciente y una compilación.
¿El locutor está traducido?
No. Los 14 idiomas cubren la interfaz. Las grabaciones del locutor están en inglés, y los demás idiomas no tienen narración.
¿Funciona en celulares?
Sí. Los diseños vertical y horizontal aceptan táctil y mouse. El rendimiento depende del equipo, así que prueba en los celulares de tu público.
¿Dos copias en el mismo dominio pueden guardar por separado?
Sí, si cada copia tiene su propio storagePrefix en barricade-z.config.js. Cambiar solo de subcarpeta no las separa.
Para quién vale la compra
Barricade Z sirve a un portal que quiere un juego de defensa contra zombis terminado, a un freelancer o estudio que prepara un juego con la marca de un cliente y a quien quiere leer cómo un tower defense en TypeScript y Phaser guarda su diseño en datos. Si solo necesitas publicarlo con tu nombre, el archivo de configuración y el logo cubren casi todo. Si planeas una campaña nueva, los tres archivos de datos y npm run balance son donde pasarás el tiempo.
Probar la demo de Barricade Z y comprar la licencia
¿Oleadas a medida, reskin o pedido de agencia? Pide una cotización
