I know this probably gets asked a ton, but I still haven't found a good answer from the tons of articles/posts on the topics that I have read. I'm really not sure which language to use to start developing games. To start off, I'm obviously going to make some 2D games. There are quite a few options for 2D engines, but I can't decide on which one to use. On top of that, I need a cross-platform option since I strongly prefer to develop/test on a linux machine.
Anyways, here are the languages/libraries I have looked at:
C++/SFML
Pros:
- I use C++ for my classes so developing in C++ could help my academics too
- Getting better at C++ could help my career options
Cons:
- C++ can really suck to debug
- You have to manage a lot of extra stuff in C++
- Compile times
Python/PyGame/Pyglet
Pros:
- Python is a great language and easy to program in
Cons:
- Distributing python programs to windows is tough
- It's difficult to "lock down" python programs and prevent people from having the source
- I really have no idea how to make sure that the distributed game has all the dependencies met
Java
Pros:
- Easy to distribute
- "Enterprise" language that could translate to career skills
Cons:
- I've never programmed in java before
- I'm not sure how the performance is for games (minecraft horror stories)
- I would have to learn Eclipse, which from what I hear is almost mandatory for java
I know that I should just pick whichever one I'm most comfortable with, but I'm not especially comfortable with any of them. And on top of that, I would be happy if I could translate any skills I learn to a career. I would really appreciate any advice.