Chapter 14. Introducing Java 3D


Further Reading

The Isometrix Project (http://www.isometrix.org/; http://isometrix.tsx.org/) concentrates on isometric tile games. The articles section covers topics such as map formats, tile layout, placing objects, and lighting. The engines section lists code sources, tools, and demos.

I mentioned GameDev.net's "Isometric and Tile-based Games" section at the end of the last chapter (http://www.gamedev.net/reference/list.asp?categoryid=44). It contains over 30 articles on tile-based gaming.

A good introductory book is Isometric Game Programming with DirectX 7.0 (Muska and Lipman/Premium-Trade) by Ernest Pazera. The first 230 or so pages are about Windows programming, and the examples use C. However, there's good stuff on the basics of rectangular and isometric games tile plotting, drawing, world and map coordinate systems, and moving about a map.

Some modern Java isometric or tile games examples, which come with source code, are:


Javagaming.org: Scroller (http://sourceforge.net/projects/jgo-scroller/)

A full-screen isometric scrolling game intended to illustrate how to write high-performance 2D games in J2SE 1.4.


haphazard (http://haphazard.sourceforge.net/)

A role-playing game set in an isometric world.


CivQuest (http://civquest.sourceforge.net/)

A strategy game inspired by Civilization, including game play against AI opponents. The coding is at an earlier stage.


IsometricEngine (http://sourceforge.net/projects/jisoman/)

An isometric game engine written by Jason Gauci, with support for line-of-sight calculations, entity and terrain objects, a tile map and wall map. It has a graphically mode for designing maps.


JTBRPG (http://jtbrpg.sourceforge.net/)

Includes tools for creating role-playing isometric game content and an engine for making it playable.


YARTS (http://www.btinternet.com/~duncan.jauncey/old/javagame/)

YARTS (Yet Another Real Time Strategy game) is a 2D rectangular tile-based real-time strategy game. The source code for the first version is available.


Hephaestus (http://kuoi.asui.uidaho.edu/~kamikaze/Hephaestus/)

A role-playing game construction kit based around 2D rectangular tiles.

Mappy for PC (http://www.tilemap.co.uk/mappy.php) can create isometric and hexagonal tile maps, and there are several Java-based playback libraries, including JavaMappy (http://www.alienfactory.co.uk/javamappy/).

The surface image created for AlienTiles (shown in Figure 13-3) was hacked together using MS PowerPoint and Painta reasonable approach for demos but not recommended for real maps.

A* Information

The workings of the A* algorithm can be hard to visualize. The A* Demo page (http://www.ccg.leeds.ac.uk/james/aStar/) by James Macgill, lets the user create a search map and watch the scoring process in action. The applet source code can be downloaded.

The pseudocode I used is based on code from "The Basics of A* for Path Planning" by Bryan Stout, from Game Programming Gems (Charles River Media), edited by Mike DeLoura. There are other articles in Game Programming Gems related to A* optimization worth checking out as well.

An online version of another A* article by Bryan Stout, "Smart Moves: Intelligent Pathfinding," is available at http://www.gamasutra.com/features/19970801/pathfinding.htm. It includes a PathDemo application which graphically illustrates several search algorithms, including A*.

The A* algorithm tutor (http://www.geocities.com/SiliconValley/Lakes/4929/astar.html) by Justin Heyes-Jones offers a detailed account of the algorithm.

Amit J. Patel's web site on games programming (http://www-cs-students.stanford.edu/~amitp/gameprog.html) covers several relevant topics, including pathfinding (with a bias towards A*), tile games, and the use of hexagonal grids.

Information on A* can be found at game AI sites, usually under the pathfinding heading. Two excellent sources are:

  • Game AI Site (http://www.gameai.com/)

  • GameDev's AI section (http://www.gamedev.net/reference/list.asp?categoryid=18)

A modern AI textbook, which discusses several search algorithms (including A*), is Artificial Intelligence: A Modern Approach (Prentice Hall) by Stuart Russell and Peter Norvig. Many of the pseudocode examples from the book have been rewritten in Java (including those for doing searches), and they're available from the web site, http://aima.cs.berkeley.edu/.



Killer Game Programming in Java
Killer Game Programming in Java
ISBN: 0596007302
EAN: 2147483647
Year: 2006
Pages: 340

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net