gritty

adjective
  1. containing or covered with small particles of sand or stone
  2. showing courage and determination despite difficulties
  3. realistic and uncompromising in depicting harsh or unpleasant aspects of life

Examples