Author Topic: Javelin (now at v1.0)  (Read 3688 times)


  • Protector of the Temple
  • Global Moderator
  • Rogueliker
  • *****
  • Posts: 4952
  • Karma: +2/-1
    • View Profile
Javelin (now at v1.0)
« on: September 02, 2015, 12:15:25 PM »
Out of nowhere yet again!  :o   Win/Mac/Linux via Java powers
Javelin is a free open-source single-player role-playing game written in Java that uses d20 as the rule system – more widely known as Dungeons and Dragons (versions 3.0 and 3.5). It draws heavy inspiration from many other video games, from Jagged Alliance and Dungeon Crawl Stone Soup to Pokémon and the Dragon Quest series.

    True artificial intelligence with easily customizeable thinking time!
    Uses a d20 (D&D) variant rule system, balancing classic hack-and-slash with a more dynamic turn sequence!
    Party-based gameplay - control one or more squads, not just a single hero!
    You choose how to level up your team!


You need to have Java installed. Download the game from the link above and extract the zipped file.

If you are running Windows double-click start.bat or javelin.jar to run the game. In other systems you may have to manually run the command java -jar javelin.jar.

For help on playing check out the in-game guides. To find out their keys press h on the world screen.

Check out the file if you want to change the AI difficulty!

== NOTES ==

Your feedback is much appreciated! Contact us at

You can find the Java source-code at GitHub.

Radio Rivendell is an awesome online fantasy radio and can be used as soundtrack for the game.

Don’t forget to subscribe to this website’s RSS feed to keep up with news!


Copyright (C) 2015 Alex Henry

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

A copy of of the full license text is available under the ‘doc’ directory. Consult this page for licensing information on repackaged material. The d20 System Reference Document is licensed under the Open Game License. Both are included in the ‘doc’ directory.

== d20 ==

A good portion of the d20 material was made available by Wizards of the Coast in a copyleft license known as the Open Game License, enabling other parties to use the world-famous D&D rules for their own projects. Javelin relies on this and related sources as a true-and-tested framework to offer old-school hack’n’slash similar to other D&D games like Planescape: Torment, Baldur’s Gate, Neverwinter Nights, Temple of Elemental Evil and many others.

Unfortunately for both how complicated programming some of the mechanics is and hoping to keep the AI system fast some liberties were taken with the rules, making Javelin technically a variant d20 ruleset. As D&D has been a heavy focus from the very start we hope that people who already know the system will fit right in. The game also tries to be as intuitive as possible so that newcomers don’t need to learn d20 in order to play.

If you’re a veteran d20 player here is probably the major difference you will find: attacks of opportunity would really slow down the AI so instead every action that would cause one is instead prohibited (for now). This is balanced by more fluid movement and a turn sequence that relies on action points instead of traditional initiative.

It’s also a daunting task to program the entire d20 system so new combat moves and monster abilities are going to be slowly incorporated from the core rules.

A few d20-related projects were fundamental in making this possible:

    John H. Kim’s XML SRD Monster Data (distributed freely)
    The Hypertext d20 SRD for easy reference

The biggest thanks goes to Craig “Upper Krust” Cochrane for his work on the Challenging Challenge Ratings system – which he kindly permitted Javelin to use and redistribute (see the ‘doc’ directory). He is nothing short of a genius so check out his company Eternity Publishing and his d20 epic-level bestiary, the Immortal’s Handbook!


Roguelikes are a genre of RPG video games that feature higher difficulty, permanent death, turn-based combat, high randomization, procedural level generation and long gameplay that can extend for dozens of hours for a single game – among many other common features.

The purists out there would call Javelin a roguelike-like. Javelin shares features with most traditional roguelikes such as the original Rogue and also newer ones like Desktop Dungeons. In the end you could say it lands somewhere between roguelikes and classic RPG titles like Ultima or Wizardry.

The open-source roguelike Tyrant was used as a temporary initial code-base for programming Javelin and some of it’s features are used in the game, like the battle map generation (with some alterations).


The main reason towards the development of Javelin is that there were no decent roguelikes that enabled a team-based approach. Of course allies have often been present in roguelikes, sometimes through the use of summoning magic but these are often clumsy to play with since almost every game is designed around the idea of a lone hero. In Javelin it’s the other way around: you are allowed to play one-man squads but that is not really the focus.

We hope that by designing the game this way it offers a more intense roguelike experience since the number of possible tactical scenarios rises exponentially with the concept of having a party instead of a single character throughout the entire game.

The player is also capable of a good deal of freedom when leveling up party members, much like in Final Fantasy Tactics. This gives focus to creating a team that can work well together from a strategic point of view.

As mentioned before Javelin combat is based on action points (AP) instead of traditional turns. This has been used in games like Fallout 1 and 2 and UFO: Alien Invasion and tends to make the game more dynamic.


Unlike almost every video game out there Javelin doesn’t rely on heuristics to determine computer behavior but instead implements a minimax decision tree – which is a much more sophisticated sort of AI. This means that the computer player can make decisions on it’s own, based only on the current state of the game, without being taught anything besides a simple analysis of how well it is doing and what possible moves it can make at a given situation.

Unfortunately though this requires a lot more processing power than common “AIs” .The current AI is already a decent opponent but this is an area that needs constant optimization so improvements can be expected in the future.


Javelin 1.0 is released as a finished, stand-alone game but newer versions are already planned. 2.0 will modernize the user interface to overcome it’s current limitations and also to add mouse and possibly gamepad support. The highlight of 3.0 will be multiplayer modes over the Internet. Besides these major goals you can also expect more content (monsters, abilities, spells, items…) to be added along the way.

If you like the game and want to contribute to the project you’re more than welcome to contact us at

Have fun!

More overt company for Incursion and Veins of the Earth, more company on the sly for Temple of Torment---fantastic to see so much activity in this side of things after all these years all at once now!   8)
Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training


  • Rogueliker
  • ***
  • Posts: 604
  • Karma: +0/-0
    • View Profile
Re: Javelin (now at v1.0)
« Reply #1 on: September 02, 2015, 02:46:20 PM »
Oooo, checking it out now! Using AP sounds like a nice compromise between sticking to the source rules and making up a completely new actions system.