I do not know what niche in the programming world I want to fill
What do you enjoy doing?
If you honestly don't know, I'd go to a library and get a book called "What Color is your Parachute?", and look up the chapters on the flower diagram. The exercise takes about a week if you intend to give it an honest effort, but the results are profoundly personal.
You might be saying "I want to program". But what do you want to program? Obviously you have an interest in games or you would have chosen a different forum. Do you have an interest in other fields? Law industry software programmer, insurance industry software programmer, financial industry software programmer, every industry has a different type of environment, different customs, different jargon, different requirements, different ideas. What do you enjoy?
Go read the Parachute book and do the exercise. Right now you have written that you cannot find your passions. Hopefully working through those exercises will help you discover what you are passionate about, where your personal path to happiness leads.
if anyone has suggestions, or brief layouts of the different niches in the programming world ... It's a decision they need to make on their own.
All programmers rely on similar tools to develop software. At the core is algorithms and data structures, and these are common in all languages. Secondary to that is languages. After that is tools and other technologies.
The basics of algorithms and data structures should be pounded into your head in school. The concepts are portable for every field and every language. Various topics within algorithms and structures should be taught every year of your education, and even after four years it is still just a basic introduction.
You mention a community college. Depending on your desired industry and desired role within the industry, it may not be enough; a bachelors degree in computer science is usually the HR requirement for programmers. An associates degree is usually too short to cover the necessary topics in the field.
As for languages, you will end up learning multiple languages. A programmer who doesn't learn many languages is not very valuable. While the school may teach you the basics of programming in Java, you will discover they aren't really teaching all of Java. They are teaching the bits and pieces they use and the parts that help them communicate the goals of the course.
If you decide to go into business programming, there is a good chance SQL will be a major language instead of a minor one, so probably Java, C++, SQL, and whatever others interest you.
After you are done with school, try to learn at least one language or technology every year. It doesn't have to be fully mastered, just conversant. This will help you in your career as things change, you can have a feel for the new technologies instead of suddenly realizing at age 40 that your skills are 20 years out of date.
Finally, college is generally for learning, not for job training. When people finish their education they will generally know enough that they can be trained in the workplace without too much difficulty. Generally the years of education give enough background that graduates can understand the discussions and muddle their way through the job, but they are still beginners in the field. It takes years to advance from entry level developer to mastery.