No es difícil para nada, de hecho lo puedes hacer fácilmente con inputs de tipo radio, pero todo depende
¿Con que lo vas a hacer con php o jquery? Lo de las imágenes se puede hacer únicamente dandole estilos a los labels asociados (background-images) pero sí vas a usar imágenes embebidas el proceso es diferente, aunque con css también, se soluciona.
Lo único que te recomiendo es que debes de ocultar el input así:
Código CSS:
Ver original.soyuninputtiporadio
{
opacity:0;
position: absolute;
clip: path(1px, 1px, 1px, 1px)
}
No uses display: none, para eso. En fin, sí quieres pon una imagen de que piensas hacer o un demo (puede ser en codepen.io) y te sigo ayudando.