Seeking Engine for X-COM/Jagged Alliance-esque Game

I’ve always wanted to try my hand at making a game but never gotten around to doing it because I didn’t have the first clue how to do it. Well, I still don’t have the first clue but I’ve decided to dive in the deepend anyway. My experience with complicated tasks like this is that you only really start to learn how to do it when you do it. I’ve programmed in a bunch of languages, however that doesn’t include java. I figure once you’ve learnt one language (well, as long as it’s object-oriented) you can pretty much muddle by with a language reference.

Anyway, getting to the point, diving in the deep end is all well and good but I would like to know which pool to jump in first. I’m told that for games requiring tiles and sprites, JGame is pretty good. However, I’m getting the vibe that it’s geared towards platformers, sidescrollers, and the like. What I want for my game is:

  • Isometric, point and click, moving units across terrain
  • A scrolling, point and click, world map view
  • Windows for both modes with rows 'n columns display of information

Is JGame the ticket? Should I consider something else? Also more general newbie questions; I’m only assuming I need an engine. What does an engine provide me with, exactly? How much extra work do I end up with if, say, I just use Java and interface directly with openGL or something? One last question, possibly an odd one to be asking on a board called, is Java a bad choice? Is there any reason why I shouldn’t be using it, and if so what language would make my life easier?

I remember seeing a java ‘settlers’ type of game on sourceforge once. It was isometric and full source was provided, so perhaps you could have a look for that and have a play around with it?

Personally I’d recommend Slick2D , its probably the best and well supported 2d java games library, its powered by opengl as well as having accelerated sound (openal). A good community around it and some nice tools for various things (fonts, particles, tmx map editor support, xm/ogg support, etc).

Going directly with OpenGL is a lot more work, since you’ll spend a lot of time writing boilerplate code and fiddling with stuff like texture loading, etc. If you just want a game up and running quickly better to use a library or engine.

I’d say the language you use doesn’t really matter much, if you enjoy working with it, it should be fine. People will seldom care what language its written in and more what the game is like. There are some domains though where it would be advantages to use other languages for example, Flash if your aiming for web portals or want embedded ads. Java is a pretty good choice these days as its fast, portable and has probably the best tools (IDE’s, Docs, Build tools, etc). Higher level languages like Scala, Ruby and Python might help you save time and be faster at prototyping but do have their disadvantages too.