I've got an old family recipe which is really old. Early 20th century I think. You can even veganise it too!
It is quite simple.
1 can evaporated milk ( use coconut cream for vegan version )
1 - 1 1/2lb demara sugar
3 oz butter ( use suitable non-hydrogenated marg or light oil for vegan version )
flavourings - eg vanilla, coco powder + peppermint essence etc.
Put the milk, sugar & butter in a big pot. Heat gently, stirring all the time until the sugar melts. Turn the heat up a bit so it is boiling. Let simmer, stirring quite a bit to prevent burning for approx 20 mins. The fudge should start to get all gloppy & boil like volcano larva. Put a bit into a cup of cold water. If a soft ball forms easily it is ready. Try to test slightly before this as you do not want to overdo it & get toffee.
When it is done, take off the heat & beat with a wooden spoon, electric beater or whatever comes to hand. The idea is to beat it until it leaves behind a trail ( like making meringue ). About half way to this stage & when it has cooled a bit, add the flavourings ( eg vanilla essence ). If you want to make something like chocolate chip fudge, I'd recommend waiting until it is all beaten up & then fold the choccie chips in then so they don't melt too much.
Pour into a greased dish to set. When almost set mark into squares.
If it doesn't set properly it's coz you've not cooked it enuf or beaten it enuf. To remedy this, I usually put it back in the pot, reheat it gently until boiling & give it another 5 mins or so & then redo the beating process.
If it's too hard, it's coz you've over cooked it. Not a lot you can do then other than pretend you've made toffee