edit object- add object actuator , set to local ,to instance a projectile that lasts a limited amount of time and has a property assigned to it, so it can affect other objects the right way(see health bar tutorials). you can put the projectile on a separate layer if you want to.
add some planes with alpha for the gunfire/smoke coming out of the barrel
In real life there are no real bullets, as they are invisible to the human eye.
It’'s your call, depending on the type of game you want to create.
For a FPS game which does not require the player to see the bullets (machine gun vs missile) you should use a ray instead of bullets to determine what gets hit when you shoot stuff.
The principle:
The gun (or an empty) projects a ray forward. If the ray sensor is positive and the trigger sensor is positive (your shot hit something), then “gun response” stuff happens. This means creating bullet holes, moving objects, and killing bad guys.