Behind every great mod, and even every not so well known mod, is a level editor. With patches more advanced than ever before, the need is arising for smart level editors. Seeing this, I started Abiathar three months ago, as a personal project and programming exercise. Originally just a map editor for the lost episode, it blossomed into a superpowerful Keen:Galaxy editor (of course retaining support for Keen:Dreams).
It may be said, “why did you go to all this trouble just to reinvent the wheel? The Omegamatic is already perfectly functional!” TOM is a very nice editor (and on the surface looks very similar to Abiathar), but Abiathar contains many features that TOM simply cannot match due to the language it is written in.
Some of Abiathar’s amazing new features include:
- Internally stored default resources: don’t need to keep the original files around!
- Tileinfo editing: tweak your tile properties immediately, without leaving the level editor!
- Direct EGA graphics reading: don’t worry about exported graphics format!
- Conglomerate file handling: once you have your resources together, you only need to deal with one dialog to open it again!
- Tileinfo overlay: never worry about solid vs. secret area tiles again!
- Inspectors: check your levels for crash bugs without having to load the game!
- Sound management: add IMF tracks, edit sounds, and set level songs without knowing any patching!
- Automatic patch/batch generation: easily get started modding!
- Combinable infoplane: place infoplane sprite tiles in the foreground!
- Custom, separate infoplane icons: squeeze the most foreground tiles out of your tileset and have visually recognizable infoplane icons!
- Single-level export/import: share individual level files!
- All kinds of config file settings: make Abiathar exactly what you want!
- VeriMaps: sign your levels for authenticity and validate downloaded level sets, in Abiathar or with the VeriMaps tool!
- Extension API: create your own specialized tools and features, share .NET DLLs to extend Abiathar!
- Auto-updater: know about new features immediately!
- ...and of course, every feature you’ve ever heard of or seen in other level editors
Before you begin to experience the amazing power of Abiathar, I recommend you begin to read its help file, at least the Concepts section:
Abiathar help file
Video tutorials too!
Now, let’s look at Abiathar in action!
Inspecting the Security Center in Keen 5, showing the switch link to the platform stopper:
Showing tile properties in Keen Dreams, plus Simultaneous Tileset mode:
Checking out Siege, a Keen 6-style NetKeen level:
Since Abiathar is based on FleexCore 2, some DLL files need to stay with the executable. If you want to compact it down to just one EXE, use this ILMerge setup on it. Drop the three files (Abiathar.exe, FMod.dll, and Interop.dll) into the ILMerge directory and run the batch file. (I don’t publish pre-compacted executables because ILMerge does not produce strictly correct .NET assemblies and I don’t want to be responsible for a faulty program that blows up your .NET Framework. You’ll probably be fine, but it’s not my fault if Bad Things Happen.)
You should really read the Concepts section of the help file before starting to use Abiathar in earnest. Please, read the help file. Please?
My plan is to update Abiathar semifrequently, so it’s probably a good idea for you to download the updater, which will fetch the latest version from the right place.
Alright, ready? Three... two... one... KEEN DAY! (Also thousandth post!)
Download ABIATHAR update client
Or download Abiathar v2.8.8 in ZIP form
To get started with the defaults, go to File – New, select your episode from the drop-down in the upper right, check all the boxes (those are what tell it to use defaults), set the tileinfo drop-down to one that either dumps or reads from memory, and click OK. All the controls are pretty intuitive, but reading the help file is strongly recommended.
Once you close Abiathar for the first time, quite a few settings will get saved to the editor.aconf config file. Its format is pretty intuitive, so it should be pretty obvious how to reconfigure stuff. For more details about the formats of values there, read the appropriate section of the help file. Those settings are loaded when Abiathar starts.
The *.adeps files created when you save a level set are what can be opened later. They don’t store any level data on their own, just pointers to all the resource files. Please do not try to send someone your levels by sending the dependency binder.
If you ever need to place your resource files in a different folder or change the names of them, you should probably create a new dependency binder. (It’s also possible to modify the .adeps, but that might result in some weird stuff if not done right.)
Miscellaneous utilities are also packaged with Abiathar, but you don’t need to worry about keeping a folder full of them – just use the File Emitter. Select what you need, choose the output folder, and click Emit! Some of the more useful are FxTomDMh (necessary for opening TOM-created Dreams files), ManTliMh (very helpful when modifying NetKeen levels), and the Galaxy patchers.
Abiathar was designed with NetKeen in mind. “NetKeen” is present as an option in the Dependency Collector’s episode drop-down, allowing you to open and edit NetKeen levels. Make sure you select "in maphead" for the tileinfo.
If you’re interested in creating extensions for Abiathar, contact me for more information. If you have a bug report (oh no!) or a feature request, by all means pester me until it gets done – but please start by filing an issue at Abiathar Support or by posting something below.
Take a moment to thank the beta testers; without their help, Abiathar would not be nearly as amazing as it is.
- lemm was the first to actually open Abiathar, which was then called Fudge. He requested it to be made into a Galaxy editor, for it was at the time only for Dreams. He also helped with the NetKeen support much later.
- levellass was the first one I sent it to. She found some very important crash bugs and even helped me pull a skeleton out of TOM’s closet – Mink forgot that Keen:Dreams mapheads should contain the compressed header lengths as well! That led to the creation of FxTomDMh, one of a few utilities packaged in Abiathar’s File Emitter.
- Ceilick did perhaps the most important testing: actually using it. Under his guidance, all kinds of features were added, including the Simultaneous Tileset and Lone Editing mode.