Autor de niveles
Quien crea niveles en el editor integrado en el juego, desde un primer intento hasta un nivel listo para enviar
Empieza por Editor de niveles y luego crea algo pequeño con Tu primer nivel: la ruta
Quien crea niveles en el editor integrado en el juego, desde un primer intento hasta un nivel listo para enviar
Empieza por Editor de niveles y luego crea algo pequeño con Tu primer nivel: la ruta
Descarga el juego, abre la lista de niveles y juega cualquiera. Para crear el tuyo, crea un nivel en el editor y pon en su carpeta una canción de 1-2 minutos
Los errores del juego van a las issues de releases, las preguntas a Discord. Adjunta la línea de versión de la configuración y los pasos tras los que aparece el error
Antes de jugar, el juego muestra cuánto le cuesta a tu dispositivo ejecutar un nivel, con un indicador de cinco barras: cuantas más barras se encienden, más ligero es el nivel. Las barras verdes signi
El editor viene integrado en el juego, no hay que instalar nada aparte. Un nivel en él es una carpeta con una canción y archivos, que llevas de vacía a lista para publicar
Un nivel es una carpeta de archivos, el primero se construye en seis pasos, y todo el editor se apoya en seis ideas: objeto, fotograma, tramo, capa, padre, fotograma clave
Un nivel es una carpeta normal en el disco: el archivo del nivel, los metadatos y todo lo que usa. Créalo en Json y pásalo como una copia de la carpeta, no hace falta instalar nada
Seis pasos hasta la primera prueba: crear un nivel, añadir la canción, marcar el ritmo, colocar objetos, hacer una prueba, guardar
Objeto, fotograma, tramo, capa, padre, fotograma clave - las seis ideas sobre las que se apoya todo el editor
Un nivel cuenta el tiempo en sus propios fotogramas, no en los de la pantalla, así que se juega igual en cualquier equipo. La duración del nivel la fijas tú, y los fps conviene dejarlos en el valor pr
Un fotograma clave es un valor en un fotograma de una pista, más el suavizado con el que se llega a él. Todo lo que en un nivel se mueve, cambia de color o se activa y desactiva es una lista de fotogr
El nivel mínimo es una canción. Las imágenes y las fuentes las traes tú, y todo vive en la carpeta del nivel
Lo mínimo es una canción. Todo lo demás es opcional, y casi todo lo traes tú
Convierte la canción a ogg: pesa entre 8 y 10 veces menos que wav y, a diferencia de mp3, no añade silencio al principio del archivo. Aparte de ogg, solo se cargan mp3 y wav
Si basta una forma, usa una forma: no tiene archivo, no gasta memoria y no plantea dudas de derechos. Haz la imagen del tamaño de su sitio en pantalla, como mucho 2048 para un nivel móvil y 4096 en ge
Un nivel vive en su propia carpeta dentro de levels, en la carpeta del juego. No cambies el nombre de los archivos que usa, y una copia de seguridad completa es una copia de la carpeta del nivel
Un nivel que publicas solo puede contener archivos con una licencia abierta no más estricta que CC BY-NC o con el permiso de su autor. Un nivel para ti puede montarse con cualquier cosa
Puedes usar una canción si su licencia abierta no es más estricta que CC BY-NC o si su autor permitió directamente usarla en el nivel. Una canción de YouTube, SoundCloud o Spotify necesita el permiso
Un recurso es válido si tiene una licencia adecuada o el permiso del titular de los derechos. No hay una tercera vía
Seguros por defecto: música de ccMixter, Freesound y Kenney, imágenes de Poly Haven, Pexels y Unsplash, fuentes de Google Fonts. De YouTube, SoundCloud o Spotify no se puede tomar nada
El registro anota de dónde viene un recurso y en qué condiciones: el enlace, la licencia, los permisos, los autores. Un campo de licencia vacío significa "nadie lo comprobó", y ese recurso se rechaza
Cada servicio comprueba un nivel con sus propias reglas, así que uno puede aceptarlo y otro rechazarlo. Solo un error bloquea la publicación, una advertencia envía el nivel a moderación
Escribe al autor con la plantilla, deja intactos los puntos 1-3 y guarda la respuesta. Solo cuenta un permiso que permita directamente distribuir el nivel, no uno solo para uso personal
Un buen nivel es aquel en el que el jugador entiende qué lo mató, se mueve con la música y quiere volver a intentarlo
El jugador tiene que entender qué lo mató. Muestra un peligro antes de que sea peligroso, da al menos 12 fotogramas para reaccionar y haz que el peligro destaque más que la decoración
Marca primero la cuadrícula de pulsos: el tempo, luego el desplazamiento, luego los pulsos por compás. Pon el pico del nivel en el pico de la canción, y dale al jugador un respiro en los breaks
Diseña según los números del propio jugador - todos están en 6_avatar y 7_damage - y una reacción humana de 12-15 fotogramas. Muestra primero cada patrón nuevo en una forma segura
Mantén el contenido importante lejos del borde: otras pantallas ponen el borde en otro sitio, y el recorte de un teléfono puede tapar un proyectil. La sacudida de cámara funciona durante un compás, el
Pasa el color del contenido por una referencia al tema y deja los colores literales para lo que de verdad es único. Activa el posprocesado en un pico y vuelve a desactivarlo, o los proyectiles pierden
Un tema es una paleta de 64 colores a los que los objetos se refieren por número de ranura. Cambia el tema, y todo lo que se refiere a él cambia con él
Monta una imagen primero con formas integradas y dibuja las tuyas solo donde ninguna encaje. Pon luces y sombras sobre una forma base, convierte cada elemento repetido en un prefab y compara el result
Hábitos, no diseño: en qué orden construir un nivel, cómo no hacer el trabajo dos veces ni perderlo, cómo comprobarlo con el bot, pasárselo a otra persona y construirlo con un asistente de IA. Empieza
Primero la pista de audio, los fps, el mapa de pulsos y los marcadores, después un esqueleto de formas simples y su prueba de juego. La decoración, el tema y los efectos van al final
Los objetos que más tarde tendrás que cambiar todos a la vez forman un prefab, sean cuantos sean. El contenido que se puede describir con una regla es un generador. En cualquier otro caso, simplemente
La paleta de comandos (Ctrl+Shift+P), la búsqueda de contenido (Ctrl+F), el botón Localizar y las flechas en una línea de tiempo son lo que más tiempo ahorra. Cualquier tecla se puede reasignar en la
Tu trabajo lo protegen el guardado automático, deshacer y una copia de la carpeta del nivel. Solo una copia de la carpeta es una instantánea completa del nivel. Cambiar el formato del archivo y elimin
Un bot juega el nivel con los mismos controles que tú y comprueba la legibilidad, no la dificultad. No garantiza que el nivel se pueda superar
Empaqueta la carpeta del nivel en zip o tar.gz y, si quieres contraseña, cífrala con gpg. En otro equipo, el nivel desempaquetado se juega al instante, y el juego lee esos archivos comprimidos por sí
Un cliente de IA compatible con MCP puede editar el nivel abierto en el editor mientras lo ves. Cada lote de la IA es un solo paso de deshacer, y la IA no puede publicar, eliminar archivos ni escribir
Que un nivel funcione en los dispositivos de los jugadores lo deciden el número de formas en un fotograma y el sobredibujado. Empieza por el presupuesto del nivel y, si haces un nivel para teléfonos,
Un teléfono aguanta con holgura unas 1000 formas en un fotograma, un PC débil 5000-10000. El sobredibujado cuesta más que la cantidad: cosas translúcidas sobre toda la pantalla, capa sobre capa
En un teléfono, el dedo tapa la pantalla y el sistema ocupa los bordes. Mantén lo importante lejos de los bordes y prueba el nivel en un teléfono débil: la translucidez a pantalla completa es lo prime
Qué hace un campo o un botón concreto del editor, una página por panel, ventana o pestaña. La referencia no se lee de principio a fin: se llega aquí desde la búsqueda o desde un enlace de un artículo
La lista principal de términos del proyecto. La interfaz del juego, esta documentación y cualquier otro texto sobre Bullet Hero usan estas palabras, y un término nuevo se añade aquí primero
Los metadatos son la portada del nivel: nombre, descripción, imagen, autores, clasificación por edad, dificultad y avisos sobre el contenido. Hoy un nivel llega a otra persona como carpeta o a través
Las líneas de tiempo muestran el nivel a lo largo del tiempo: los objetos, los fotogramas clave del objeto seleccionado, la plantilla de un prefab, el audio y los eventos. La cuadrícula de pulsos te a
La jerarquía es un árbol de los objetos del fotograma actual ordenados por padre. Cada línea de tiempo tiene su propio búfer de portapapeles, y la paleta de comandos encuentra cualquier acción del edi
El inspector de objeto edita los campos del objeto seleccionado, el inspector de fotograma clave edita los fotogramas clave seleccionados, en todas las pistas que toca la selección a la vez
Un efecto son partículas de VFX Graph cuyos parámetros se dividen en módulos: cuántas partículas hay, desde dónde salen, cómo se mueven, de qué color y tamaño son. Se editan en el inspector o en el ed
El sonido de una pista de audio pasa por una cadena de efectos: hay 11, desde la normalización y el compresor hasta el eco y la reverberación. La cadena, la velocidad y el volumen se fijan en el inspe
Un generador crea contenido y lo aplica al nivel en una sola operación que se deshace en un solo paso. Todos los generadores se ejecutan desde la ventana "Generadores" de la barra de herramientas
Un modificador cambia lo que ya hay en el nivel: elimina contenido, recalcula los fps, aplana prefabs, cuantiza fotogramas clave, encaja y desplaza tramos. Una ejecución se deshace en un solo paso
Aquí se fija todo lo que pertenece al propio nivel: duración, fps, semilla, orientación, metadatos, publicación. Desde aquí también se lanza el nivel, se comprueba con las reglas y se restaura desde u
Las texturas, formas, temas, efectos y prefabs de un nivel viven en su carpeta y viajan con él. Cada recurso tiene su propia ficha con su origen, licencia y autores
En el modo prefab editas la plantilla, y al guardar la edición llega a todas sus colocaciones. Se entra con el botón "Editar prefab" del inspector de una colocación y se vuelve al nivel con Ctrl+Shift
Exportar guarda el nivel fuera del juego como carpeta o archivo comprimido, junto con todos los archivos que usa. Una contraseña cifra el contenido del nivel en el disco, y una contraseña olvidada no
Aquí se configuran el autoguardado, la cuadrícula, la selección, los gizmos y los presets de nivel nuevo. El autoguardado está activado por defecto y salta 60 segundos después de una edición
La jerarquía, los inspectores y las líneas de tiempo están acoplados alrededor de la vista. Un clic en el tirador del borde de un panel lo abre o lo cierra, un arrastre cambia su ancho
Las colecciones guardan los recursos que reutilizas entre niveles. Un nivel nunca hace referencia a una colección: importar copia el recurso dentro, y el nivel se juega en cualquier parte
Un nivel se envía solo desde la pestaña "Publicación" de la configuración del nivel: como archivo comprimido o al Workshop de Steam. El informe comprueba el nivel por sí solo, y sus errores bloquean e
El editor renderiza el nivel abierto en un archivo de video mediante el ffmpeg instalado en tu equipo. El renderizado es offline, fotograma a fotograma, así que el video es exacto por lento que sea el
El SDK es el formato de nivel de Bullet Hero en forma de biblioteca abierta en C#. El juego lee y escribe los niveles a través de él, y tu programa puede hacer lo mismo
El SDK es el paquete BulletHero.SDK de nuget.org o una compilación desde el código fuente. En Unity se conecta como git submodule, y el ejemplo ConsoleSmoke comprueba que tus niveles se leen
Un nivel es una carpeta: el contenido en level.json o level.blob, los metadatos en metadata.json o metadata.blob, una portada y archivos multimedia. Las copias de seguridad, los récords y la configura
Un nivel se exporta como carpeta, tar.gz o zip, con contraseña opcional: zip con AES-256 u OpenPGP. El SDK detecta el formato de un archivo recibido por sus primeros bytes, no por su nombre
Hay tres versiones: gv para el juego, sv para el SDK y mg para la generación del formato de modelos. Según mg, el SDK migra un archivo antiguo y se niega a leer uno con una generación más reciente que
La validación la llamas tú a través de ValidationFacade, no está integrada en el guardado ni en la carga. Las incidencias se dividen en Error, Warning y Advice, y ValidateAndFix corrige lo que puede
Un servicio describe qué niveles acepta con un archivo PublishProfile: licencias, orígenes de los recursos, campos obligatorios, límites de tamaño. Añadir un servicio significa escribir un archivo, no
Bullet Hero es un híbrido gratuito de juego de ritmo y bullet hell. No hace falta cuenta y todavía no hay servidor. Los jugadores crean los niveles en el editor integrado y se los pasan como carpeta o
Uso la IA y creo que merece la pena usarla. Pero bien: como una herramienta cuyo trabajo reviso, no como algo que piensa por mí. Usada sin pensar, produce mucho texto y código que parece correcto y no
Bullet Hero es gratis, funciona en Windows y Android, y su SDK, su documentación y sus builds son abiertos. El núcleo mueve miles de objetos en pantalla en teléfonos y lo cubren más de 8000 tests
Las preguntas, los comentarios y tus niveles van a Discord. Cualquiera puede ayudar al juego: corregir un error en la documentación, añadir una traducción, informar de un bug o hacer un nivel
Las conversaciones y preguntas van a Discord, los videos a YouTube y los bugs del juego a los issues del repositorio bullet-hero/releases. El código fuente está en la organización bullet-hero de GitHu