There is a regular influx of Klik games going through Daily Click every day. Most of these games have average or below average graphics, but this does not always concern Sprites or Backgrounds. One thing that is often lacking from a games presentation is 'Special effects'.

**** Bullets and Lasers ****
This is one area that is simple to add effective effects (heh heh) and is very commonly not done so.

- Trail Effect
Draw the bullet. Then make a new active object from the bullet and goto Object preferences and change it's transparency to 50%. Then make an event : Bullet is in Playfield = Create Transparent bullet at (0,0). Then make an event : Transparent bullet Animation stopped has finished = Destroy. Make the transparent bullets stopped animation longer for a longer trail.

- Invisible Bullet Effect
This is a simple one. Draw the bullet's walking/running (depending on the speed it is shot at) animation (doesn't matter what it looks like) and then draw a small explosion animation in it's Destroying animation. Then make events : When Animation stopped is playing = Make invisible.
Collides with BKGD = Destroy + Make Visible.

- Spark Collision Effect
Create an object much like this one -
http://user.domaindlx.com/Ashman/Articles/spark.gif
And set it to 50% transparent. Then the event :
When bullet collides with BKGD = Shoot 4 sparks at directions 4, 12, 20 and 24.
Also the event : When Animation as finished destroy. Once again, make a longer animation for a longer effect.

