Detección de colisiones con formas complejas.

Estoy deseando hacer un juego que tenga cada nivel cargado desde una imagen. Quiero dibujar todo el nivel en Photoshop, y luego configurarlo como fondo y permitir que el jugador camine sobre él. Quiero que otra imagen invisible pase por encima, que será negra en todos los lugares con los que quiero colisionar.

La razón por la que no quiero usar mosaicos, que son mucho más fáciles con la colisión de rectángulos, es porque habrá esquinas complejas y no todo será rectangular.

¿Es esta una buena idea, y es posible hacerlo fácilmente? ¿Sería esto una gran cantidad de CPU o hay una mejor manera de hacerlo?

Imagen de nivel

Obstáculos mostrados en rojo

Respuestas a la pregunta(1)

Su respuesta a la pregunta