Jumpfall Level Editor

Tutorial de uso para crear, probar, guardar y compilar mapas personalizados sin abrir Unity.

Inicio rapido

El Level Editor sirve para construir mapas personalizados, probarlos dentro del juego y prepararlos para compartirlos como mapas comunitarios.

  1. Abre Jumpfall y entra con el boton Level Editor del menu principal.
  2. Coloca suelo con LMB y borra con RMB.
  3. Mueve el spawn con T o con el modo M.
  4. Prueba el mapa con F5.
  5. Guarda editable con F7.
  6. Compila jugable con F8.
Esta version del editor sigue siendo prototipica. Guarda seguido con F7 para no perder el archivo editable.

Conceptos importantes

Pieza Objeto normal del nivel, como suelo, manzanas, plataformas o checkpoints.
Trigger Zona especial. Se ve en el editor, pero en juego puede quedar invisible.
Spawn Punto donde aparece el jugador al probar o jugar el mapa.
Background Imagen PNG local usada como fondo o decoracion.
Objeto bloqueado Objeto protegido en el editor. Se puede seleccionar, pero no mover, borrar, escalar ni configurar hasta desbloquearlo con B.
.jmap Mapa editable. Conserva este archivo si quieres seguir trabajando.
.jfue Mapa compilado y jugable. Es lo que carga Jumpfall para jugar.
.jsm Paquete tipo zip para Workshop. Incluye .jfue, manifest.json, preview.png y assetlocal.
assetlocal Carpeta de assets del mapa: fondos, sonidos y scripts Lua.

Controles principales

Tecla o accion Uso
LMBColocar pieza, pintar, seleccionar o mover segun el modo.
RMBBorrar, limpiar seleccion o mover la camara si arrastras.
1..9Seleccion rapida de pieza o trigger.
[ / ]Cambiar pieza o trigger seleccionado.
Q / ERotar pieza. En algunos objetos E abre configuracion si F4 esta activo.
F1Mostrar u ocultar la ayuda superior.
F2Activar o desactivar camara libre en el editor.
F3Abrir panel de backgrounds PNG.
F4Modo Object Edit: seleccionar, mover, escalar y configurar objetos.
F5Entrar o salir de playtest.
F6Modo triggers.
F7Guardar mapa editable .jmap.
F8Compilar mapa jugable .jfue y preparar .jsm.
F9Cargar un .jmap desde creaciones.
F10Abrir panel de banda sonora personalizada.
Ctrl + F10Configurar playlist, loop y pistas de sonido.
Ctrl + C / Ctrl + VCopiar y pegar seleccion en Object Edit.
BEn Object Edit, bloquear o desbloquear la seleccion actual.
Ctrl + Z / Ctrl + YDeshacer y rehacer.
EscapeCerrar panel activo o pedir confirmacion para salir.

Object Edit con F4

Este modo se usa para ajustar visualmente piezas, triggers y backgrounds ya colocados. Es el modo que debes usar cuando algo quedo mal posicionado o con tamano raro.

  • LMB sobre un objeto lo selecciona.
  • LMB en espacio vacio y arrastrar crea un rectangulo de seleccion.
  • Ctrl + LMB agrega o quita objetos de la seleccion multiple.
  • Arrastrar un objeto seleccionado mueve todo el grupo.
  • Los cuadros amarillos cambian ancho, alto o ambas dimensiones.
  • Ctrl + rueda del mouse cambia la precision de movimiento y escalado.
  • Ctrl + C copia la seleccion y Ctrl + V la pega cerca del mouse.
  • B bloquea o desbloquea la seleccion para evitar cambios accidentales.
El rectangulo de seleccion usa el centro de cada objeto. Esto evita seleccionar por accidente un background enorme que solo toca el borde del rectangulo.

Bloquear objetos con B

El bloqueo sirve para proteger piezas, triggers o backgrounds importantes mientras trabajas en otra parte del mapa.

  1. Activa F4.
  2. Selecciona uno o varios objetos.
  3. Presiona B.

