>>259772
> The programming language will be java, since im trying to learn it on the job
You are better off learning Python or straight up old C.
With Python, you learn the basic syntax and easier to somewhat understand. You don't need any fancy software other than the Python shell since the "language" is a scripting language. Put down Python on a resume and many Data Analytical jobs would be available for you. The only problem is that the graphic libraries for Python are many for 2D bitmaps.
The C programming language is the daddy of all modern programming languages next to Assembly. Once you know C you know everything since the language is a mid-level language that somewhat requires of you to know how your computer works. If you run MacOS or Linux, any type of Unix-like OS, the compiler, GCC, is already backed in. You can literally make a simple Batch file with all the gcc compiler flags and linkers and run make to compile everything. C has many graphic libraries, frameworks, and APIs build with and for the language. SDL2 is very popular and has good documentation, tutorials, and engines made with it since it gives low-level control with high-level commands. However, SDL2 is mainly a 2D bitmap manipulation framework, doing 3D is possible but not advisable unless you want to do a cool tech demo.
> The game: it will be a wacky fps shooter, full of bullshit that i will randomly add to the game. Making an fps in java seems fucking stupid and hard, but i will commit to it because its hard. Hard is good. I also want to add visual novel element, dating different girls, a cool sad edgy story about death suffering love .... maybe some 18+ element for the spice, since i love hentai.
Keep everything simple. This idea of yours is WAY too complex. If you want VA elements, probably test your idea with a small VA in Python. NEET Girl Date Night is a good example of this.
> Hard is good
No it isn't. In fact, its the exact opposite. You don't need to complicate yourself with a language that is overly convoluted to do a simple Hello World. The best languages, or tools, should make a job easier to accomplish. If it takes longer to learn a tool than use the tool, then its not a good tool. This is why I recommend C since its simple enough for anyone to learn and master.
> inb4 muh pointers
The reason pointers are "hard" to understand is because of some idiots not knowing to read the syntax or doesn't know how to organize themselves and write down proper documentation or write a simple comment for later use. Trust me, when programming, COMMENT BEFORE LEAVING. Simple.
> 3D
If you know matrix mathematics and some degree of calculus, then 3D is going to be easy to do. If you don't know either of the two, I suggest you brush up on the math and let yourself practice it. There are free courses on Coursers and the MIT Open Library that teach calculus at your own pace. Matrix math is an essential part of 3D graphics due to how GPUs read 3D space and then convert it into a 2D image to your display. OpenGL might be dead but its a good starting point on learning how 3D graphics work. Vulkan initialization is too complex to understand for someone who hasn't program in 3D yet.
> Story
Again, simplicity. If you thinking of some huge lore to your story, drop it now when you are developing your game. No one really gives two shit about story unless its a VN. Even then, a good story is as good as its characters. As long as the characters are good, then you can put them in any scenario.
> Hentai
For me, just take me to the good stuff and stop the fluff. A good hentai game brings you to the action straight on with little build up.
> I will commit to it
You say that now but as soon as things get complicated, I guarantee you are going to put on the side and forget about it. I have that problem too and it bothers me to no end. If you're really committed, then set a schedule for yourself and make deadlines. Reward yourself once you complete a deadline. Start with a small task and build up from that. One week dedicate to the title, the next week the main character design, and then the next week focus on trying to get a triangle to render. Keep this routine and it would out.
> i cannot stand being a lazy neet anymore
Start up your resume and put your progress on a website like Facebook and opensource your code, not your assets, to Github under the GPL license. Once employers, HR and recruiters really, see your project, they would most likely hire you. If you want to make money on the game, open a Patreon and release it for free on itch.io. People would actually feel compel to donate if they feel the game was enjoyable or at least see potential in it. If you want to expand it, expand it.