Go back to the Larn homepage

The History of Larn and Ularn

Document revision history:

Feb. 15, 2017-Initial version of this document.
Feb. 19, 2017-Fixed relationships between various versions of Larn 12.4 and Larn HD.
Dec. 19, 2017-Added information on FreeLarn.
Jan. 26, 2018-Added some details that were missing about the 12.4 series and fixed the family tree graphic to reflect them.

A quick note on software licenses:

Unless the game is a full, independent rewrite (such as NLarn, dLarn, etc.), Larn and its variants are still subject to the original copyright restrictions put in place by Noah Morgan, the original author.

From this Usenet post announcing Larn 12.0:
Larn was distributed to the net for the enjoyment of all. One of my goals is to have larn available to whom ever wants to play it. I therefore give permission to use the sources, to modify the sources, or to port the sources to another machine, provided that a profit is not made from larn or its sources, or the aforementioned activities. Should a profit be made without permissions, I will exercise my copyright. Other than this case, enjoy it!

Many versions of Ularn included code from the GNU project, and some of them say the code is therefore released under the GNU Public License (GPL) due to the requirement that any code that uses other GPL licensed code must itself be GPL licensed. Unfortunately, the Free Software Foundation, who maintains the GPL, says that restrictions against commercial use cannot be legally used with the GPL. This means any project deriving from the original Larn codebase (including Ularn) that uses GPL code is actually in violation of both licensing agreements.

Just an FYI for any future or past maintainers, since I keep seeing this mistake being made.

Introductory notes:

The Larn family can be broadly grouped into three categories:

