Do you like homing missiles? Of course you do!
Well, you may actually not, but for multiple genres of games these can add that bit of needed difficulty.
If you don't know how these work, here's an animated preview -
A homing missile is a type of missile that can alter its direction mid-flight to hit a (normally) moving target. You could probably read more about these on Wikipedia if you wanted.
In 2d games homing missile behaviour is mostly about gradually rotating from current angle to destination angle, which is demonstrated in this example.
Apart of actual missiles there's a similarly gradually rotating missile/rocket launcher, a wall drawing/erasing system (for sake of demonstration), and small "shards" appearing and bouncing around if a missile is to hit a wall instead of target.
Also there are some graphics in style of my earlier games.
Guess you could call this "pretty cool".
Update: deployment instructions:
- Add obj_launcher, obj_rocket, obj_shard to your source. obj_shard only needed for rocket explosions - if you're going to make your own, you can omit adding that and remove relevant code from "obj_rocket:collision with obj_wall" event).
- Change occurrences of obj_target in obj_rocket and obj_launcher to name if your desired target object (for most platformer games this is probably your player object). If you have multiple target objects in room, you may need to add target determination code (such as instance_nearest(x, y, obj_player)) there.
- Tweak parameters (third parameter in angle_rotate calls and speed modifiers in obj_rocket) to suit your game mechanics.