Javelin 1.6: release report

Over the past 3 days since last Friday I’ve been engaging with the community and promoting Javelin 1.6! This has been a pretty tame release cycle – even if that doesn’t mean the reception wasn’t good!

I’ll try to make a habit of doing these release reports after each new version comes out so I can have historical data to compare future campaigns to, to share information with those that are interested in this sort of data and to be able to compare notes with other open-source game developers and discuss “marketing strategy”. Even if you wouldn’t call it that for small games like most roguelikes, it still is an interesting thing to think about and discuss! Feel free to contribute your own experiences and strategies in the comments here, I’m sure I’d love to hear a few of them!

I usually try to release new versions on a Friday afternoon so the game can gain momentum during the weekend, when players are more likely to have time to find a post and play the game itself. This means these reports are going to be done usually for a 3-day period from Friday to Sunday. There is lingering increased activity for a couple of days after that (today, Monday has seen pretty good traffic so far) but the spike (what WordPress calls “booming traffic” ) is clearly well defined on the weekend while I’m engaging the community. The constant traffic received even way after a release cycle is done (from many websites but in particular from RogueBasin, which holds a recently-updated list for around a month on their homepage) would be an interesting study as well but out of scope for these reports.

I’ve also noticed in the last few releases that as soon as I make a blog post announcing a new version of the game there are around 30 to 50 downloads in a very short time span, even before I post the game anywhere else. I’m not sure how to take this in but I guess you could argue these are the people who are subscribed to this site here and get the new release fresh from the oven, so to speak 😀 I’m not sure this is a fair conclusion but I like the idea of having around 50 fans who want to try the new features out as soon as possible! Considering that’s roughly a tenth to a sixth of the the total downloads per release cycle I’d say that would be a pretty strong following, if my thinking here is indeed correct. Unfortunately GitHub download statistics don’t offer any more information to delve deeper into the issue.

A quick note about reddit, which is the biggest traffic source during the release cycle and still relevant for a long time after each release: the number of votes in each post, especially the most popular ones is obfuscated to help combat users with multiple accounts and botnets and such that would try to manipulate the system dishonestly. You can even see that a few of the numbers in posts and subreddits change constantly even when you wouldn’t expect any activity to be going on. All of this of course is publicized by them, not a kooky theory of mine. Taking this into account, data from reddit, as any other analytical/statistical data needs to be taken with a pinch of salt – they’re more useful as a means to identify the magnitude of the audience and to compare past and future trends than as an exact measure.

Okay so far I’ve written a bunch so I can refer further reports back here to all this general information. Here’s the specific stats for 1.6:

So as I said in the opening paragraph this has been a pretty tame release. There have been a few ongoing discussions on external forums throughout the weekend but no comments in this website and no shares WordPress can account for. We’ve got close to 900 unique visitors and 300 downloads, which is pretty close to previous releases. reddit engagement was very low with close to 50 upvotes across the board, which is pretty sad compared to the results for the last major release cycle (which I’ve just now updated with more data). It remains to be seen with future campaigns if reddit changed their sorting algorithms in some way that hurts this type of marketing or if it was just a case of bad luck. Despite that the discussions that were started, which are always more interesting than vote numbers from a development perspective, are interesting, in special one concerning the Arena, a starting location/mini-game/alternate game mode to be introduced in Javelin 1.7. The total number of subscribers on r/javelinrl is currently 22.

The lower community engagement (even the release post at our very own subreddit hasn’t  received a single upvote) can be taken in several ways: gamers could have been interested in other things and news this weekend, could be bad luck, a general disinterest about Javelin as more potential players already know the game at this point or could even be the result of a more stable release – since part of the feedback with the last major release was bug reports which prompted a couple of minor follow-up releases. I guess it’ll be a matter of seeing how the next campaigns go – but the similar number of downloads and the nice feedback that came out here and there goes to show the game is still doing well enough by my standards!

If you’ve waited this far to share your opinion on Javelin 1.6 let us know what you think in a comment! Thanks to all who downloaded the game and also to the people who shared their negative and positive opinions! I’ll be working on a few of your ideas soon – from new locations and game commands to screen changes and mouse support that will hopefully make the game more friendly and dynamic in the future! See you all on the next release!

Javelin 1.6: release report

Javelin 1.6


Hello veterans and rookies! Today Javelin 1.6 is being released! It’s a big one so let’s get to it!

