Game Development in Java and Scala

So why would I use Java to develop a game?

I like Java the platform not Java the language.  A few months ago I was very interested in Scala.  I used Scala to develop a prototype hex based strategy game.

I got as far as generating the hex map, generating the tiles and generally completing all the map work.

Scala was an interesting choice.  Much better than Java.  However, I was translating all the examples from Java while learning Scala, so no doubt I could make some improvements to the code.

After completing this work, I was happy with what I had but I took a break from the project.  I wasn't sure I wanetd to push forward with a turn based strategy game at this point.  

Resources

If you're curious, there are several books about Java game development.  I subscribe to Safari Books so I had access to several.  The books are generally better than the online tutorials.  I find them more well thought out and there are also downloadable resources from the author's sites.

Great for 2D, Not Sure About 3D

I think Java is a valid choice for PC game development.  I wanted to also target Mac, so again Java would be a good choice.  I can't say if it would be great for 3D games, but it proved more than adequate for a 2D game.

For an example of a isometric 2D game in Java see freecol.  It's a freeware implementation of the classic Sid Meier game Colonization.  

IDE?

I used the netbeans IDE to develop the game.  I tried to get Eclipse set up (my preferred Java IDE) but it was just too quirky.  All though Eclipse promised more features.  My one complaint about Scala is the lack of a good IDE.  However, a good IDE is hard, so I understand that a shiny whiz bang Scala IDE isn't going to happen overnight.

Scripting?

I planned to use Jython as the scriping language of the game.  The new activity in the Jython project is rather encouraging.  My second choice was JavaScript with Rhino.  Either language should be easy enough for newbies to pick up.  

So?

My original intent was to discuss why I'm moving back to C# for game development, but in writing this article, I think I've convinced myself to keep using Java+Scala.  But that's the point.  I think C#/Pygame/Java/whatever could be used to make a pretty decent indy game.

I'm still undecided.  C# provides easy access to DirectX/Direct3D and XNA.  Java makes it easy to get on the Mac.  What I really need to decide is what's a better target platform.  Is Mono an option on the Mac?  

More research is required.

About

[Insert Witty Saying Here]