My goal is to be able to program like a complete clone of minecraft but not in a "copy/paste" way.

I want to learn java so i understand everything i write, and so i can do the minecraft clone straight from my head without having to look into other peoples code. I wanna know what to write when I'm about to do something. (ofc there will be some stuff that i accept googling and so like all the matrix stuff and so, i guess).

First off i know this takes time, i do not plan to be able to do this in a week, but maybe in 6-12m ?

I want help on resources on where to start to learning via INTERNET. prefer internet over physical books as much as possible.

I'm not completely new so i dont wanna start at the hello world tutorials, ive been programming PHP on a hobby basis for some years and so, so i understand "coding" or how i should say it.

What i wanna know is,

Do i have to start at 2D programming or can i start directly at 3D programming?Will i have anything useful with me if i start at 2D programming that i wont / will take longer time to learn if i start 3D ?

Any good resources of where i should start ? what should i learn first ? tutorials ?

No offense, but your username is f**ked up.Minecraft was developed for more than 5 years now I think. It was developed by experienced programmers.If you're just starting out, your goal shouldn't be to make minecraft clone. That will just never happen.

You sound excited! My advice is to start with something small that you can complete in a few days. If you've never programmed a game before I'd start by creating a clone of pong or something similar so you can learn the basics. I know it's not exciting, but believe me when you finish your first game you'll be very proud! As you get more experienced you'll want to take on larger projects. Try to take baby steps, making each game you work on slightly more advanced than the last one.

As far as your 2D / 3D question goes I think it just depends on how much math you know. In order to really understand how 3D works you probably need at least a basic understanding of vector math (a linear algebra class would help a lot). If you haven't taken that level of math yet I'd start with 2D then. It's a lot less complicated and you can still create some very fun and engaging games!

No offense, but your username is f**ked up.Minecraft was developed for more than 5 years now I think. It was developed by experienced programmers.If you're just starting out, your goal shouldn't be to make minecraft clone. That will just never happen.

If you're just starting out, your goal shouldn't be to make minecraft clone. That will just never happen.

No offense but this is just very very rude. I'm not one of the guys saying i want this to be done in a week.

I said MAYBE in a year? I also said i wanted to get the experience to do it, not that my only goal with java is to make a complete clone of minecraft, cause that would be pointless.

But telling someone that i will NEVER happen, thats just harsch.

And yet again, i did tell im not COMPLETE NOOB about programming. I do not need help with hello world and explanations about loops and if statements.

What im new too is graphical programming.

I dont know ANYTHING about opengl (this is what lwjgl uses?) and would love if someone could bring me some pointers or good tutorial series on how to learn this as flawless as possible.

Also i wonder about making a game like minecraft. To make a voxelbased world/game, would it be best to use lwjgl or am i going in the complete wrong direction ? Should i be starting somewhere else, or is opengl a good choice ?

Just do whatever you like (as long you dont harm others), there will always be people saying you cant.However you can best watch your comment about opengl before you prove others right.Opengl is the way to go (using java) you can use whatever library that suits you best.

It would be better to worry about how you are going to structure the data and how you are going to cull / render all these blocks.For example you could use oct-trees (my favorite), arrays and lists to store data cpu side.Then there is the problem of sending this data to the gpu.At last you need to filter much as possible of this data so it renders the least amount of blocks possible.

*I see you dont know opengl, well that ruins your whole statement.We have some nice tutorials here, and there are plenty around for the library of your choice. But learning opengl is for the biggest part just trail and error. Making an 3D game will make you give up in less then a few days.

First off i know this takes time, i do not plan to be able to do this in a week, but maybe in 6-12m ?

Rather plan to need between 6 and 12 years to be able to write yet another Minecraft clone and effectively making it. I agree with the previous comments, we aren't rude, just come down to Earth. You're a newbie, start by a very simple project and increase the difficulty step by step. Yes trollwarrior1 is right, it will never happen, there are a very few notable Minecraft clones except Minetest. We are a friendly community, we're going to help you but please target something more realistic if you don't want to get discouraged. In my humble opinion, you should learn the basics of game programming before switching to 3D.

I'll be quite honest with you, a Minecraft clone is not in your immediate future. I've been learning OpenGL coming on 2 years now and I still have yet to finish one. I have a YouTube series where I teach you how to make a voxel engine. I do know a decent amount about how to make one, especially the theory, but its very difficult to implement everything. Don't expect this to be something you do this year. Especially if you have yet to learn much Java.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org