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.
The Larn family can be broadly grouped into three categories:
- Larn - versions descended from 12.0 directly, with little to no changes in gameplay.
- Ularn - versions descended from Ularn, which added a slew of new features to Larn.
- Larn-likes - versions that play (somewhat) like Larn, but don't use any of the original Larn code.
(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:
- 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.
|Oct. 30, 1986|
|PC Larn||Larn 12.0|
- 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 Larn||Larn 12.0?|
- 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 Larn||PC Larn?|
- A port of PC Larn to the Atari ST's GEMDOS operating system
|Amiga Larn 12.0||PC Larn?|
- 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.1||PC Larn|
- 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.2||Larn 12.1|
- 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.
|Amiga Larn 12.2||Larn 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 Larn||Larn 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.3||Larn 12.2|
- 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.3||Amiga 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.4.2||Larn 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.
|BSD Larn 12.2||BSD Larn 12.0|
- 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.3||Larn 12.4.2|
- Windows-specific build with bugs found in 12.4.2 patched.
|Mar. 28, 2010|
|Larn 12.4.4 / Win32-Larn||Larn 12.4.3|
- Bugfix for the author's previous 12.4.3. Bug found and fixed by Joe Neff.
|Flash Larn||Larn HD|
- 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.
|SDL Flash Larn||Flash Larn|
- Larn at Donnie Russell's Home Page
- The author's Flash Larn ported to Windows using SDL. Essentially a rerelease of Larn HD.
- 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.5||Gibbon 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.0||Gibbon Larn 13.5|
- Added color support.
- Has some gameplay changes to rebalance the changes introduced in 13.2.
|Aug. 11, 2017|
|FreeLarn||Gibbon 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.
- 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.5||Ularn 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.
- 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.6||Ularn 1.5.4|
- 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 Ularn||Ularn 1.5.3|
- 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.5||Ularn 1.5|
- 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.
|Web Ularn 1.6.3a||Ularn 1.6.3a|
- Most up-to-date version of Ularn 1.6.
|CygUlarn 1.5.4 / Ularn Win32||Ularn 1.5.4|
- Simply Ularn 1.5.4 built for Windows using a modern Cygwin. No new features or changes.
|CygUlarn 1.7.0||CygUlarn 1.5.4|
- 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.
- Name presumably means "Donham's Larn"
- Rewritten for Android in Java.
- Gameplay mostly derived from Ularn.
- If anyone can find any source or executables for Larn 11.0 (or in-depth information about it) or any previous version, I'll be forever in their debt.
- It's not clear right now if VMS Larn was a separate, independent port of Larn 12.0 / PC Larn or if it was simply the beginning of the patches for building on VMS that later on got added to the PC Larn codebase (or both).
- ANY information on Larn 13 from '87. All there is right now is one line in a text file and an old DOS executable. It's supposed to be different, but I haven't figured out how yet besides the longer time limit.
- There were a bunch of people working on PC ports of Larn at the same time as Don Kneller was (a Peter Kerrigan and Andreas Hope both posted on Usenet at that time saying they each had versions to distribute). Did any of those versions make it out into the world? If so, can anyone dig up code/executables for them?
- Additional information on the additional contributors for the early PC Larn releases. What changes were made and when were they made?
- Have any copies of Don Kneller's initial release for DOS (either source or binary) survived?
- Whether the 12a designation for PC Larn was the first version released for DOS or a patch on an initial one.
- An Alexander Perry appears to have provided either code or bugfixes for something in the 12.4 family for building on Linux sometime between 2000 and 2005. Was this another fork of the code, support patches that got merged in along the way, or just maintenance for building on Linux?