Hi folks. I'm trying to think of the best way to create a sandstorm in MMF2. I've no experience with ink/particle effects etc and am a bit of a noob at programming in MMF2 in general, so I'm not sure what I should be doing to achieve this.
Heres a screenshot of my project at the moment:
I was thinking it might be an idea to ask in a pixel art forum, but figured there might be an easier way to program an effect, rather than try to draw it. (I'd have no idea how to draw a sandstorm!)
SolarB, I've tried recreating your sandstorm effect in my game and I just can't get it to behave properly at all. I've not experimented with random values and wind force before but I just seem to be getting a clump of sand particles in a line with a bit of slow down in DirectX,Direct3D 9 removes the slow down but I was hoping you could maybe go into a bit of detail about what the events and actions are actually doing? Or if you know where I may have gone wrong?
Sorry again that's it's taken me a while to get back here!
I don't quite know where you're stuck so I'll run you through the events.
1. Every frame the loop is run creating 50 particles.
2. The particle is created and positioned top-right of the frame
- There are 3 frames with different colours that are randomly set
- Wind force is an alt, speed and gravity attributes of the pinball movement
3. To make it move left, I've set the xpos of the particle to always move left 'wind force' amount of pixels (every pixel has a random wind force set by the previous event)
4 & 5. To make sure any particles off screen are destroyed, I destroy them whenever they exit/are too far right of the frame.
That's it really, you probably figured most of that out anyway. The pinball movement does most of the hard work. In fact, it's possible you haven't set the active's movement to 'pinball' in the frame editor (which may explain the lack of gravity etc.)
Also there are thousands of particles in the frame, which will definitely cause slow-down. Be sure to set your object count to > 5000. I'm not sure of any other way to do this with less actives
Hope you can get it to work, if you have any other issues let me know