NECRONOMICRON's Forum Posts

  • Yup, its for the density selected, move de green box to the circle or the circle slowly near to the chain.

  • Hi.

    You were close. You just need to place the spawn at the start of the layout.

    I only have Construct 3, so here's a screenshot of your code.

    SOLUTION:

  • THE ONE AND ONLY STRING OR CHAIN ​​GENERATOR

    Hi, Guys, Here Necronomicrón:

    A long time ago, using the C2 editor, I made a tutorial for creating a functional string or chain—nothing like the "ROPE" behavior of the "PIN" object, but a string with physics and behavior appropriate for that object. While it turned out as expected, it's still quite a lot of code and requires at least 3 or 4 sprites to generate. Because of this, I decided to create a behavior that generates a string according to the length you need from the "spanwner" or generator sprite. It's very easy to use, and it can withstand a lot of abuse before becoming obfuscated or turning into a mess—that's a problem with the physics engine :S...but even so, it works perfectly. The sprites have drag and drop functionality, so the demo works on any device.

    You are the testers; let me know if you like it and how you will use it.

    Here's my tutorial, demo, and files...

    TUTORIAL:https://www.construct.net/en/tutorials/ropes-physics-free-length-2158

    DEMO:https://cuerda-rope-chain.netlify.app/

    .CAPX:https://www.mediafire.com/file/82zp29rkh3smofo/CUERDA-ROPE-CHAIN.capx/file

    BEHAVIOR:https://www.mediafire.com/file/ojzi6ppan5iid1f/NECRONOMICRON_rope.zip/file

  • DONE...

    Now that I have more time, I've updated the demo and the file. It's more polished and organized. I had a small problem with the touch behavior, but I've fixed it. If you need the plugin in English, let me know; I only packaged it in Spanish.

    I created a small multi-device menu (PC or mobile) to test the demo and the bullet behavior. I did this to avoid having to write so much code for the bullet trajectories. I hope you enjoy it. I just ask for feedback from those who use it, and if there are any other options that can be used and how they work. You are the testers.

  • Thanks for the information! ¡Gracias por la información!

    ACTUALICE LA INFO totoe

  • Si, recien llegando a mi hogar, mañana te subo un .capx para que veas lo que puedes hacer.

    COMO INFO SOLO DEBE COPIAR LOS COMPORTAMIENTOS EN LA CARPETA HTML5/BEHAVIOR y reiniciar el C2.

  • [Behavior] Danmaku Suite: El motor definitivo de Bullet Hell para Construct 2 (Spawner, Homing, Wave & Explode)

    ¡Hola a todos! Soy Necronomicrón, y hoy quiero compartir un proyecto que he estado desarrollando y perfeccionando con mucho sudor, café y líneas de código.

    Si alguna vez has intentado crear un verdadero juego Danmaku (Bullet Hell) en Construct 2, sabes la pesadilla que puede llegar a ser. La pantalla se llena de cientos o miles de balas, y los comportamientos (behaviors) estándar empiezan a asfixiarse. Intentas usar múltiples spawners, pero surgen los problemas de "picking" (selección): las acciones aplicadas a un spawner afectan a las balas de otro, la lógica se cruza, y de repente, lo que debería ser un patrón geométrico hermoso e hipnótico se convierte en un caos que destroza el rendimiento.

    Me apasiona el género Danmaku. Desde el clásico Touhou Project hasta DoDonPachi, la belleza de estos juegos radica en sus intrincados patrones de balas y mecánicas precisas. Quería llevar esa misma sensación a Construct 2, pero haciéndolo rápido, optimizado y extremadamente fácil de usar.

    Después de pelear contra la lógica de selección nativa, la gestión de memoria y las caídas de FPS al apilar demasiados comportamientos estándar, decidí construir una solución personalizada desde cero.

    Les presento la Danmaku Suite, un conjunto de comportamientos personalizados diseñados específicamente para manejar la generación masiva de balas y movimientos complejos sin pestañear.

    ¿Qué es la Danmaku Suite?

    Es una colección de comportamientos diseñados para trabajar en equipo. La filosofía central es Independencia y Rendimiento. Cada spawner sabe exactamente qué balas acaba de crear, y pasa esa información a los comportamientos de movimiento a través de un robusto sistema de "Candado de Selección" (aislamiento nativo del SOL).

    Al reemplazar múltiples comportamientos nativos (como Bullet, Sine y Turret) por estos especializados, el motor se ahorra una cantidad brutal de ciclos de CPU.

    Los Componentes:

    1. Danmaku Spawner

    El corazón del sistema. Esto no es solo un disparador; es un generador de patrones.

    La Magia: Maneja nativamente la lista de objetos seleccionados (SOL) de C2. Cuando dispara, solo selecciona las balas recién creadas, entregándoselas de forma segura a la siguiente acción en tu evento.

    Características: Ángulos de dispersión, cantidad de balas, desfase inicial y un "Efecto Espejo" integrado para duplicar patrones simétricamente sin usar eventos extra.

    Control Dinámico: Puedes disparar usando las propiedades estáticas del panel o configurar patrones complejos al vuelo mediante acciones, respetando a la perfección los Image Points de tu nave.

    2. Danmaku Bullet

    El reemplazo definitivo para el comportamiento Bullet nativo. Un motor de movimiento todo-en-uno.

    La Magia: Duerme hasta que una acción lo despierta. Usa un "Candado de Configuración", lo que significa que una vez que su Spawner le da órdenes, ningún otro spawner en el layout podrá alterar sus parámetros.

    Características en UN SOLO comportamiento:

    Velocidad Inicial, Velocidad Máxima, Aceleración y Desaceleración (basadas en Tiempo o Distancia).

    Pausas Cíclicas: Balas que se detienen en el aire, esperan unos segundos y continúan (perfecto para crear muros o laberintos).

    Búsqueda Avanzada (Homing): Fija un objetivo, un radio de búsqueda y velocidad de giro. Solo persigue si el objetivo entra en su rango (¡ideal para minas espaciales!).

    Giro Base: Para crear rotaciones continuas o espirales.

    Rebote en Pantalla: Rebote nativo contra los límites del layout.

    Retroceso/Giros Bruscos: Ej. Balas que giran 180 grados instantáneamente cada 2 segundos.

    3. Danmaku Explode

    Para balas que actúan como semillas o granadas de fragmentación.

    La Magia: Activación independiente. Espera silenciosamente a cumplir una distancia o un tiempo de vida específico, y luego "explota" generando un nuevo patrón de balas hijas.

    Características: Hereda el mismo sistema robusto de candado. Solo defines el modo de detonación, el objeto hijo, la cantidad y la dispersión.

    4. Danmaku Wave (Próximamente / Extra)

    Un modificador que añade un desplazamiento de onda senoidal a la trayectoria de la bala sin alterar ni destruir su vector de avance original.

    ¿Por qué usar esto en lugar de los behaviors de Scirra?

    Cero "Contaminación Cruzada": Puedes tener 10 spawners disparando 10 patrones totalmente distintos usando el mismo sprite de bala, y nunca se robarán las velocidades o ángulos entre ellos.

    Ahorro Masivo de Recursos: En lugar de tener "Bullet + Sine + Eventos personalizados de Homing" ejecutándose en 500 sprites a la vez, tienes un solo bucle de Javascript altamente optimizado haciendo el trabajo sucio.

    Facilidad de Uso: Todo está diseñado para encadenarse limpiamente en tus eventos:

    Acción: DanmakuSpawner -> Disparar Patrón Dinámico

    Acción: DanmakuBullet (justo debajo) -> Configurar Movimiento

    Y listo. El patrón queda sellado y aislado.

    Descarga

    Estoy compartiendo estos archivos .ZIP con la comunidad porque creo que Construct 2 sigue siendo un motor legendario para juegos 2D, y necesitamos herramientas potentes para crear verdaderas experiencias arcade sin volvernos locos con la lógica de eventos.

    https://www.mediafire.com/file/5rq6y4dtxzzs2yg/NECRONOMICRON_behaviors.zip/file

    Espero que esto les ayude a construir el bullet hell de sus sueños. ¡Prueben los plugins y no duden en compartir capturas o GIFs de las locuras que logren crear!

    ¡Feliz programación!

    - Necronomicrón

    Editado:

    Se agrego un demo con algunas cositas que se pueden hacer, solo presiones el 1, 2 o 3 y cambia el tipo de disparo, por tiempo no hice algo mas elaborado :D

    DEMO: https://danmakudemo.netlify.app/

    ARCHIVO: https://www.mediafire.com/file/a2fqv0bcah779e5/DANMAKU_DEMO.capx/file

  • [Behavior] Danmaku Suite: The Ultimate Bullet Hell Engine for Construct 2 (Spawner, Homing, Wave & Explode)

    Hello everyone! I’m Necronomicrón, and today I want to share a project that I’ve been developing and refining with a lot of sweat, coffee, and lines of code.

    If you’ve ever tried to create a true Danmaku (Bullet Hell) game in Construct 2, you know the struggle. The screen fills with hundreds or thousands of bullets, and standard behaviors start to choke. You try to use multiple spawners, but then picking issues arise: actions applied to one spawner affect bullets from another, logic gets crossed, and suddenly, what should be a beautiful, hypnotic geometric pattern turns into a chaotic, performance-heavy mess.

    I love the Danmaku genre. From the classic Touhou Project to DoDonPachi, the beauty of these games lies in their intricate bullet patterns and precise mechanics. I wanted to bring that exact feeling to Construct 2, but making it fast, resource-friendly, and incredibly easy to use.

    After struggling with picking logic, memory management, and performance drops when stacking standard behaviors, I decided to build a custom solution from the ground up.

    I present to you the Danmaku Suite, a set of custom behaviors designed specifically to handle massive bullet generation and complex movements flawlessly.

    What is the Danmaku Suite?

    It’s a collection of behaviors designed to work together perfectly. The core philosophy is Independence and Performance. Each spawner knows exactly which bullets it created, and passes that information to the movement behaviors through a robust picking lock system (SOL isolation).

    By replacing multiple standard behaviors (like native Bullet, Sine, and Turret) with these specialized ones, you save massive amounts of CPU cycles.

    The Components:

    1. Danmaku Spawner

    The heart of the system. This isn't just a shooter; it's a pattern generator.

    The Magic: It natively handles C2's Selected Object List (SOL). When it fires, it only selects the newly created bullets, passing them securely to the next action.

    Features: Spread angles, bullet count, starting offset, and a built-in "Mirror Effect" to duplicate patterns symmetrically without extra events.

    Dynamic Control: You can shoot using predefined properties or configure complex patterns on the fly via actions, respecting Image Points perfectly.

    2. Danmaku Bullet

    The definitive replacement for the native Bullet behavior. It’s an all-in-one movement engine.

    The Magic: It rests until activated by an action. It uses a "Configuration Lock," meaning once a Spawner gives it orders, no other spawner on the screen can interfere with it.

    Features in ONE behavior:

    Initial Speed, Max Speed, Acceleration, and Deceleration (based on Time or Distance).

    Cyclic Pauses: Bullets that stop mid-air, wait, and resume (perfect for complex patterns).

    Advanced Homing: Set a target, a search radius, and turn speed. It only tracks if a target is in range.

    Base Turn: For spiral shots.

    Screen Bouncing: Native layout edge bouncing.

    Recoil/Snap Turns: E.g., bullets that instantly turn 180 degrees every 2 seconds.

    3. Danmaku Explode

    For bullets that act as seeds or fragmentation grenades.

    The Magic: Independent triggering. It waits for a specific distance or time alive, then "explodes" into a new pattern of child bullets.

    Features: Inherits the same robust locking system. You define the distance/time, the child object, the amount, and the spread.

    4. Danmaku Wave (Coming Soon / Bonus)

    A movement modifier that adds a sine wave displacement to the bullet's trajectory without altering its forward momentum angle.

    Why use this over standard C2 behaviors?

    Zero "Cross-Contamination": You can have 10 spawners shooting 10 different patterns using the same bullet sprite, and they will never share incorrect speeds or angles. The picking is handled natively inside the JS.

    Massive Resource Savings: Instead of having "Bullet + Sine + Custom Homing Logic" on 500 sprites, you have one highly optimized JS loop handling it all.

    Ease of Use: Panel properties are minimal. Everything is designed to be chained in actions:

    Action: DanmakuSpawner -> Shoot Dynamic Pattern

    Action: DanmakuBullet (below it) -> Configure Movement

    Done. The pattern is locked and isolated.

    Download

    I'm sharing these .ZIP files with the community because I believe Construct 2 is still a fantastic engine for 2D games, and we need better tools to create true arcade experiences.

    https://www.mediafire.com/file/5rq6y4dtxzzs2yg/NECRONOMICRON_behaviors.zip/file

    I hope this helps you build the bullet hell of your dreams. Let me know what you think, and please share any games or tests you create using these behaviors!

    Happy coding!

    - Necronomicrón

    Edited:

    A demo has been added with a few things you can do. Just press 1, 2, or 3 to change the shot type. I didn't make it more elaborate due to time constraints. :D

    DEMO: https://danmakudemo.netlify.app/

    FILE: https://www.mediafire.com/file/a2fqv0bcah779e5/DANMAKU_DEMO.capx/file

    EDIT 2:

    DONE...

    Now that I have more time, I've updated the demo and the file. It's more polished and organized. I had a small problem with the touch behavior, but I've fixed it. If you need the plugin in English, let me know; I only packaged it in Spanish.

    I created a small multi-device menu (PC or mobile) to test the demo and the bullet behavior. I did this to avoid having to write so much code for the bullet trajectories. I hope you enjoy it. I just ask for feedback from those who use it, and if there are any other options that can be used and how they work. You are the testers.

  • When I restart the layout, sometimes there is a space between sprites, how can I fix this?

    capx: https://www.dropbox.com/scl/fi/0vxafzkjoci5dvlnxmkgq/123.capx?

    Hello, a solution would be that when creating the object and finishing the actions you would use "Set Position to another object" and each object would put an object point in one of its left corners, so when finished it would join the other object. Remember to select the penultimate object with Id-1

  • Hello,

    I have an object, when I click a button, the game applies impulse force J to it.

    I want to predict how it will move (assuming no obstacles, and 0 friction) over time. Ideally a formula like this:

    x(t) = ...

    y(t) = ...

    Currently I found an iterative approach:

    (dtt=0.1, vx0=400, vy0==-500)

    The problem is calculating ay (acceleration in y direction). I couldn't find a formula for it, but I used a hack by calculating the ay of the Ball object (which is moved by the engine), then plugging that value in ay (the value was 500), the method worked, and the created Mark objects resembled the true trajectory of Ball.

    Notice that I set vx0 and vy0 manually instead of using forces and impulses; because I couldn't figure out how the forces work, so I simply applied the ipmulse to the Ball then got those values from the debugger and used them as vx0,vy0!

    The questions are:

    1- Is there a better way?

    2- How to calculate ay given the initial velocities vx,vy? (i.e. before the ball moves)

    3- Any idea how the x(t) and y(t) equations will look like?

    4- Is it possible to use the impulse J, calculate the resultant force F, then calculate vx,vy of that force?

    Thank you!

    Hello, a solution would be to duplicate the object with the same variables and generate the conditions and at the end obtain the final values ​​and carry out the calculation with those values, since they would be the ones that would be obtained when executing the action

  • Look it´s more easy

    iridescent-swan-56ca50.netlify.app

  • Hey folks. I'm looking to add touch functionality to this: nomarbles.krismacqueen.com

    Right now, I can drag with touch, but rotation doesn't seem achievable. I want to mirror the functionality of mouse rotation by using two finger rotation. Any suggestions on how to achieve this?

    Thanks.

    Its very easy

    In the sprite put ZONES or other Invisibles Sprites and use Angle(x1,y1,mouse.x,mouse.y) when use left click and change when the cursor its in sprite use touch.

  • > >

    >

    > use zsorter c2rexplugins.weebly.com/rex_zsorter.html

    >

    > and make a tiny collision polygon, only in the trunk.

    >

    > make zorder work in y coord and every tick or when your player is near to any sprite.

    --That's for construct 2, not 3.

    and?

    the proposite is the same and the result is equal.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Top-down 2d rpg... walking around visiting various buildings on the same level.

    However... i'd like to remain on the same level and simply 'remove' the roof as I walk into the building displaying the interior... then replace the roof on exit.

    Is there a convenient/efficient way to do this?

    Would the roof have to be a sprite on a higher layer? Or can it be somehow done with tiles etc?

    Or even revealed with a mask?

    There would be multiple buildings per level.

    Would love to hear your thoughts, thanks.

    Like this:

    You should use blend modes. Create a Mask sprite - a black circle on a transparent background, you can make it with soft blurred edges if you want. Put the ceiling tilemap and the mask on a separate layer, set Force Own Texture=On on this layer. Set "Destination out" blend mode on the mask sprite. You can pin the mask sprite to your character.

    If you select File-New in Construct, there is an example project demonstrating different blend modes.

  • Thanks for replying...

    I Actually just made a quick demo, but the only way I can get it to work is:

    1.Getting the player to overlap an invisible helper (the size of the roof).

    2. Setting a tileset range to a transparent tile to make the roof tileset are transparent.

    Though this works, I can't find a way to match the co-ordinates of the invisible roof helperto the corresponding tiles x,y.

    I tried roof_helper.X and roof_helper.Y in the Set Tile X, Set Tile Y... but it's not looking for world co-ordinates, but tile co-ordinatess like 4, 8.

    I feel it would work well, but not practical to manually set every roof in the map.

    Any suggestions? Thanks

    look the examples to blends modes, there explain this and is too easy to make.