Bullet effects... need some ideas/help...
by Adam Spragg · in Torque Game Builder · 01/03/2007 (11:42 am) · 6 replies
Hi all...
I'm making a top-down shooter type game, kind of like the original arcade game Gauntlet. So far, it's going pretty well, but I'm hoping someone can provide me with some inspiration here.
The user is moving a character around using the keyboard, and aiming at bad guys by using the mouse to move a targeting crosshair around the screen and clicking. Rather than creating and animating any sort of projectile, I figured the bullet is reaching it's target instantly. Since it's tied to the mouse, wherever the user clicked is where the bullet hits (taking line of sight into account, of course, as well as adding in some random "accuracy error"...)
The problem: It doesn't *feel* like anything is happening. I click on the bad guy and he dies. I feel that there needs to be some sort of *visual* connection between the MainCharacter and the Enemy so that it doesn't just feel like the User is just randomly clicking on bad guys (like some sort of Whack-a-Mole game...) Hope that makes some sense... it's kind of a subtle point.
Options:
1) Create some sort of bullet-tracer effect. Any ideas on how this could be done (without access to the C++ source)? I'm thinking some sort of single particle effect that somehow makes a line between player and enemy and fades out quickly.
2) Use a very fast projectile. I hesitate with this, since I'm worried about how collisions work with a fast-moving projectile. Is it possible that if it were moving quickly, that it could just skip right over the (relatively small) enemy? Or do collisions of relatively high-speed objects still work ok? (I suppose I should just try it and see)
3) Something else I'm not thinking of?
Thanks for any tips or suggestions!
Adman
I'm making a top-down shooter type game, kind of like the original arcade game Gauntlet. So far, it's going pretty well, but I'm hoping someone can provide me with some inspiration here.
The user is moving a character around using the keyboard, and aiming at bad guys by using the mouse to move a targeting crosshair around the screen and clicking. Rather than creating and animating any sort of projectile, I figured the bullet is reaching it's target instantly. Since it's tied to the mouse, wherever the user clicked is where the bullet hits (taking line of sight into account, of course, as well as adding in some random "accuracy error"...)
The problem: It doesn't *feel* like anything is happening. I click on the bad guy and he dies. I feel that there needs to be some sort of *visual* connection between the MainCharacter and the Enemy so that it doesn't just feel like the User is just randomly clicking on bad guys (like some sort of Whack-a-Mole game...) Hope that makes some sense... it's kind of a subtle point.
Options:
1) Create some sort of bullet-tracer effect. Any ideas on how this could be done (without access to the C++ source)? I'm thinking some sort of single particle effect that somehow makes a line between player and enemy and fades out quickly.
2) Use a very fast projectile. I hesitate with this, since I'm worried about how collisions work with a fast-moving projectile. Is it possible that if it were moving quickly, that it could just skip right over the (relatively small) enemy? Or do collisions of relatively high-speed objects still work ok? (I suppose I should just try it and see)
3) Something else I'm not thinking of?
Thanks for any tips or suggestions!
Adman
#2
I can see how that would work well for straight horizontal or vertical shots, but what about arbitrary diagonals...?
I've done something similar in DirectX, where I could draw arbitrary gradient lines... but I don't know how to do this in Torque...
Adman
01/03/2007 (12:36 pm)
Thanks for your suggestion! I am planning on taking whatever solution I come up with and using it for a shotgun (multiple shots at once) and machine gun (single shots in rapid succession). I can see how that would work well for straight horizontal or vertical shots, but what about arbitrary diagonals...?
I've done something similar in DirectX, where I could draw arbitrary gradient lines... but I don't know how to do this in Torque...
Adman
#3
Ah, I'm thinking you may have misunderstood me when I said "stretch this". Basically the stretching is only on one axis (along the line of animation), with the entire animated sprite rotated according to the direction of fire.
01/03/2007 (4:48 pm)
The prototype I was working on dealt with completely arbitrary angles for the shots (like yourself, I was using a mouse-aim system).Ah, I'm thinking you may have misunderstood me when I said "stretch this". Basically the stretching is only on one axis (along the line of animation), with the entire animated sprite rotated according to the direction of fire.
#4
How do you stretch along just one axis...?
OHHHHH....! (That flash of light you just noticed was the lightbulb above my head turning on!)
You take a small image. You stretch it either vertically OR horizontally (not both) to get a line. Then you rotate the line as needed to get it to point between the player and enemy.
I thought you were somehow stretching the small image DIAGONALLY, which threw me for a loop.
Brilliant. I'll give it a shot. Thanks!
Adman
01/03/2007 (6:42 pm)
You're right... I'm confused about the stretching. I think I understand the concept, but I don't know how to do it using Torque.How do you stretch along just one axis...?
OHHHHH....! (That flash of light you just noticed was the lightbulb above my head turning on!)
You take a small image. You stretch it either vertically OR horizontally (not both) to get a line. Then you rotate the line as needed to get it to point between the player and enemy.
I thought you were somehow stretching the small image DIAGONALLY, which threw me for a loop.
Brilliant. I'll give it a shot. Thanks!
Adman
#5
Cheers!
--clint
01/04/2007 (6:37 pm)
In case you like the idea of a particle effect, you could also create a shockwave sort of particle effect emitting on a line, and stretch it / rotate it just like the animated graphic.Cheers!
--clint
#6
01/05/2007 (2:09 pm)
Good "ammo" for thought... thanks all! :)
Torque Owner Teck Lee Tan