Is it okay to kind of come in here and whine a bit?
Definitively...
I can understand how it can feel annoying to learn without obvious benefits. I always try to find (pseudo) reasons to write algorithms when I teach CS, because while a small percentage of my students can love coding because they enjoy the mental gymnastic, most get bored easily if they don't see what it can be used for.
So I look for small games (guess the number, tic-tac-toe), basic information processing, basic cryptography, small math puzzles, etc., anything I can find.
Maybe you should look into websites that allows you to solve problems, such as codewars. Not all problems are great (some are actually bad), but you may enjoy solving more and more of them, alongside learning some algorithmics basics.
If you can stick to a single language, at first, I think it would be better (Python is probably easier). Should you need to know both, you can catch up later with the other.
An important question, though: why are you learning Python and Java for? Have you considered Javascript first, since it may allow to do more things quickly, if you're already fluent in HTML/CSS? Not that I think Javascript is a great first language, but at least, it can help motivation...
Just pick what you want to make and start hacking away until it works. Google when you are stuck. Text RPG is an easy starting place.
Could work, indeed, although the first google searchs may be hard to write... Don't hesitate to post here if you're stuck, in any case.
In the
completely opposite direction, there's also
nand2tetris, which teaches you how to create Tetris from scratch (it's not really about Tetris though). Interesting if you want to learn more about how computers work, although it looks like it gets quite hard later on so it's probably not the best idea unless you're really interested in the subject.
That's interesting... I used to teach algorithmics to young teens (and sometimes their bus driver that couldn't resist trying ^_^) by coding an online Pong. The graphical part and the network communication part was of course totally transparent, but it's interesting when you want to teach variables, loops, conditions (for bounces), etc.
Not my idea, but I've wanted to create an online ressource around a similar idea, most probably for Python (it was a kind of pseudo-code, with some things abstracted, great for introduction, but limiting after that). Tetris seems a great idea. Any other game that you would see promising?