Cuando un objeto esta bloqueado, el editor muestra el marco en color naranja o el texto LOCKED. El objeto todavia puede seleccionarse para poder desbloquearlo.

  • No se puede mover.
  • No se puede escalar.
  • No se puede rotar.
  • No se puede configurar con E.
  • No se puede borrar con RMB.
El bloqueo es solo una proteccion del editor. No cambia como funciona el mapa al compilarlo en .jfue.

Spawn y playtest

Mover el spawn

  • T coloca el spawn en la posicion del mouse.
  • M activa o desactiva el modo para mover el spawn.
  • Con M activo, usa LMB o arrastra para moverlo.

Probar el mapa

F5 cambia entre editor y playtest. En playtest, el jugador aparece en el spawn y la camara sigue al objeto con tag Player.

  • Los triggers visuales se ocultan cuando corresponde.
  • La banda sonora personalizada se reproduce si esta activada.
  • Al volver al editor, el mapa vuelve al estado editable.

Fondos PNG con F3

Los fondos personalizados se guardan en assetlocal\backgroundimg. Puedes tener mas de un background en el mismo mapa.

  1. Presiona F3.
  2. Elige un PNG ya copiado o pega una ruta de origen para copiarlo.
  3. Agrega el background.
  4. Activa F4 para moverlo o cambiar su tamano.
  5. Presiona E sobre el background si tiene parametros editables.
Para evitar borrarlo por accidente, algunos fondos requieren Ctrl + RMB o usar la accion de remover desde el panel.

Banda sonora personalizada con F10

La musica del mapa se guarda como lista dentro del archivo del nivel. Los audios reales van en assetlocal\sound.

  • F10 abre el panel de banda sonora.
  • Ctrl + F10 abre la configuracion de loop y playlist.
  • Formatos aceptados: .ogg y .wav.
  • Si hay varias canciones y el loop esta activo, el juego reproduce la lista completa y luego vuelve al inicio.
  • Si el loop esta desactivado, la lista se reproduce una sola vez.

Triggers con F6

Los triggers son zonas del mapa que ejecutan una accion cuando el jugador entra.

  1. Presiona F6 para activar el modo triggers.
  2. Usa [, ] o 1..9 para elegir el trigger.
  3. Coloca con LMB.
  4. Activa F4 para moverlo o cambiar su tamano.
  5. Presiona E sobre triggers configurables.
Trigger Funcion
limit_mapLimite o zona de control del mapa.
deathzoneMata al jugador si entra.
changelevelCambia a otro mapa .jfue. No puede usarse para reemplazar MainMenu.
finish_levelTermina el nivel. En playtest muestra un mensaje y vuelve al editor.
lua_eventDispara un evento Lua del mapa. No hace nada por si solo.
static_cameraFija la camara mientras el jugador esta dentro de la zona.

Configurar static_camera

El trigger static_camera crea una zona donde la camara deja de seguir al jugador y se queda en una vista definida por el mapa.

  1. Presiona F6.
  2. Selecciona static_camera con [, ] o el numero que le corresponda.
  3. Colocalo con LMB.
  4. Activa F4, selecciona el trigger y presiona E.

Modos de vista

  • Freeze: congela la camara en la posicion que tenia al entrar.
  • Zone Center: centra la camara en el centro del trigger.
  • Custom XY: usa una posicion escrita manualmente. Tambien puedes usar la posicion actual del trigger como base.

Parametros utiles

  • Offset X/Y: corrige la vista sin mover el trigger.
  • Override Zoom: permite usar un tamano de camara especial solo para esa zona.
  • Orthographic Size: define que tan lejos o cerca se ve la camara si el override esta activo.
  • Blend Seconds: suaviza la transicion al entrar o cambiar de zona.
La camara vuelve a seguir al jugador solo cuando el jugador sale completamente del trigger o entra a otro static_camera. Esto evita parpadeos al moverse rapido de izquierda a derecha dentro de la zona.

Eventos Lua para mapas

Lua permite agregar comportamiento personalizado a un mapa sin modificar el juego base. El script principal vive en assetlocal\lua\main.lua.

