I have experience implementing basic collision detection using bounding box collision with the help of the rectangle objects from the Java API.
The bounding box collision is fine for objects like rectangle shaped objects(ie: rows of bricks in a game). But things got more complex when I start adding objects that are not shaped like a rectangle (ie: a circle or even more complex object: a bird).
Seeing as my game uses images to depict non-rectangular shaped creatures, bounding boxes will not look right on these creatures. With bounding box collision detection, there will be a situation like the one below when an intersection will happen between both rectangles(the monster bounded by a rectangular collision box and a laser projectile also bounded by a rectangular collision box. From a visual standpoint, it is a game immersion breaking problem.
What type of programming techniques or perhaps I need to learn or apply some new math concepts for this problem?