(A brief aside: Due to the displeasure of some, the case has been made that the new Gibbon Larn / FreeLarn versions should be considered a separate branch and not part of Larn proper since they've removed a bunch of Larn-specific things and changed the gameplay more than any other version. However, since they are (for now) directly descended from Larn 12.4, they will be listed under the main Larn family for the time being. If the full FreeLarn rewrite ever happens, it might be listed as a separate family or subfamily in the future.)

The entries listed below are in chronological order within each family grouping.

Each entry lists one or more "authors" for the version. The person listed is more often than not someone who maintains or packages the code for that specific version, not the author of the game in any true sense. Every version is a compilation of all the changes and patches by every preceding author of every preceding versions.

Different versions used different version numbering schemes. Most of the Ularn branch uses a version format of #.#Pl#, for example, to mean major#.minor#.patch#. However, the various version numbering schemes are used very inconsistently (even within the same package...) so this document uses the format of major#.minor#.patch# throughout for consistency.

And finally, while I have made every effort to verify that the information contained herein is correct, a lot of it comes from sources that no longer exist and are hard to piece together. Caveat lector. Don't get upset if something is wrong, instead tell me and I'll gladly fix it in the next version.

- Derek Newhall

The Larn / Ularn family tree:

Larn Family Tree


June. 1986?
Larn 11.0
Noah Morgan

  • Earliest version we have public record of.
  • Was made available to public, but no copies are currently known to exist (anyone have a backup tape somewhere?)
  • Required VT100 terminals (12.0 would use the portable Termcap library)
  • Didn't have intelligent monster movement implemented.
  • Didn't have the genocide spell.

Aug. 8, 1986
Larn 12.0Larn 11.0
Noah Morgan, James D. McNamara

  • The root version that all succeeding implementations branch off of.
  • Originally ran on pre-SysV UNIX and 4BSD.
  • James McNamara was in charge of distribution and patching the release to other sites.
  • Last version Noah Morgan wrote code for. He was aware of PC Larn and the immediate Larn 12.0 derivatives, but no new versions came from him.

Oct. 30, 1986
PC LarnLarn 12.0
Don Kneller

  • Ran on IBM PCs and DEC Rainbows running DOS.
  • Relatively straightforward port, gameplay wise, except he changed the character for the floor to be . instead of a blank space to make it easier to see where you've been.
  • Listed its version as 12a in the documentation.
  • The limited memory on DOS wasn't enough to hold all the data structures for maps in memory. To get around this, the data structures were temporarily written to disk during play and only loaded when needed.
  • Don Kneller also did the port of Hack to DOS as well.
  • Uses a previously-written Termcap wrapper for cross-platform console output written by the legendary Fred Fish.

Aug. 30, 1986
VMS LarnLarn 12.0?
Mark Nagel

  • A port of Larn 12.0 to VMS on VAX.
  • Code was first published on Usenet.
  • Copies have been floating around unplayed for years on archival VMS FTP sites (and of course now that I try to find it, they're all down...)
  • It's unknown if this is related in any way to the VMS-specific code that eventually got merged into the Larn "mainline" that was Don Kneller's version.

October 28, 1987
ST LarnPC Larn?
Howard Chu

  • A port of PC Larn to the Atari ST's GEMDOS operating system

Amiga Larn 12.0PC Larn?
Edmund Burnette

  • Famous for its graphics and was one of the earliest RPGs on the Amiga to have them, supposedly.
  • Two versions known: the initial and 12.0b. 12.0b contained only bug fixes, and so was the one most widely spread and the only one available now.
  • It's most likely, but technically unconfirmed, that this is descended from Don Kneller's PC version.


  • Another fork of Larn that was said to be closer to Ularn in adding new features than vanilla.
  • Only surviving mention of it besides the binary listed above is in the "History and Other Information" section of the file larn122.doc in PC Larn 12.2 and 12.3.
  • No real obvious differences between this and the original PC Larn, but it is presumably longer and harder since you are given 400 mobuls to beat the game now.
  • Clearly based off of early PC Larn directly, since it contains numerous bugs that were fixed in 12.1.
  • Version says "Caverns of Larn, Version 13.0"

Larn 12.1PC Larn
Kevin Routley

  • Added Rogue/Hack-style commands to the game and set them to be the default.
  • Apparently had a very limited distribution, according to the author.

Larn 12.2Larn 12.1
Kevin Routley

  • Changed the characters used for objects to match Hack/Rogue.
  • Faster DOS terminal handling added around this time using NANSI by Daniel Kegel.
  • Also compiled and ran on DEC Ultrix, OS/2, and VMS.
  • Last patch was 12.2.4.

Dec. 1990
Amiga Larn 12.2Larn 12.2
Simon J. Raybould

  • A straight port of 12.2 to the Amiga.
  • Apparently rare. Most or all copies got deleted from distribution points back in the day once the 12.3 version by the same author got released.

BSD LarnLarn 12.0

  • Most widely available version on UNIX systems for years.
  • Larn first publicly added to BSD in 4.3BSD Reno. This led to its inclusion in 386BSD which was the base of the FreeBSD and NetBSD operating systems.
  • FreeBSD removed all of its games years ago to appear more professional and OpenBSD removed Larn for not having an open license, leaving NetBSD as the only modern BSD carrying a version of Larn.
  • Some of the "bsdgames" packages on Linux contained this version. However, it was often later removed for not being free software.

Larn 12.3Larn 12.2
Kevin Routley

  • Minor changes mostly involving graphics and control.
  • First version to use @ for the player instead of the cursor.
  • Most common DOS version, by far.
  • Also compiled and ran on DEC Ultrix, OS/2, and VMS.
  • Version 12.3.1 is simply a bugfix for 12.3.

Apr. 28, 1991
Amiga Larn 12.3Amiga Larn 12.2, Larn 12.3
Simon J. Raybould

  • A straight port of 12.3 to the Amiga by the same author who ported 12.2.

Larn 12.4Larn 12.3

  • DOS-only version that addes ANSI graphics.
  • 12.4.1 was an alpha/testng version for the next release.

Larn 12.4.2Larn 12.4

  • An alpha/testng version for Windows-only 12.4.3.
  • Only worthy of mention for being the base of Win32-Larn and Larn HD.

Larn 12.4.3Larn 12.4.2

  • Windows-only version of 12.4.

Larn 12.4.4Larn 12.4.3

  • A bigfix for 12.4.3.
  • Arguably the last direct version of classic Larn.

Feb. 2008
BSD Larn 12.2BSD Larn 12.0
David Holland

  • Updated the bundled version with the features and bugfixes of Larn 12.2. Still defaults to the original characters and controls, however.

March 12, 2010
Larn 12.4.3Larn 12.4.2
Edwin DeNicholas

  • Windows-specific build with bugs found in 12.4.2 patched.

Mar. 28, 2010
Larn 12.4.4 / Win32-LarnLarn 12.4.3
Edwin DeNicholas

  • Bugfix for the author's previous 12.4.3. Bug found and fixed by Joe Neff.

Larn HDLarn 12.4.4
Donnie Russell

  • A windows port that added sound and color.
  • No classic actions, Hack-style controls only.
  • Eventually developed concurrently with Flash Larn.
  • Had at least two updates: 1.1 in 2011, and 1.2 in 2013.

Flash LarnLarn HD
Donnie Russell

  • Larn HD adapted to Flash for play in the browser.
  • Developed concurrently with Larn HD.
  • Had at least two releases: r2 in 2011, and r3 in 2013.

JSLarnFlash Larn
Donnie Russell

  • Same as Flash Larn, just moved from using Flash to using JavaScript directly in the browser.

SDL Flash LarnFlash Larn
Donnie Russell

  • The author's Flash Larn ported to Windows using SDL. Essentially a rerelease of Larn HD.

JavaScript Larn 12.4.5Larn 12.4.4
Jason Primeau

  • Larn 12.4.4 reimplemented in JavaScript.
  • Also provides graphics emulating the graphics from Amiga Larn 12.0.
  • Has many small gameplay changes for balance (stealth sometimes fails, nerfed the LRS, shop prices rearranged, extra fountain washing effects, etc.)

Oct. 11, 2015
Gibbon Larn 12.4 Larn 12.4.2

  • A code cleanup of 12.4.2 which got the code working on Linux
  • First release ever by Gibbon. This version was publicly available but didn't seem to see wide release.

Dec. 21, 2015
Gibbon Larn 12.5.1 Gibbon 12.4, Larn 12.4.4

  • First official release in the Gibbon series. Contained further code cleanups and many bugfixes.
  • The code was changed to be based on the code from 12.4.4 instead of 12.4.2.

Jan. 1, 2016
Gibbon Larn 12.5.2 Gibbon Larn 12.5.1

  • Has some minor gameplay rebalancing, but is most notable for renaming the Lance of Death to the Great Sword of Death (its price was also doubled).
  • But seriously... WHO THE $#%@ RENAMES THE LANCE OF DEATH?!

Feb. 27, 2016
Gibbon Larn 13.0 / 13.2 / 13.5Gibbon Larn 12.5.2

  • 13.0 was bugfixes and cleanup.
  • 13.2 removed the flail from the game, and a new artifact "a longsword of Hymie" was added (Hymie being the person who hosted the version of 12.4.2 he originally based his version off of and his primary beta-tester)
  • 13.5 was a bugfix.

Oct. 4, 2016
Gibbon Larn 14.0Gibbon Larn 13.5

  • Added color support.
  • Has some gameplay changes to rebalance the changes introduced in 13.2.

Aug. 11, 2017
FreeLarnGibbon Larn 14.0

  • Attempted to rewrite entirely of code base so it could be relicensed under the Apache 2.0 license. (Not done yet.)
  • Code base was changed from C to C++17.
  • HE REMOVED THE $#%@-ING VALCANO! (It's now the "Temple of Larn"...)
  • Added some new items with accompanying gameplay changes.


Ultra-larn (Ularn)Larn 12.0
Phil Cordier

  • This was the first version of Ularn.
  • Copyright says 1987, but was first posted to Usenet in 1989.
  • Had two official patches distributed on Usenet: 1Pl1, which contained bugfixes, and 1Pl2, by Scott S. Snyder, which provided MS-DOS support.
  • Added to Larn: character classes, more types of demon lords, more levels to both the dungeon (10->15) and the volcano (3->5), a slew of new artifacts, and the ability to buy drugs.

Ularn 2.0Ularn
Phil Cordier

  • Last version of Ularn developed by Phil Cordier.
  • Developed until 1997 when it was handed off to other maintainers.
  • Displaying the version identifies the program as "The Addiction of Ularn - Version 2.0".

Ularn 1.5Ularn 2
David Richerby, Josh Brandt

  • Continued development of Cordier's Ularn.
  • Initial release in 2000 was just Cordier's version repackaged. Real development started in early 2001.
  • Biggest addition gameplay-wise was the Vorpal Blade, which was partially implemented in Cordier's version in '92 but unfinished.
  • Had a few updates, almost entirely bugfixes.
  • Version 1.5.1 was put together by David Richerby, after which Josh Brandt took over. It finally implemented the Vorpal Blade and removed the door traps that would cause you to lose a level.
  • Versions 1.5.2 through 1.5.4 were put together by Josh Brandt. These versions were mostly bug fixes and build changes.
  • 1.5.3 was the version with the widest distribution, it appears.
  • 1.5.4 added Cygwin support for Windows.

iLarnUlarn 1.5
Bridget Spitznagel

  • Port of Ularn 1.5 to PalmOS for Palm devices.
  • Version 0.20 from 2000 is the last (and only) stable version, but an alpha version from 2001 named 0.25 is the most recent.

Ularn 1.6Ularn 1.5.4
Julian Olds
  • Graphical version that radically refactored the source code.
  • Claims to be GPL, but since it is an adaptation of Ularn, it is still under Noah Morgan's non-commercial restrictions.
  • Gameplay identical to 1.5 except it added a single new item - the amulet of life preservation, which makes the wearer immune to level drain attacks.
  • Version 1.6.1 added Hack-style interactions similar to Larn 12.2 and the amulet of life preservation. Windows-only.
  • Version 1.6.2 was a X11 version for UNIX.
  • Version 1.6.3 had better graphics, a TTY version, and an Amiga port replacing older ones by different maintainers.
  • Version 1.6.3a was a Windows bugfix.

Nathan Tenny's Variant UlarnUlarn 1.5.3
Nathan Tenny

  • Made a wide variety of gameplay changes. The biggest being multiple-attacks per turn. He also added and/or changed traps, spells, and monsters. See the archive of his webpage for full details.
  • Unfortunately, it appears that this version was not widely distributed or played.

Josh Bressers' Ularn 1.5Ularn 1.5
Josh Bressers

  • Direct continuation of Ularn 1.5.4.
  • Josh Bressers took over as official maintainer from Josh Brandt in 2005.
  • No new official releases since then, but work is actively going on at his Github account.

AmigaOS 4/MorphOS Ularn 1.6Ularn 1.6.1
Alfred Faust

  • A port of Julian Olds' Ularn 1.6.1 for AmigaOS 4 and MorphOS.
  • Ularn 1.6.3 would get an Amiga port direct from Julian Olds making these versions obsolete.

Web Ularn 1.6.3aUlarn 1.6.3a
David Peng

  • Most up-to-date version of Ularn 1.6.
  • Runs in the browser by compiling the C code to JavaScript using Emscripten.

CygUlarn 1.5.4 / Ularn Win32Ularn 1.5.4
Justin Parr

  • Simply Ularn 1.5.4 built for Windows using a modern Cygwin. No new features or changes.

CygUlarn 1.7.0CygUlarn 1.5.4
Justin Parr

  • Added color and ANSI characters to his previous straight port.


Joachim de Root

  • Name is supposed to mean "New Larn".
  • Rewritten from scratch in C with the GPL license.
  • Completely different gameplay from classic Larn. Plays like Angband with the Larn monsters.


  • Named as such because it's an eXtended version of Larn.
  • Commercial "version" of Larn - presumably a complete reimplementation/recreation (hopefully for legal reasons).
  • Heavily extended. Changes gameplay in a lot of ways that aren't clearly documented, or at least public.
  • Work on this *might* have started in 2011 per some copyright notices, but was first made available to the public in 2013 for Mac OS X through the Apple App Store.
  • A Steam version became available in 2016.

Chris Donham

  • Name presumably means "Donham's Larn"
  • Rewritten for Android in Java.
  • Gameplay mostly derived from Ularn.

Missing information: