Proper 3D explosions?

Not favoritedFavorited Favorited 0 favourites
  • 5 posts
From the Asset Store
200+ Unique, Single-Frame Explosion sprites! This is the ultimate explosion sprite bundle!
  • Hi all :) I'm stuck with my game. It's a 3D isometric game similar to Bomberman in some ways.

    I've made it possible for the player to place dynamite, but the explosions are what I'm having trouble with. I'm not sure how to program the effects.

    Some of my ideas so far are:

    - 3D particles that fly into the air in random directions.

    - Screen shake.

    - Brightness around the explosion.

    Anyone else have experience with this sort of thing and can offer tips?

    Here is a video of what it looks like now:

    https://imgur.com/a/wilford-lackluster-explosions-Emp4uEC

  • Hi, that link doesn't work, says content not available in your region (UK)

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Oh - how about now?

  • Ah I managed with vpn

  • I’d say it mostly depends on the look you are going for.

    You probably could get by with a nice explosion animation on a sprite or side of a cube. You’d just need to make it face the camera.

    Making your own particle system with sprites or cubes is an idea too. But you would need to implement the 3d motion yourself. For example here is what it may look like with 3d motion with gravity and simple bouncing on the floor.

    On click
    Repeat 30 times
    — create sprite at (mouse.x, mouse.y)
    — sprite: Set vx to random(-200,200)
    — sprite: Set vy to random(-200,200)
    — sprite: Set vz to random(-200,200)
    
    Every tick
    — sprite: add -300*dt to vx
    — sprite: set x to self.x+self.vx*dt
    — sprite: set y to self.y+self.vy*dt
    — sprite: set zelevation to self.zelevation+self.vz*dt
    
    Sprite: zelevation<0
    Sprite: vz<0
    — sprite: set vz to -self.vz

    But you’ll likely what to do more such and slowing things down on bounce, fading/destroying the sprites eventually or even bouncing off walls. Although collision response is another can of worms.

    You could even make the size/speed change over time to maybe better mimic an explosion.

    Beyond that you could try the full on simulation route. Either Euler or sph fluid simulation could be a base. Then maybe model heat,fuel and oxygen within that. To make it faster you’d simplify from there. Maybe utilize some kind of fast local llm upscaling to get away with lower resolution or lower particle simulations.

    However, I suspect you can get pretty far with some clever artistic simplifications.

    You could also look at explosions in other games and see if you get any ideas from them.

Jump to:
Active Users
There are 0 visitors browsing this topic (0 users and 0 guests)