Ok, I want to begin diving into Java3D. But I don't know where to start, I never programmed 3D before.

Ok, first off:Which API is the fastest/best to use. - Whichever API I use, I need great tutorials, so I guess Java3D api is fine?

I need tutorials, I do not know where to start, I also want to use OpenGL.

I especially want to have landscapes, geometry, model loaders, and textures, and lighting effects. Well, I'd like to start off simple, but the hugest concern is when it comes to collision detection in 3D.

I want to MAYBE start off creating a simple, but nice fps. I have looked at various engines, I am not sure which is the best AND easiest to use. I have seen screenshots of the jmonkey engine, and it looks nicer than lwgl, but that just maybe the products being produced. I looked at xith3d, it looks nice too, but seems like little documentation or support atm. And lwjl doesnt seem to have nice examples, but then again i guess they arent showing the potential.

What you're looking for are _game_ engine libraries like jME (Java Monkey Engine). Java3D is simply a 3D scenegraphy engine, I don't believe it's *intended* for games although you can easily make games in it.

But, jumping straight into that arena will only be a waste of time, since I assume you don't have any 3D programming fundamentals.Learning 3D game programming is a very long and a steep process, don't expect it to take 1 month, or even a year. This is a field where you don't stop studying, it's that B_I_G.Ok, enough with the scary part, if you made it past my warning then here is what you should do:

1. Pick up a book that talks about 3D Computer Graphics (using OpenGL). That book should cover:- OpenGL library- Basic Linear Algebra math- Camera stuff- etc. (not very GAME-specific though)2. Then you should pick up a book that talks about game engine design, such as scenegraphy game engines (that Java3D and jME are)3. After that you'll spend eternity reading up on all those nifty algorithms and techniques that actually make games what they are.

You also need to understand what the purpose of all those different API's are,such as; OpenGL, Java3D, LWJGL, jME, Xith3D, JOGL, etc. For instance, jME uses LWJGL

i wouldnt mind starting off making a game that looks like counter-strike one.

Oh, what a modest approach for a beginner. What about a spinning cube instead?

Then, for a 'simple CS', get acquaintaned with BSP or other PVS systems, animation systems, IK ... and start writing a bunch of good tools (after buying a modeler and learn how to use it).

For this is a Java3D forum, people here are supposed to propose Java3D. Anyway jME is a good choice for a game. Go for that. And take a look at Xith3D, too.

Or take another perspective: what data do you have? Model format? Scene format? Than look for a 3D engine supporting that format. That's the way I came to Java3D (although those days jME and Xith3D didn't yet exist).

I would say Java3D is a good starting point. It is quite well documented and there are some online tutorials and even several books about it. You can easily switch to Xith3D from there later, since it is very similar in concept. I would skip learning all the basics like the different APIs for now. I am more for a "top down" learning approach: first create something higher level (using Java3D) and later dive in the details, to keep you motivated. On the other hand you _will_ have to learn linear algebra math quite soon or you'll get stuck with the rotating cube

From what I see on the feature and example list, jME seems to be the most mature 3D games engine for java so far, but I haven't used it till now.

Sorry for under-estimating the counter-strike one thingy, yet i KNEW it would be HARD to program, i was saying that, that was an ultimate goal, meaning i didnt have to worry about real shaders or serious physics.

1. Work through all chapters of the Java3D tutorial2. Understand the vector math tutorial and try to use the new knowledge by modifying the Java3D tutorials code3. Invent an own simple 3D program (maybe some rooms with furniture exported from a modelling program)

Go through this steps in the given order and think of a counter strike clone after accomplishing all tasks Come back and ask questions, if you need assistence.

for some reason, i plan to dive into c++ instead, sorry for being un-patriotic.

I did the same once and had a very hard time. After all, the only thing I have learned was to avoid C++. If you want to learn C++, it's OK to do so. If you want to write a somewhat advanced game engine _while_ learning C++, you will probably fail.

Some advice:- Use virtual destructors- Implement decent copy constructors when allocating and deallocating memory in your class- In fact, learn every aspect you can about copy-constructors!- Although arrays and pointers are simililar in usage, they have to be treated different in memory deallocation- Use pure virtual classes to immitate interfaces where possible- Avoid multiple inheritance where you can (use ^ interfaces instead)- Learn every aspect you can about memory debugging tools (for searching memory leaks and unwanted memory deallocation)- Buy and read The C++ Programming Language from Bjarne Stroustrup (C++ inventor)

If I wanted to create something that was feasible, would potentially reach a large audience and might give me an inroad into the industry I wouldn't really be thinking in terms of languages- I'd be looking at writing a mod rather than starting a game from scratch.

I would suggest Unreal Script. I've used it in the past and its an Object Oriented language similar to java/c++. Its very easy to make minor modifications. This translates into immediate "rewards" for your ego; meaning, you do a little bit of programming (modding a gun that shoots squirrels out or something) and now you feel like you have done something cool - all with like 20 lines of code.

Here is a link to a site that provides you with everything you need to know about modding Unreal. I used UT2k4 back when I did some modding of my own. (I actually wrote how to setup your environment in linux for programming Unreal Script).http://wiki.beyondunreal.com/wiki/UnrealScript_Lessons

I'm not trying to shy you away from Java3D. Just be aware, unless you have alot of free time you can devote to learning Java3D and 3D programming every day, the modding route will be a better learning tool for games programming at this point for you.

darn, the college im going to has more bias towards c++, all the intro courses and forward are c++. there is one java programming course, but I would rather be super at one language than dabble around. sigh i guess id better get better for that, and this is annoying because my high school teachers java in the AP class,and if i get 3,4,5 on the test, then i get credit for the intro to c++ course, then they would stick me right into a c++ course about data structures, classes, and link lists etc when i never done that before in c++!!

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