For those new to the game you can find out all about it here!

You can download your copy of Javelin 1.6 right here! If you have any sort of problem running the game check the link above for further instructions.

This slideshow requires JavaScript.

This release brings some changes to the early and late game, while also creating a new well-defined end-goal for each game. Besides a lot of new monsters for low level characters to duel against there are also new starting locations that will help you get the party started: the Adventurers Guild lets you apply starting kits to your units while the Training Hall provides an early challenge that also promises great rewards in a low-danger environment.

You will now find 7 temples scattered throughout the world map: each of them is a persistent, multi-level dungeon and holds a Relic on their deepest levels – each a powerful item on its own and now essential to winning the game, as you need to collect every relic to do so! Hopefully this will make each game feel more like a story while also providing interesting strategic decisions – should you rush towards each temple to reap the benefits from its Relic as soon as possible or level up enough to be able to face them with ease later on? Will your priority be vanquishing the forgotten temples or conquer the entire world map first?

There are new special locations too! The Summoning Circle lets your characters learn powerful summoning spells to bring forth allies during battle and the Pillar of Skulls, a macabre but powerful ally will accept several sorts of sacrifices and grant you fair boons for your trouble!

This release brings the full set of terrains predicted in the d20 rules – and with that also a system of seasons and natural hazards which you’ll discover while exploring the game world. Sail uncharted waters and try to find your way through massive sandstorms! This new system also makes world movement more dynamic and even lets you shape the world with your town workers – Civilization style!

The interface has been improved as well: you can now put your units under the control of the computer, activate quick combat (combat results are calculated automatically), edit your preferences and key settings via in-game screens and take notes with the new journal feature! The save system is faster, more robust and creates backups of your progress every time the game is started. A few bugs have been fixed too so if you had trouble losing progress on earlier versions please give this one a try! The AI now constantly monitors its own performance and suggests fixes if your configuration is less than optimal for the game. If and when an error occurs a lot more information is shown so you can submit it as a bug report.

And these are just a few of the new features! Check out the other highlights here:

  • New locations: 7 temples, 11 mage guilds, troves and mines!
  • New starting locations: Training Hall and Adventurers Guild!
  • New unique locations: Summoning Circle and Pillar of Skulls!
  • Around 50 new monsters!
  • New end-game goal: bring the 7 Relics to Haxor!
  • All game images can now be easily modified! (mod/skin support)
  • New damage effects: poison, paralysis, fear
  • Burrow movement
  • New item type: wands
  • New skills: use magic device and heal
  • New transport: sailing ship
  • More realistic, dynamic land movement
  • Seasons, new terrains and terrain features
  • Town workers let you build roads, settlements and more
  • Player units can now be set to automatic (controlled by AI)
  • New party option: strategic combat (skips random encounters)
  • Preferences and command keys can now be edited in-game
  • In-game journal for taking notes
  • More information on errors, for easier bug reporting
  • Improved save system, also creates automatic backups
  • AI system now monitors thinking speed and corrects itself if slow
  • 183 monsters
  • 47 items, 12 artifacts
  • 63 upgrades, 49 spells, 13 skills
  • 22 battle maps

I’d like to thank MustAwd for contributing art assets using the new mod/skin system (more info here). There’s still a lot of work to be done so keep your eyes open for great new pixel art on the next release! Our friend 11132113 also helped a bunch with a serious amount of beta testing and quality bug reporting – without his help this release wouldn’t be anywhere as stable as it came out to be! A big thanks too to everyone else who gave feedback in the earlier releases – some of the changes on 1.6 were a direct result of the points made back then!

What about the future? There are probably going to be a few extra releases before lunging on towards the 2.0 cycle and it’s goals. Planned features are Martial Disciplines (as suggested by Greg), basic mouse support and other interface improvements, new locations (like the Arena and Dragon Spire) and, as always new spells, monsters and items along the way!

Let us know what you think of the changes so far and have fun! Feel free to post comments here, discuss the game on our subreddit or contact me directly through javelinrl@gmail.com. We’re always looking for new talent to help the game grow! So if you’d like to join the effort let us know and we’ll try to put your skills and time to good use!

Javelin 1.6

Come hither…


Greetings weary traveler! Javelin is a free and open-source strategy RPG game written in  Java, based on open-gaming rules – similarly to Dungeons and Dragons (versions 3.0 and 3.5) and its successor Pathfinder. 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.