Para conectar un trigger al script:

  1. Coloca un trigger lua_event con F6.
  2. Activa F4, selecciona el trigger y presiona E.
  3. Escribe el nombre del evento, por ejemplo open_gate.
  4. En main.lua, implementa on_lua_event.
function on_lua_event(event_name, x, y)
  if event_name == "open_gate" then
    jf.log("Gate event at " .. x .. ", " .. y)
  end
end
Los scripts Lua del mapa estan sandboxeados. No deben usarse para instalar archivos, ejecutar programas externos o modificar carpetas fuera del mapa.

Guardar, compilar y compartir

Guardar editable

F7 guarda un archivo .jmap en la carpeta de creaciones. Este es el archivo que debes conservar para seguir editando.

Cargar editable

F9 abre LoadMapEditor y muestra los .jmap guardados.

Compilar jugable

F8 compila el mapa a .jfue. Esa version usa el jugador real del juego y es la que se carga para jugar.

Crear paquete de Workshop

El flujo de Workshop usa .jsm, que es un paquete con:

  • El mapa .jfue.
  • manifest.json.
  • preview.png.
  • assetlocal\backgroundimg.
  • assetlocal\sound.
  • assetlocal\lua.
No publiques el .jmap dentro del paquete Workshop. El .jmap es editable y debe quedarse como archivo de trabajo del creador.

Donde se guardan las cosas

  • Mapas editables: Documents\jumpfall\levels\creations
  • Mapas compilados: Documents\jumpfall\levels\compilator
  • Mapas Workshop instalados: Documents\jumpfall\levels\workshop\{workshopid}
  • Fondos locales: Documents\jumpfall\levels\assetlocal\backgroundimg
  • Sonidos locales: Documents\jumpfall\levels\assetlocal\sound
  • Scripts Lua locales: Documents\jumpfall\levels\assetlocal\lua
  • Configuraciones del juego: Documents\jumpfall\configs
  • Partidas guardadas: Documents\jumpfall\save

Dev console

La consola de desarrollo sirve para probar mapas compilados y revisar rutas. En builds normales de PC se activa con parametro de lanzamiento.

  1. En Steam, abre propiedades del juego.
  2. En parametros de lanzamiento agrega dev_console.
  3. Abre el juego.
  4. Presiona F11 para mostrar u ocultar la consola.
Comando Uso
compiledmapsMuestra mapas .jfue encontrados.
localmapsMuestra mapas compilados locales.
loadjfue nombreCarga un mapa compilado por nombre.
luascriptsMuestra scripts Lua locales encontrados.
luapathMuestra la carpeta Lua local.

Problemas comunes

No veo mi mapa en LoadMapEditor

Revisa que sea un archivo .jmap y que este en Documents\jumpfall\levels\creations.

El jugador cae al probar

Vuelve con F5, mueve el spawn con T o M y revisa que haya suelo bajo el jugador.

Un objeto quedo gigante o muy pequeno

Activa F4, selecciona el objeto y usa los cuadros amarillos para ajustar el tamano. Usa Ctrl + rueda para cambiar la precision.

No puedo mover, borrar o configurar un objeto

Puede estar bloqueado. Activa F4, selecciona el objeto y revisa si el marco aparece naranja o si el texto dice LOCKED. Presiona B para desbloquearlo.

No suena la musica

Comprueba que el audio este en assetlocal\sound, que sea .ogg o .wav, y que la banda sonora este activada en F10.

Mi evento Lua no se ejecuta

Revisa que el trigger sea lua_event, que tenga el nombre correcto configurado con E, y que exista assetlocal\lua\main.lua.

Checklist antes de compartir

  • El mapa tiene spawn correcto.
  • Se puede completar en playtest con F5.
  • Guardaste el editable con F7.
  • Compilaste el jugable con F8.
  • Los objetos importantes estan bloqueados con B mientras sigues editando.
  • Las zonas static_camera muestran la vista esperada y no sueltan la camara antes de salir.
  • Los fondos, sonidos y Lua usados estan dentro de assetlocal.
  • El paquete .jsm contiene .jfue, manifest.json, preview.png y assetlocal.
  • El paquete no incluye el .jmap.