If it's top-down you could simply use the line x,y,x2,y2,color command to make your lasers. Line is a 2D command, but there's a plugin for 3D lines that would work great if you have areas that would obscure part of the ray.
http://forum.thegamecreators.com/?m=forum_view&t=69221&b=5
As far as the explosions, I would use an animated sprite since the distance from camera to target is constant. Or use an animated billboard just above the target.
If you are doing a pure top-down, then ray casting may not be needed. Pure top-down's a 2D in nature and would not need to have meshes, just animated sprites. You can use a dummy sprite off screen to see if it hits a wall or a zombie. When you shoot, make a sprite with size 1,1 and loop as the sprite goes accross the screen. Test for collision with each obstacle and zombie sprite until it runs into something or goes off screen. When it hits/goes off screen, record the sprite location, then when you render, render the line command from your gun to the recorded location. That's if you want to make it in 2D.
The fastest code is the code never written.