-
IWBTG - Death effect
Someone have any idea about how the death effect from "I wanna be the guy" is made? I talked to the creator ages ago, and it was him that told me about this program. Now that I know slightly more of how this works, I would love the idea of seeing how its made :) The death effect is that after you get hit by an enemy, you "splat" into like 100 small red pixel squares that shoots away from your body in every direction. Here is a video link to an example:
http://www.youtube.com/watch?v=S3uj5dBE6Yc
Just wait about 38-39 sec, and you will see the big guy (Dracula or something) throwing his glass at the little guy next to him on the floor.
Tips? :))
-
Re: IWBTG - Death effect
Nice to know that that's bringing a couple of people into the community :) I never went back to it after completing the Zangief boss.
It looks to me like it was done by setting up a fastloop to generate a lot of particles at once - it would look something like this:
When [Glass or Moon or Spike or just about anything in the game at all] collides with Player:
+ Start loop 'splat' (this is in the Special object, the first one on the event editor's list) 100 times
+ Destroy player
On loop 'splat'
+ Create 'particle' at (0, 0) from Player
+ Give 'particle' a random movement direction and speed to start off
The particles would then be free to just move on their own (under Bouncing Ball movement or Pinball movement or anything like that) - you'd have to tweak it to get the same effect, but that's the basics of it.
You'd probably want to set up some sort of event that destroys the particles eventually, too.
-
Re: IWBTG - Death effect
Hi, I guess it's just a really simple calculation.
Have two alterables, say, VelX and VelY.
Create 100 of them using a fast loop, then set VelX and VelY to (random(100)-random(100))/20.0
This would set them to a random number from -5 to 5.
Now, you just need to add gravity and update the position.
In this example, the gravity is physically incorrect but it works out anyway.
Always
Add 0.5 to YVel
Set X position to X("Active")+VelX("Active")
Set Y position to Y("Active")+VelY("Active")
Also, the game's death effect is really poor in my opinion.
What I dislike the most about it that it creates blood particles with no X velocity. This could happen in our formula as well.
Try something like this.
(1+random(80)/20.0)*(random(2)*2-1)
The first part would generate a number from 1 to 5. The second part generates either -1 or 1.
As you can see, this formula excludes low values between -1 and 1.
Another problem is that MMF stores X and Y positions as integers.
As an extension developer you should know: if you set an integer to a float, the decimal digits will be cut off. 5.7 gets 5.
This leads to inaccuracy in our velocity values.
There's a simple workaround:
Use alterables for the position.
Call them FloatX and FloatY or something like that.
When the objects are created, set FloatX to the X position and FloatY to Y.
Replace the "Set X/Y position" events by "Set FloatX/Y".
After that, just set the X position to FloatX and the Y position to FloatY.
For collisions, I guess you can just stop moving the particles when they hit something.
Collides with background -> set flag 0 on
And make it that the particle only moves if flag 0 is off.
I also recommend using HWA because it's much more suitable for many actives on the screen.
EDIT: Haha DavidN, nice addition! I didn't talk about how to implement loops. :D
-
Re: IWBTG - Death effect
I think we complemented each other quite well :)
-
Re: IWBTG - Death effect
Yay heres a way or two :) Im gonna check how it works, and tell when Im done or if any troubles appears :D Thanks a lot so far :)
-
Re: IWBTG - Death effect
I think Im gonna start with David's since it looks a lot quicker and easier :p Even tho Looki's could be just as good or better, I will test unless Im satisfied with the "easy-mode" :)
Anyway, I still got a problem :p I have never really seen this "create new 'particle'" part. Where do I find this particle thing?
EDIT: Oh, maybe I just are a little stupid. This particle is the stuff I want to splat? So I just create an own particle? :p
-
Re: IWBTG - Death effect
Yes, create your own! It can just be an active object.
You would have to use both ways eventually (use a loop to create the objects and then move them like Looki described) but that should give you something working, at least.
-
Re: IWBTG - Death effect
Yea I got it to work, sort of :p But here is a real question! The splat particles should have some kind of gravity, they shoot up a little first, and then falls down. Got an idea about that?
EDIT: heh, again I should try on my own before asking. The Pinball works :p I have one more question, but Im gonna wait a little before asking :P
-
Re: IWBTG - Death effect
OH! Sorry! I read your name as FVivolo which is an extension developer in this forum! I assumed you would be him, he has been using MMF for years. :blush:
-
Re: IWBTG - Death effect
Hehe no worries :) I could still use some help tho :O
I get the idea of David's now, and I will keep it in mind :) But it looks a little... Uhm.. Well, lets say I need more random splating in it. (Its probably a little option that makes that happen that I dont know about, but now, it splats in a nice circle :p
Im gonna try the Looki-mode just to compare, even tho I will probably need help in a few steps :p Ill start and check how it goes :D