Since I have discovered that creating a game with decent audio and 3D graphics in Java will be nearly impossible, I decided to stop wasting time and write Battlements in C++.

I originally chose Java so that Battlements would run on MacOS, Linux, and Win32. Since most of the APIs I would be using (if they exist!) aren't ported to MacOS, there really isn't a reason to use Java.