Please Note that with TGF (I'm unsure about MMF I have not had a chance to test it) if you are shooting something and then try detect a STOPPED animation it will not do at as it is moving and should be doing the Walking/Running animation even if you have not made one. For detecting animations
Stopped/Speed = 0 use the Stopped animation.
Speed = 0> <50 use Walking animation
Speed = 50 or greater use Running animation.

- Recoil Effect (Platform Movement only)
An effect similar to this was used in my game Yeah Guys Ultra. When the bullet is shot, the character flies back a small way. Some people liked this, some people didn't. Those who did, pay close attention. X represents the shoot key and also the following does not include the bullet itself events :
Upon pressing X key + Character Dir is right = Set Character Alt value A to 5.
Upon pressing X key + Character Dir is left = Set Character Alt value A to -5.
Alt value A greater than 0 = Set Character X to Character + Alt value A + Subtract 1 from Alt Value A.
Alt value A less than 0 = Set Character X to Character + Alt value A + Add 1 from Alt Value A.
Obviously some alterations will need to be made to this code if you intend to use Custom Platform movement.

**** Explosions, Earthquakes and Environment ****
Most games that have bombs have one explosion object and no effect to the surrounding land. This section deals with that and more.

- Multiple Blast Effect
If an explosive is being used in a game, a Destroying animation for the explosion will not be satisfactory for a truly professional game. Use an explosion similar to this one -
http://user.domaindlx.com/Ashman/Articles/explosion.gif
Then put in the events :
(EVENT OF BOMB EXPLODING) = Set Bomb Invisible + Set Bomb Alt Value A to 1.
Bomb Alt Value A is 1 = Add 1 to C
Bomb Alt Value C is 10 = Create Explosion (somewhere around Bomb, Try and alternate) + Play Boom sound
Bomb Alt Value C is 20 = Create Explosion (somewhere around Bomb, Try and alternate) + Play Boom sound
Bomb Alt Value C is 30 = Create Explosion (somewhere around Bomb, Try and alternate) + Play Boom sound
Bomb Alt Value C is 40 = Create Explosion (somewhere around Bomb, Try and alternate) + Play Boom sound
Bomb Alt Value C is 50 = Create Explosion (somewhere around Bomb, Try and alternate) + Play Boom sound
Bomb Alt Value C is 60 = Create Explosion (somewhere around Bomb, Try and alternate) + Play Boom sound
Bomb Alt Value C is 70 = Create Explosion (somewhere around Bomb, Try and alternate) + Play Boom sound + Destroy Bomb
Explosion Animation Stopped Finished = Destroy Explosion

- Earthquake Effect
This is a fairly simple thing to do but there is one small glitch which is a pain to rectify but it is possible. Firstly, it must be a scrolling game.
First create an object called Scroll Dot.

Always = Set Scroll Dot position to Character + Scroll at (0,0) of Scroll Dot + Make Scroll Dot invisible

(EVENT SIGNIFYING EARTHQUAKE TIME I RECOMMEND A COUNTER VALUE GOING DOWN) = Set X of Scroll Dot to Scroll Dot X -10 + random(20) + Set Y of Scroll Dot to Scroll Dot Y -10 + random(20)

This will send the scroll dot shaking like mad but at the end it will return to it's correct spot thanks to the ALWAYS event.

GLITCH : If you are near the edge of the playfield it may not earthquake as it has no where to scroll to. The best way to fix this is to design the background in the level to prevent the character being able to reach the side.

**** Sprite Special Effects ****
Want that sprite to look cooler, act cooler and BE cooler. Well lets have a look at what we need in the effects department.

- Abnormal Speed Effect
Ever made a game where you could acquire an item that temporarily made you go faster? Did it look dull? Well this simple method should liven it up.

Make a double of the sprite that will have it's speed increased. Then (once again) set it's transparency to 50%. Then :

(EVENT THAT SHOWS THAT SPEED INCREASED STATE IS ON I RECOMMEND A FLAG OR ALT VALUE) = Create Transparent sprite at (0,0) of main sprite + Set Transparent Sprite direction to Sprite Direction.

Transparent Sprite Stopped Animation is over = Destroy Transparent Sprite

- Super/Hyper Mode Effect
This section will enable you to make an effective Super mode effect for your sprite.
http://user.domaindlx.com/Ashman/Articles/super_yeah.gif
Create a copy of your sprite and set it's transparency to 50%. Then goto it's animation editor and colour all the animation frames yellow or white (or both if you wish to have it flash like the example .gif). This may take a while with large animations so be patient. Try to make certain animations obsolete whilst in super mode (such as a Hurt animation). This will help limit the amount of recolouring required.

Events then are : (please note that these events are for the effect only and do not include the events for invincibilty)

(EVENT SIGNIFYING THE ACTIVATION OF SUPER MODE) = Set Super-Sprite position to Main sprite (0,0) + Set Super-Sprite direction to Main sprite + Set Super-Sprite Animation to Main Sprite Animation.

This will be much more effective with Custom movement as you will be able to rectify the Glow/Super-sprite movement delay that may occur with Normal default movement. If custom movement is used :

(EVENT SIGNIFYING THE ACTIVATION OF SUPER MODE) + Repeat whilst pressing right (or whatever your Custom movement code might be) = Set Sprite X to Sprite X + 3 + Set Super-Sprite X to Super-Sprite X + 3.

Repeat for all directions. This will keep the glow ALWAYS on top of the sprite, whereas if the Default movement is too fast, it will lag.

**** Pain, Blood and Momentum ****
Pain is glory. But often in klik games, injuries do not look terribly glorious. Heres the solution.

- Blood Spirting Effect
Create a small 5x5 pixel blood drop....it's too small to bother with details, just a few red pixels will do just don't do it square.
(ATTACK EVENT eg :Bullet collision, punch etc) = Create about 10 drops of blood in the middle of sprite.
Blood Drop Alt value B is 0 = Set Blood Drop Alt value A to (-20 + random(40)) + Set Blood Drop Alt value B to 1
Blood Drop Alt value B is 1 = (Set Blood Drop X to Blood Drop X + Blood Drop Alt Value A) + Subtract 1 from Blood Drop alt value A + Set Blood drop Y to Blood Drop Y + 4.

This will create a random strengthed and directioned blood spirting.

- Momentum of Attack Effect (Platform games only)
This is quite a good effect and should be used alot, but is not terribly effective with Default movement and is much more adaptable with Custom Platform movement. If you are using C.P.M. you should easily be able to modify the code. Some people may want more fly back, more height, no height and you will easily be able to change the values given.
(ATTACK EVENT eg :Bullet collision, punch etc) + Direction of 'Attack' is Right = Set Sprite Alt value A to 1, And Alt value B to 10. + Alt value C to 10.
(ATTACK EVENT eg :Bullet collision, punch etc) + Direction of 'Attack' is Left = Set Sprite Alt value A to 1, And Alt value B to 10. + Alt value C to -10.
Alt Value A is 1 = Set Sprite Y to Sprite Y - Alt value B, Minus 1 from alt value B, Set Sprite X to Sprite X + Value C, minus 1 from alt value C.

All Graphics are property of Ashman/Clickplanet and are not to be used without expressed permission. Please abide by this. Thank you for reading.