Question.So,(For the past month) I've been running around in this huge world of Java trying to find the starting point for building a 3d engine. Every time I think I've found it, the tutorials start talking about something they never taught me, so I continue my search for the beginning. I understood from the beginning that building a 3d engine is no easy task, and I boarder on the edge of stupidity for asking this kind of question.And I now understand that the java language is a huge world all in it's own.

But can anyone throw me a link to that special place where it explains the most basic of things? Like... a wiki for words. Something to tell me everything there is to know about the word "Method" or "class" or "Syntax"The problem I am running into (I think) is that I am not finding a place to teach me the very most basic stuff. The meanings of key words. The way the computer is seeing the code. The reason commands and key words do things. etc etc....

Goal:I've foolishly got the idea in my head that I might be able to learn how to program an engine. Not an advanced engine of any kind. Basically all I'm shooting for right now is to be able to walk over to a cube, and press the use key to make it disappear. Or walk up to it, press the use key, and a different cube appears.... just I/O work.

One of the best java games resources atm is the Java-Gaming.org forums, a large amount of the java gaming community gathers there.

LWJGL is a pretty low level library, it'll basically just give you raw access to OpenGL, OpenAL and OpenCL. So basically you've got to build everything on top of it but it is an excellent base for game engines. You should start with the lwjgl basics tutorials found here, also the lwjgl wiki is a useful resource. Then move onto general OpenGL tutorials, since lwjgl is just a binding to the c version you can pretty easily adapt opengl tutorials written for other languages.

Since you know nothing about programming, I would suggest starting by buying a book (i.e. a hardcopy from a bookstore ). Something named "Learn Java in 21 Days" or something like that.Attempting to learn how to program a 3D engine without having any knowledge about programming in general sounds like a recipe for disaster to me. 3D engines (even simple ones) can be fairly complex if you have no knowledge about what you are doing.

.@kappaEven if Java3D is useless as a platform to build an engine on, Is it a good place to get an understanding of how 3d engines work?I've been reading the first chapter for a few days. Very complex stuff, but I am understanding it.

@Fool RunningI have thought about buying a book. But sadly I think I'm one of those idiots who have to learn the hard way. But that's mostly just because the hard way is also the free way.... And it does have a small flavor of bragging rights to learn without spending a cent lol.

And though I'm not really a programmer... I do have (I think) a very good understanding for how complex it really is. Like... I've never designed a roller coaster track, but I have designed and ridden the roller coaster cars. So I've got a decent idea how the track would be built. But I've never tried it.

@kappaEven if Java3D is useless as a platform to build an engine on, Is it a good place to get an understanding of how 3d engines work?I've been reading the first chapter for a few days. Very complex stuff, but I am understanding it.

Well it will be very difficult in getting help from other people, if you must use a 3d library like java3d, then I recommend that you pick one of the following instead Ardor3D, jMonkeyEngine, jPCT or Xith3D.

So I am very frustrated because I have no idea what I'm supposed to do.....And I'm not mad at you guys.... It's just the thing that annoys me THE MOST when I'm trying to learn something, is when the tutorials tell me to press some button that doesn't exist, or tell me to do something I have no idea how to, or expect me to know things that were never explained before hand....Sighs....

So I am very frustrated because I have no idea what I'm supposed to do.....And I'm not mad at you guys.... It's just the thing that annoys me THE MOST when I'm trying to learn something, is when the tutorials tell me to press some button that doesn't exist, or tell me to do something I have no idea how to, or expect me to know things that were never explained before hand....Sighs....

I don't mean to discourage your interest in LWJGL, but are you sure that's where you want to start? I recently learned the basics of the library myself, and it's definitely not the easiest thing to learn on the fly. jMonkeyEngine in particular has good documentation.

My honest opinion is that you should learn how to code for a higher-level library and then utilize that experience to understand the low level. On top of that, I would definitely not recommend LWJGL if you have zero programming experience (I don't think scripting is applicable, either). For one thing, there are relatively few tutorials proper, and while the NeHe lessons are good, they're for a different language entirely and certain aspects are old. That language hump wouldn't be too bad if you knew Java inside and out, but it's not a way to begin fresh.

Why set your sights on one particular library over another when you aren't advanced enough to know/require particulars? The packages kappa suggested seem like they would be much better suited to what you're trying to do. If you go with LWJGL, you're trying to learn Java, OpenGL, OpenAL, and low level game programming before you can even get anything going. You'll accomplish these things much faster if you take it in steps - learn java, then game programming, then OpenGL/OpenAL.

Learn Java first, then try to do 3D stuff. If you don't know jack about classes and methods it doesn't make a whole lot of sense to start with advanced stuff. You'll probably get nowhere and will give up after a week.

Learn programming first. It doesn't matter much which language. Basic? JavaScript? Whatever you like. http://smallbasic.com/ is pretty good for beginners. When you've mastered the ins and outs of the language of your choice, learn Java. When you know that pretty well (i.e. you could write 1000+ lines programs without getting lost) then you could start doing 3D stuff.

Learn Java first, then try to do 3D stuff. If you don't know jack about classes and methods it doesn't make a whole lot of sense to start with advanced stuff. You'll probably get nowhere and will give up after a week.

Learn programming first. It doesn't matter much which language. Basic? JavaScript? Whatever you like. http://smallbasic.com/ is pretty good for beginners. When you've mastered the ins and outs of the language of your choice, learn Java. When you know that pretty well (i.e. you could write 1000+ lines programs without getting lost) then you could start doing 3D stuff.

And most important of all: Never give up. It's worth it

In my opinion, I would suggest going ahead and learning Java first. No reason to learn basic, javascript, etc. first. I don't really think Java is that hard of language to go ahead and learn first anyway; just buy some good books (check out reviews on amazon and actually look through them). It's also difficult (not impossible) to really mess up your computer, as Java uses garbage collection. Even colleges will start you out in Java, even if you have no programming experience. If you wanted to learn Chinese, I wouldn't say to learn Japanese first, even though there are similarities and Japanese is easier. I would tell you to learn Chinese. Just make sure that you're dedicated, have good resources, and actually take the time to do some programming everyday.