I'm not all as familiar with linux as I used to be, so I might not be the best person to answer this. But you should probably go the OpenGL route. Here's their getting started guide, and there is also a binding for python if you'd prefer to do that. I'm not aware of many game engines that run on Linux per se, but since you probably want to code your own physics it might be better to write it all from the ground up. That's a lot to learn though, so it might just be better to use Wine and see if you can find something that would work with that.
Of course that is completely arbitrary and up to subjective evaluation by anyone at any point, and by no means do I mean to represent my opinion as fact. I apologize.
It's ok! This is a forum, after all. You're allowed to express your opinion. It's just my opinion that if you talk about which language is best for beginners to start with to no end, you'll never stop being a beginner unless you actually start just programming!
I really feel like as a beginner vanilla C is going to be more intuitive and straightforward than trying to learn C++ out the door.
Honestly, I feel if the OP is learning C++, let them learn C++ without telling them they need to learn regular old C. They're both Turing-complete languages, each with pros and cons. I personally find C++ to be more intuitive than C, but if someone is learning C then I'm not going to suggest switching because of my personal taste. (sorry I just feel like discussions of which language is better, especially with C/C++, are totally pointless and especially don't help a beginner)
But if you want to learn to program a game like tic-tac-toe, there are a number of tutorials out on the web, and many books you could get that would help you along. I don't know where your skills are, but try searching around the net for beginner c++ lessons, or checking out your local library for books on programming or c++ if you can't afford to buy one. But like everyone else has been saying, be careful about not copy-pasting, or you won't learn anything! When you do find a tutorial or a book or whatever, play around with the code and see what happens; try and make it better, or try and make it do something different. This way you aren't just copy-pasting, you're actually figuring out what the stuff you're typing in actually does. I hope that helps!
Now I want to start on a big project for my winter break and I wanted to start making a diablo style top down RPG but the engines I have used wouldn't exactly work so any info would be awesome!
What engines have you already tried? In what way would they not work? I'm sure with at least some of them you can somehow kluge it around to get it to work for a top-down rpg.
But I would have to agree with Geraint about Unity if you want to go 3d. But if you're going for 2d (which may or may not be easier), since you already know Python, there's always Pygame. It's not technically an engine, just a set of modules on top of SDL, but it is definitely possible to make a full-fledged rpg with it. Both Unity and Pygame are pretty easy to work with (in my opinion), and have a lot of resources, info, and tutorials out on the Net.
There's also Panda3d. However, I haven't actually used this one before, so I can't tell you if it's decent or not. It has been used in several commercial games (some of which are almost like the top-down rpg thing you're going for). So you might want to give it a try, since it uses Python.
And I didn't think it existed, but google proved me wrong; there is a game engine with PHP as a scripting language, Raydium. I have no idea what it's like or if it will suit your purposes, though. But I guess it's something to check out if PHP is one of your strengths.
While I wouldn't recommend it, Jane McGonigal made a game called SuperBetter to help her through some issues she was going through. The game itself sucks imo, but you might want to try it. If not, I think I can reasonably assume that everyone on this sight loves making games, so you might want to try making something like SuperBetter for yourself. My sister was going through some issues, and we tried superbetter together, we didn't like it so we made our own!
I'm not a therapist or a doctor, obviously, but I know how draining mental illness can be. I guess the point is to not just deal with depression in the background, treat it like a boss battle that you need to take care of NOW.