The Ng Java Roguelike Engine

Ng development is hosted on SourceForge

Download Ng [5/4/2005]

Play Simple Game! -- requires Java – get JRE 5.0+ at

View the documentation

The goal of the Ng Java Roguelike Engine is to make it easy for anyone to create their own Roguelike game.  The project consists of three components: the Core, the Variant Manager, and the prototype ‘SimpleGame’.  Ng is open source software licensed under the GNU GPL.  Also included but not being supported is a non-Ng Java Angband project that I nearly completed in 2000-2001.

The Core

The core serves as a bedrock of APIs and functionality that are applicable across all or most Roguelike games. Central to this component is the concept of event broadcasters with loosely coupled listeners that control game logic, and the ability to easily distribute games in multiple languages.  Many utility classes solving common problems are also provided. Check out the currently available Core services.

The Variant Manager

Apart from being implemented in Java, if there is one thing that sets this project apart from other Roguelike efforts, it is the focus on easy management of the many resources that provide the guts of a good Roguelike game. The Variant Manager is a graphical application that allows for complete configuration of a new variant -- either from scratch or based on an existing game. Races, classes, commands, foreign language support, items, and monsters are all configurable visually, and new categories of resources can even be created, configured, and populated!  Check out some screenshots.

Prototype Game -- SimpleGame

For people more interested in playing games than in frameworks for creating games, I’m writing a prototype game called SimpleGame.  This reference implementation is helping to flesh out necessary features for the Core and Variant Manager components, and provide a more extensive body of work for developers to base their own games on. This screenshot is what it looked like on 4/3/2005. 

What Are You Waiting For?

Take the plunge and write an Ng-Powered Game! My name is Thomas Seufert; now that we are no longer strangers, just send me an e-mail.

Ng-Powered Roguelikes Currently In Progress

SimpleGame – by Thomas Seufert (Alpha)

SlayerQuest – by Paul SanClemente (Planning)


Yourkit Java Profiler

Let me know what you think! My name is Thomas Seufert and my e-mail address is