How to mimic ef_smoke particle system

J

jpreed00

Guest
I'm looking to recreate the same system generated by the ef_smoke constant. What are the settings used by the particle system to achieve this effect?

Thanks!
 
A

Aura

Guest
Welcome to the GMC!

ef_smoke is a built-in particle effect, so nobody except the YoYo developers knows the exact properties. But you try out particle types to create a similar effect.
 
J

jpreed00

Guest
And it's so super-secret that they won't share those details with us? Surely someone out there has recreated the effect.
 
T

tafkatfos

Guest
Play about with the settings, then you can see what they do. Here's an example though, don't know it works as you want however.

Code:
smoke = part_type_create();
part_type_shape(smoke, pt_shape_smoke);
part_type_size(smoke, 1, 2, 0, 0);
part_type_color1(smoke, c_gray);
part_type_alpha2(smoke, 0.06, 0.08);
part_type_speed(smoke, 0, 0.01, -0.10, 0);
part_type_direction(smoke, 0, 359, 0.1, 20);
part_type_orientation(smoke, 0, 0, 0, 0, 1);
part_type_blend(smoke, 0);
part_type_life(smoke, 30, 60);
You will need create the particle and set the emitter as well as destroying it.

Here's a link to a useful tech blog on them https://www.yoyogames.com/blog/50

The reference guide (F1) also has a massive section on it http://docs.yoyogames.com/source/dadiospice/002_reference/particles/index.html
 
J

jpreed00

Guest
This is the closest I've been able to get it:

partSystem = part_system_create();
part_system_depth(partSystem, 0);

partParticle = part_type_create();
part_type_shape(partParticle, pt_shape_smoke);
part_type_scale(partParticle,0.05,0.05);
part_type_size(partParticle,8,8,-0.10,-2);
part_type_life(partParticle,35,45);
//part_type_alpha2(partParticle, .5, 0);
part_type_alpha3(partParticle, 1, .4, 0);
part_type_orientation(partParticle,0,359,0,0,0);

step: part_particles_create_colour(partSystem, x, y, partParticle, c_gray, 1);

The problem is in the tail of the effect, the ef_smoke effect has a "whispyness" about it that I can't seem to recreate.
 

RangerX

Member
Pardon me the question but... why not use ef_smoke if you need something that is exactly the same??
 
J

jpreed00

Guest
Need more precise control over the size of the particles. The ef_smoke settings don't allow for enough variation. If you could specify more than 3 different sizes or somehow scale the resultant particle, then ef_smoke would work just fine for me. But you can't...so it doesn't.
 

RangerX

Member
So how about you make smoke sprite and have it in an object that you would spawn and have it behave precisely like you want it to? Its a bit more job but it sure is convenient if you like to control all you do.
I do that for smoke and water effects in my game.

 
J

jpreed00

Guest
That's really the point. I don't know how to make it behave like the ef_smoke effect -- which is what I want it to do. If you look at one of my previous posts, I shared the code for the current particle system I'm running that is almost, but not quite, like the ef_smoke effect. So I figured I'd post in case someone knew what I was missing.
 
Top