Mark Damon Hughes Game Design: Article 14: Java Development [Parental Advisory: Explicit Lyrics] [about]

] Index |  ] Articles |  ] Links

By Mark Damon Hughes <kamikaze@kuoi.asui.uidaho.edu>

   So, you want to start writing games in Java, but don't know where to start? Fortunately, all of the tools and much of the documentation you will need are free for the downloading.

   You need the JDK. You will almost certainly want one of the four main development environments: Forte, Eclipse, Vim & Ant, or JEdit & Ant. The links for each of these are below. Most of these work on at least Linux, Solaris, MacOS X, and even Windows.

Tools

* Java Development Kit 1.4
This includes the compiler and all libraries. Make sure you also download the documentation, and read it, especially the API reference. You may wish to use JDK 1.3 for a while longer - there's no port of JDK 1.4 to MacOS X yet, and 1.4 interacts in unstable ways with some Linux video drivers. However, there are many features and optimizations in 1.4 designed specifically for games.
* Sun's New to Java page
* Linux: Blackdown.org JDK 1.4 status The Sun implementation is based on Blackdown work, and I've found it more reliable to use the Blackdown versions.
* MacOS X: www.apple.com/java/ and developer.apple.com/java/
* Vim
Open-source vi-based editor with syntax highlighting. This is what I use and personally recommend.
* Ant
Open-source XML-based buildfile system. Learn to use Ant and you'll never want to use a Makefile or an IDE build system again.
* JEdit
Open-source Java-based editor with syntax highlighting, with lots of plugins.
* Sun ONE Studio
Formerly called Forte. Nice IDE, but deathly slow if you don't have a really fast machine, a fast video card, and tons of memory. The CVS integration works well, and the debugger is quite good.
* Eclipse
An open-source IDE, reasonably fast, and similar to IBM's VisualAge for Java. However, it was, last I checked, still in development, so it's not up to my standards for "prime time use".

Information

   There are currently few good books specifically about Java game programming - Cutting-Edge Java Game Programming from Coriolis was perhaps the best of those that were published, but it is quite old, and introduces little that you cannot pick up from the sources listed below.

* Thinking in Java, 3rd Edition, by Brucke Eckel
A free electronic book, and an excellent intro to Java and proper object-oriented design.
* The Java Tutorial
* Graphic Java Vol. 1: AWT, 3rd Edition, by David Geary
An excellent book on how to use the AWT (Awkward Window Toolkit) correctly and efficiently. There is also a Vol. 2: Swing, but Swing is a very slow and heavy GUI designed for business applications. Most games are going to be written with just AWT support.
* Concurrent Programming in Java, 2nd Edition, by Doug Lea
An absolutely essential book on writing multi-threaded applications in Java.
* Online Supplement
* Java 2 Network Programming, 2nd Edition, by Elliote Rusty Harold
While you can learn Java network programming the hard way, by trial and error as I did, this is a better tutorial.
* Java Performance Tuning, by Jack Shirazi
Games are often processor-intensive, and while Java is much faster than it used to be, performance tuning in Java is difficult work. You'll want this book as soon as you hit that performance wall.
Links:


+-Mark Damon Hughes: Software Gallery
+-Mark Damon Hughes: Software Gallery Blog
+-@mdhughes on Twitter
+-
iPhone Games:

+-Perilar: Role-playing game for the iPhone.
+-Castles: Strategy wargame for the iPhone.
+-DungeonDice: Tabletop RPG dice roller for the iPhone.
+-Nexus Worlds: Multiplayer Online Adventure Game for the iPhone.
+-
Computer Games:

+-Java Perilar: Adventures in the Dragon Kingdoms.
+-Hephaestus: Computer RPG construction kit.
+-GameScroll: Simple interactive fiction authoring.
+-Aiee!: "An Interactive Environment Engine" text adventure system.
+-Umbra: Post-apocalpytic computer RPG.
+-
Utilities:

+-JICB: Portable ICB client written in Java.
+-ThoughtPad: A tiny note-taking utility.

Site Pages:


+-Audio
+-Blank page
+-Camera
+-Cyberpunk
+-Game Design
+-Hacker
    +-Java
    +-NetRexx
    +-Python
+-Hello Kitty
+-Quotes
+-Religion
+-RPG
    +-The Bomb
    +-DUDE
    +-G.P.A.
    +-Phobos
    +-SIX WORD RPG!
    +-Weapons
    +-What's Wrong
  With AD&D?

+-Text
    +-H.Beam Piper
    +-Snow Crash
+-Universal Search
+-Video
+-Videogames
+-Virus Warning

Blog Archive
Blog Topics:


+-News
+-Cocoa
+-Mac
+-Media
+-Personal
+-Quotes
+-Religion
+-Roleplaying
+-Science
+-SecondLife
+-Society
+-Software
+-Toys
+-Web

Feedback  | Key: ] =local file, * =off-site link  | Copyright © 2003-2005 by Mark Damon Hughes | Subscribe with RSS 2.0
This site was created with Vim :wq