I'm new to this site as well as new in game development, so I need to get a great start for it. Can anybody tell me from where I should start and some books or link are appreciable.
What are the prerequisites to start game programming in java?
I already knows the concepts of java
.

- 163
- 7
-
1Read my answer in this question : http://gamedev.stackexchange.com/questions/19596/how-should-i-do-3d-games-through-java-on-a-mac/19604#19604 – Quazi Irfan Nov 30 '11 at 09:05
-
And read this one too : http://gamedev.stackexchange.com/questions/15782/can-you-help-me-find-resources-for-developing-a-top-down-2d-game-in-java/15784#15784 – Quazi Irfan Nov 30 '11 at 09:07
-
And if you wonder what might be the end result of using Java for game development : http://gamedev.stackexchange.com/questions/3789/famous-games-written-in-java – Quazi Irfan Nov 30 '11 at 09:08
-
4I have 3 words: don't do it. – bobobobo Nov 30 '11 at 13:27
-
@bobobobo is it because gaming industry is/will be dominated by C & C++ for the foreseeable future, that' why? – Quazi Irfan Nov 30 '11 at 15:10
-
3@iamcreasy Java, like any other interpreted language, is very resource intensive. No matter how well you write your code you will always have to surrender some of the systems resources for the virtual machine that java will run within. – James Nov 30 '11 at 20:12
-
4@James Calling Java interpreted implies a lot of things it isn't. Java is bytecode-compiled, and the JVM is free to do just-in-time compiling to the native language at runtime. http://stackoverflow.com/questions/1326071/is-java-a-compiled-or-an-interpreted-programming-language – Tetrad Dec 01 '11 at 07:13
-
4Also, calling java "slow" is a relative term. Sure, for CPU-heavy stuff, certain tests will show java as taking ~twice as long (example test: http://shootout.alioth.debian.org/u64/performance.php?test=mandelbrot&sort=fullcpu), but there's a lot of game code that isn't performance critical. There are a lot of games that use Lua, which is even slower. Managed languages have a lot of nice things that can make development a lot faster/easier, and there isn't anything wrong with that. – Tetrad Dec 01 '11 at 07:14
-
2@James and in fact java was slow but not is slow. – Quazi Irfan Dec 01 '11 at 07:45
-
@Tetrad Please do not put words into my mouth, I did not call Java slow. Likewise comparing a programming language to a scripting language does disservice to both regardless of them both being 'interpreted' languages. I was simply attempting to give an answer to a question raised by a very non-constructive comment by bobobobo. This topic should not allowed to be degraded into a Pro vs Anti Java discussion as that is not the OP's question and has been covered more then enough on this site as is. – James Dec 01 '11 at 16:55
3 Answers
Among all java game engines out there, jMonkeyEngine is a very good one.
Its just not a library, its comes with a full featured sdk. There is abundance of tutorial and the community is very active. You can check this out too, jMonkeyEngine Beginner’s Guide

- 2,366
- 19
- 27
Have a look at some samples in this repository:
https://github.com/adamgit/Entity-System-RDBMS-Beta--Java-
https://github.com/adamgit/Game--Escape-from-the-Pit
It is good introduction into basics of modern game engine architecture in Java (component-based entity systems).
Basic idea is that component-based approach is more suited for games than traditional entity-centric object-oriented. This is because the latter leads to bloated super-classes with lots of responsibilities and rigid inheritance hierarchies.

- 1,208
- 8
- 14
-
1
-
You might want to add some description about the contents of your the links. :) – Quazi Irfan Dec 01 '11 at 07:42