views:

1383

answers:

5

If I wanted create a Jeopardy or Wheel of Fortune type (TV/board game genre) desktop game, what's the best way to learn how to do so in Java? I'm not trying to create anything complicated like Quake or Spore but something orders of magnitude less complex.

I imagine I would need to render a game board/setting, simple effects and sounds. What Java tools, libraries are recommended for this?

Alternatively, if Python, Ruby or some other environment is more appropriate for this type of game development, please recommend.

Thanks.

+3  A: 

For Java, I highly suggest the book "Developing Games in Java" by David Brackeen. It's is a really great book that teaches you everything from simple tile based games to complex, scripted first person shooters.

However, Python is also really nice for simple games using Pygame.

Zifre
+1 for pygame, if you end up going the python route.
Aaron
+1  A: 

check out jmonkeyengine. It has a big community, lots of tutorials, and is you can create small projects really fast.

m_oLogin
A: 

I've nearly completed a game written in Java along with a friend and here's what we used:

Graphics:

  • Started with Java2D but it was too slow so we moved to LWJGL and wrote a simple OpenGL 2D renderer using examples from the net. However, about three-quarters of the way through the project, we found Slick2D, which we probably would've used from the start had we known it existed. Even if you don't use Slick2D, it's source code is very useful for examples.

Music:

  • Ended up going with JavaZoom's Vorbis SPI and JOrbis for Ogg Vorbis music after we found out we'd need to pay royalties if we used MP3 via JLayer (also from JavaZoom). Their libraries are LGPL, so you can link them in your project without having to release your game's source.
  • Also used BasicPlayer (by JavaZoom) to play the music.

Sound:

  • For sound effects, we used WAV files and plain old Java Sound.

Miscellaenous:

  • We used JDOM for our XML config files. It's a very nice library to use for XML, except it's a little old (no generics).

As for everything else, we just used the Java standard libraries. For information on writing game loops (which is probably the most confusing part) check out this discussion about them.

If this is your first game, I highly recommend starting with Slick2D. Most of the hard stuff is already taken care of and they seem to have a fairly active community.

cdmckay
+1  A: 

I think Processing would be a good choice for you.
Processing comes with a lot of classes that simplify development of multimedia applications. (2D & 3D graphics, sound, ...).
It also comes with an integrated development environment.
The syntax is inspired by Java but simplified. IIRC it also allows deployment as applets or standalone programs - so you users don't need anything besides Java. Wikipedia has a good introduction.

weichsel
Yes! this is very good although the jump from simple toy to play around with to actual game is a bit large...
RCIX
A: 

Until the Sun Java App store is up and running, Flash is really the popular mechanism for creating an distributing basic games.

Jherico