Javelin is dedicated to all gamers and RPG players out there, we hope you enjoy it!

Click here to download the game

This slideshow requires JavaScript.

== HOW TO START PLAYING ==    grayelf    xorn

You need to have Java (8 or newer) installed. Download the game from the link above and extract the zipped file.

If you are running Windows (or most modern systems), double-click javelin.jar to run the game. For older operating systems you can try launching javelin.bat instead (however this method may show you a security warning on modern systems). Alternatively, you can manually run the command java -jar javelin.jar from the command line.

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

The default settings should be fine for most modern computers but you can press o during the game to configure the settings (such as the computer player’s thinking time). If the game is slow for you try reducing the value of ai.maxthreads – you can start up from 1 to see which value works best for your computer, or let the in-game system notice slowdowns and help you through the automated configuration tools.

== NOTES ==    sahuaginmutant   skum   sahuagin

Your feedback is much appreciated! We have a discussion forum at reddit or you can contact me directly at javelinrl@gmail.com. Check the FAQ for some common questions.

You can find the Java source-code at GitHub and the change-log here.

Radio Rivendell and RPGN radio are awesome online radios 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!

For more information on Javelin’s development and testing check out our wiki.

== LICENSE ==    nixie nymph pixie

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.

== ACKNOWLEDGMENTS ==     cockatrice   trumpetarchon

A few projects were fundamental in making this effort possible:

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!

== OPEN GAMING ==     succubus    harpy

A good portion of the d20 system 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 rules on their own projects. Javelin relies on this and related OGL sources as a true-and-tested framework to offer old-school hack’n’slash similar to other classic titles.

Javelin isn’t technically a d20 product but a variant open-gaming system. This is a necessity in order to keep the AI fast, to offer a more video-game-friendly ruleset and to be able to introduce rules progressively and selectively as the game evolves. However, classic RPGs and open-gaming products have been a heavy inspiration from the very start, so people familiar with those will fit right in! The game also tries to be as intuitive as possible so that newcomers don’t need to learn any previously existing rules in order to enjoy Javelin.

== ROGUELIKE ==    halforc  orc

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.

== SQUAD-BASED TACTICS ==    goblin  goblin  goblin

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 is 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 promotes creating a team that can work well together from a strategic point of view.

As mentioned before, Javelin’s 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.

== STRATEGY ==   locationtownhamlet  locationtowntown  locationtownvillage

Besides the traditional strategy elements present in most RPGs, like leveling up characters and inventory management Javelin also offers since version 1.3 many elements of turn-based strategy games, such as city building, army creation and enemy factions (that are featured in games like Master of Magic and the Civilization series) and overworld locations that can be explored, conquered and used for their strategic value (like those featured in the Heroes of Might and Magic series).

These further distance the game from traditional roguelikes, which focus mostly on dungeon crawling and tactical thinking, leaving strategy mostly at the background by way of character building (choosing the right class, abilities and equipment for a specific type of gameplay). Measures have been taken though to permit non-strategic play as much as possible, allowing players who aren’t interested in this to enjoy the game as well – ranging from having automatic city building turned on by default to allowing the game to be played by a single unit instead of squads or armies. Catering to both styles is easier said than done though so it will be a matter of fine-tuning based on player feedback as time goes by.

A few more reasons for the development of the strategic features were to promote exploration and discovery, which are centerpieces of roguelikes; create a more complex game world so as to raise the number of possible scenarios and dynamics every time a new game is started; and to include static checkpoints throughout the game (including the enemy factions that grow in power with time), in opposition to the scaled random encounters. Early Javelin releases featured only scaled encounters by way of the terrain (as explained in the “how to play” in-game guide) – allowing the player to choose the difficulty based on preference and current party power. Scaling however is often criticized by hardcore gamers as a manner of “dumbing down” games and taking players by the hand instead of giving them freedom of choice in a complex, organic world. Hopefully the way Javelin is designed now makes the most out of both of these approaches to RPG world building.

== ARTIFICIAL INTELLIGENCE ==    airelemental    fireelemental

Unlike almost every video game out there Javelin doesn’t rely on heuristics to determine computer behavior during battles 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 its 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.

==  THE FUTURE ==    baboon  eagle   warpony

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 its current limitations. 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 be a part of the project let us know at javelinrl@gmail.com! We are always looking for pixel artists of any skill level – more information here!

Come hither…