my advice is: focus on yourself...take a break
don't overwhelm yourself and don't do something that you're getting bored of.If you have no ideas/inspiration or motivation, then there's no point in pushing yourself and burning yourself out further than what you already have.It's good that you try to help others out and that you care about other's problems, but don't try and help people out too much, for you need to worry about your mental health as well, and you're not a psychologist, but there's nothing wrong with helping others, and even they need breaks every now & then
if your mom is passing, then take a break from programming and focus on your family and more importantly, her, especially if she's on her deathbed...your mom is more valuable than any game you may program.just like nefty said, making daily goals does help out a ton.lately I've been focusing on that myself and just looking ahead and trying to stay productive going for goals and small things and its helped by far to motivate me even further and to sorta help me manage time better, which is crucial for a busy agenda
as far as Craig wanting an expert at c# and you trying to be that person, my advice is:stop worrying about trying to be the person....the reason i say that is because the time that it'll take you to try and get to the level he would need someone to be at,as much as you're learning c# now, it'll take you a while(1-2+ years),and I'm not saying you don't have the potential to become an expert at c#,but with you getting bummed out or trying to go for that(if you still are) then you'll spend more time trying to go for that to where by the time you get to the level he'd need you to be at, there would probably be better or bigger things to go after or worry about or all of the time you could've had to go for other things would've been wasted or gone trying to be a coder for craig
by all means I'm not saying you shouldn't go for it, a lot it's your decision...but personally id say there's going toa lot more or better opportunity/is out there you could go for or achieve if you don't put all of your focus on trying to learn c# just for Craig(i assume he plays a big role in why you switched your focus on c#)
do as you want but that's my opinion
also,another advice I'd give you is:if programming is burning you out and you're not having fun in life anymore or want some change,then personally,as weird as this sounds, I would suggest looking into other career fields or just see what's out there, for there might be something else you might find interest in; also, try looking into some college courses..Yes you can look and learn stuff online,but there's only so much you can learn or do so fast, it where if likeI said before, you're trying to get to the level of programming that Craig would need, then you'll need to take some actual classes...maybe take some classes and go for a degree
take a break, and if you're getting bored of something as a hobby, then take a break from it and come back to it later. id take a break for now,especially during the holidays and with your mom having issues...take care of all the things bothering you or dragging you down,to where once you get them out of the way or finish them, then your mind will be more relaxed and stress free,to where you'll be able to focus on your goals a lot more/better