Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have been self-teaching myself Java on the mac mostly because the language is cross-platform. Recently, I have been only able to develop 2D games using the Graphics2D class. Now, I want to learn how to make 3D games in Java. I used to model and animate stuff in 3D, so my knowledge of 3-Dimensional stuff is okay.

I have spent the last 3 hours using google to look up ways of making 3D games in java. Apparently the best one to use is OpenGL, so i looked up a tutorial on it and i cannot find a tutorial that shows how to (if there is a way) install JOGL on the Mac platform.

Should i continue to use Java?

How can i make 3D games using Java?

What is the best way to make 3D games on a mac?

share|improve this question

closed as off-topic by Byte56 Mar 5 '15 at 18:30

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about "how to get started," "what to learn next," or "which technology to use" are discussion-oriented questions which involve answers that are either based on opinion, or which are all equally valid. Those kinds of questions are outside the scope of this site. Visit our help center for more information." – Byte56
If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 8 down vote accepted

I would recommend using LWJGL. It's an OpenGL library for Java that works on Mac, Linux, and Windows.

You can make 3D games in Java just as easily as you would in C or C++ using LWJGL. Although some may complain that Java is slow, modern Java is fast enough for game purposes.

An example of a successful game created using LWJGL: Minecraft. Another: Revenge of the Titans (cannot post link.)

If you're looking for more game-development tutorials, there are many available on the LWJGL wiki / website / forums. Also, you can follow many C or C++ OpenGL tutorials as the OpenGL functions work almost exactly the same on Java.

share|improve this answer
Thank you, do you know of any good tutorials i could use? – Steven Rogers Nov 10 '11 at 4:59
LWJGL is not a good place to start for the beginners. – iamcreasy Nov 10 '11 at 8:46
...unless of course s/he has previous experience with OpenGL. – iamcreasy Nov 30 '11 at 17:23

I would suggest to go for jMonkeyEngine with my eyes closed. Its based on LWJGL. But, starting form pure LWJGL can be quite a lengthy road. jMonkey engine is based on LWJGL and all the necessary things are already done for you. You just need to have a game concept and jump right into programming, which is very easy with jME. As you have mentioned your skill level as beginner in your post, I would suggest not-to-start with LWJGL.

Its on Beta right now. But, don't back of. Its quite stable and full of feature. Most importantly its a shader based engine. There are some fixed function rendering pipeline support, but hey, who should pick an old tech unless s/he has a very specific reason to do so?

Documentations are absolutely fantastic. Very rich and covering a wider variety of concepts. Anyone with a basic java skill can jump right in. Community forum is vibrant. If you stumble upon any bug, its fixed very quickly.

jME isn't just a java library. It comes with a game development environment which is based on NetBeans. All 3rd party tools like, Font Converter, Blender/mesh/obj importer, Scene Editor all are included, they just work!

I can't emphasis it enough. There are lots of other java based game engine out there. But trust me your time with jME, you wont regret it.

oh, did I mention...jME has just announced a Game contest as its stable release is nearing. join it if you can. :)

If you still wish to know about other java engines, just give a knock.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.