Difference between revisions of "Java"

From RogueBasin
Jump to navigation Jump to search
Line 33: Line 33:


The features of Java have led several roguelikes to adopt this language:
The features of Java have led several roguelikes to adopt this language:
*[[Beggar]]
*[[CastlevaniaRL]]
*[[CastlevaniaRL]]
*[[Caverns of Underkeep]]
*[[Crossfire]]
*[[CryptRL]]
*[[Dimension Dungeon]]
*[[Dweller]] (using Java Micro Edition, J2ME)
*[[Dweller]] (using Java Micro Edition, J2ME)
*[[Excitable Digger]]
*[[Expedition]]
*[[Fortress of the Goblin King]]
*[[Fruits of the Forest]]
*[[HexRogue]]
*[[Hokuto no Rogue]]
*[[Kalyp]]
*[[Kalyp]]
*[[Kamyran's Eye]] (for mobile phones)
*[[Legerdemain]]
*[[MegamanRL]]
*[[MetroidRL]]
*[[MIDP RL]]
*[[Mt. Drash: the Roguelike]]
*[[Netwhack]]
*[[Quarker]]
*[[Sigmore Mines]]
*[[Sigmore Mines 2]]
*[[Tower]]
*[[Tower of Druaga RL]]
*[[Tyrant]]
*[[Tyrant]]
*[[CryptRL]]
*[[Valley of Ge-Hinnom]]
*[[Wayfarer]] (Written in [http://www.processing.org Processing])
*[[Wayfarer]] (Written in [http://www.processing.org Processing])
*[[ZeldaRL]]


There are also some roguelike projects that are being built around Java:
There are also some roguelike projects that are being built around Java:
*[[Guardian Angel]]
*[[Guardian Angel]]
*[[JADE]]
*[[JADE]]
*[[Neon]]
*[[Plutonium roguelike]]
*[[Plutonium roguelike]]
*[http://will.thimbleby.net/roguelike/ a small freeware roguelike applet created by Will Thimbleby]
*[http://will.thimbleby.net/roguelike/ a small freeware roguelike applet created by Will Thimbleby]

Revision as of 08:56, 13 April 2009

Background

Java is a reflective, object-oriented programming language initially developed by James Gosling and colleagues at Sun Microsystems in 1991, as part of the Green Project. It was initially called Oak, and was intended to replace C++, although its feature set resembles more that of Objective-C.

Java should not be confused with Javascript, a script language with which it shares only the name and a similar C-like syntax. Sun Microsystems currently maintains and updates Java regularly.

Specifications of the Java language, the JVM (Java Virtual Machine) and the Java API are community-maintained through the Sun-managed Java Community Process.

After first being made public in 1994, it achieved prominence following the announcement at 1995's SunWorld that Netscape would be including support for it in their next version of the Navigator browser.

Language characteristics

  • Object orientation
  • Platform independence
  • Automatic garbage collection

Roguelike Issues

Java has excellent features for roguelike development:

  • Object orientation.
  • Platform independence.
  • Ability to run on a web page as an Applet.
  • Generally easier to learn and use than other high-level languages like C and C++.
  • Serialization to files makes easier to implement and mantain game save and load.
  • For developers of tiled roguelikes the AWT and Swing libraries provide an excellent alternative to the 3rd party (or native platform) graphics libraries used in C and C++.

However, it still has some disadvantages:

  • No native console support. Developers of ASCII roguelikes must decide whether to
    • Use one of existing libraries(JCurses or Charva)
    • Develop a new library (e.g. wrapping the Curses C library and native methods)
    • Emulate console output in plataform independant AWT or Swing components.
  • Longer program startup time. Java has no issues with speed once running [1], especially for RL games.
  • No executables, dependency on Java Runtime Environment

Java Roguelikes

The features of Java have led several roguelikes to adopt this language:

There are also some roguelike projects that are being built around Java:

Related links