[v2.11.3] Abiathar: The superior Keen Galaxy editor

Here is where to post about the latest Commander Keen fangame or modification you've finished, a new website you've made, or another Keen-related creation.
Post Reply
User avatar
Fleexy
Tool Smith
Posts: 1432
Joined: Fri Dec 12, 2008 1:21
Location: Abiathar C&C

[v2.11.3] Abiathar: The superior Keen Galaxy editor

Post by Fleexy »

Celebrating three years of Abiathar - Keen Day 2017!

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
And that’s not even mentioning the amazing new tools like the Path Plotter and the Tile Instance Remapper! Even the commonplace tools that you expect in any level editor have been extended and empowered in Abiathar! (Read the help file for comprehensive and detailed information on tools and features.)

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:
Image

Showing tile properties in Keen Dreams, plus Simultaneous Tileset mode:
Image

Checking out Siege, a Keen 6-style NetKeen level:
Image

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.11.3 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 (which can repair TOM-created Dreams files), ManTliMh (possibly 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 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 has continued to provide suggestions for tweaks.
  • 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.
Well, I’ve typed enough. Thanks everyone; Keen Days 2014-17 are ones to remember! (Use Abiathar to make the next even more amazing!)

Ben Nordick
“Fleexy”
Last edited by Fleexy on Thu Jul 28, 2016 19:03, edited 40 times in total.
User avatar
guynietoren
Vorticon Elite
Posts: 886
Joined: Sat Mar 13, 2010 2:57
Location: Kansas City
Contact:

Post by guynietoren »

Wow this is massive. Even the manual looks nice!

Just one question. Where did the name come from?
User avatar
KeenRush
Android Dummy
Posts: 2560
Joined: Sat Oct 27, 2007 20:57
Location: KEEN1.EXE
Contact:

Post by KeenRush »

Looks pretty cool. :eek Maybe this will get me trying some Keen 4 levelling again?
My newest mod - Commander Keen: Sunset: viewtopic.php?t=8568 | codename H.Y.E.N.A.
User avatar
Roobar
Vorticon Elite
Posts: 3263
Joined: Tue Jan 08, 2008 16:12
Contact:

Post by Roobar »

KeenRush wrote:Looks pretty cool. :eek Maybe this will get me trying some Keen 4 levelling again?
That's exactly what I thought. This editor is really a nice surprise. The new features looks awesome. Plus, the auto updater is something promising. Also, cool name, though I too don't know what it means (not that it's that important anyway).
User avatar
lemm
Blorb
Posts: 696
Joined: Fri Jul 03, 2009 10:18
Location: canada lol

Post by lemm »

This looks great! I'll definitely switch over to using this for my Keen projects.

Do you still plan on adding more features to Abiathar in the coming months?
User avatar
Fleexy
Tool Smith
Posts: 1432
Joined: Fri Dec 12, 2008 1:21
Location: Abiathar C&C

Post by Fleexy »

Originally, when this was just a Dreams editor, its name was Fudge because Fleexy understands Keen:Dreams and gives an editor. Then, about a month ago (a while after the expansion to Galaxy), I realized it needed to have a more impressive name. For both sound and meaning, I chose "Abiathar", the name of one of David's mighty men from somewhere in Jewish/Christian history. Other names that were considered were "Cataclysm", "Universal Toaster Cannon", and "Shock Maps."
lemm wrote:Do you still plan on adding more features to Abiathar in the coming months?
Yes. I already have some tweaks ready; that update will be pushed via that magical auto-updater in a few days. I'd like to add support for migrating Keen:Next maps and maybe for reversing the effects of the super derpy fake Carmackization CK Guy used a few years back. I might add a tileinfo editor in a couple months and I've been fantasizing about integrating graphics work too - that would take quite a while to get a decent UI on it.

I'll of course implement any simple features people come up with in a matter of days. Reported bugs (of which I'm pretty sure there are extremely few) will be dealt with immediately.
Ceilick
The Dude
Posts: 1670
Joined: Mon Sep 22, 2008 20:10
Location: Seattle

Post by Ceilick »

I wish I had more time to give feedback the last few days, sorry :dead

But from what I've seen, Abiathar is the future of Keen Galaxy level editing and possibly of Keen Galaxy modding altogether.

More than well done, Fleexy :)
User avatar
MoffD
Vorticon Elite
Posts: 1220
Joined: Thu Jul 05, 2012 17:30
Location: /dev/null
Contact:

Post by MoffD »

I am having way too much fun with this:
Image
This has an amazing tile interface, well done Fleexy!
mortimermcmirestinks wrote: Now I wish MoffD wasn't allergic to me.
Levellass wrote:You're an evil man.
Image
Dynamo
Vorticon Elite
Posts: 783
Joined: Fri May 08, 2009 22:03
Location: Everywhere.

Post by Dynamo »

I haven't tried it but it looks great. Excellent work there Fleexy :)
User avatar
Flaose
Vorticon Elder
Posts: 568
Joined: Sat Oct 27, 2007 20:30
Location: The Frozen Hell
Contact:

Post by Flaose »

Beautiful.
Cerebral Cortex 314 - For All of your Commander Keen Needs.
Eat at Joe's
User avatar
MoffD
Vorticon Elite
Posts: 1220
Joined: Thu Jul 05, 2012 17:30
Location: /dev/null
Contact:

Post by MoffD »

I was wondering: Is there a way of manually selecting the infoplane? you have the linker tool which is handy but is there a way of using it for, say making a barrier until you complete a level (I.E. the wooden gates from the forts in 4 or flags)
other than re-sizing the map to 208 width and clicking on (208,numberoflevel)?
at least that :stoopid works for now if I need a tile that disappears after hillville
mortimermcmirestinks wrote: Now I wish MoffD wasn't allergic to me.
Levellass wrote:You're an evil man.
Image
User avatar
Fleexy
Tool Smith
Posts: 1432
Joined: Fri Dec 12, 2008 1:21
Location: Abiathar C&C

Post by Fleexy »

An excellent question! Anticipating this, I had written a section in the documentation about it (see "Tile ID Entry" under "Advanced Use", page 25).
I wrote:Right-clicking any of the selected tile bay images will produce a dialog that allows you to type the tile ID to put in that bay.

Entering world map infoplane values (and possibly all values) is easier to do in Hexadecimal mode, which displays the number like the selected tile captions do.

The following high (first) byte values have special effects on the world map. The low (second) byte specifies the level ID to which it applies.
ï‚· C0 allows the player to enter the level when on that tile
ï‚· D0 acts as a blocking tile until the level is completed
ï‚· DD always acts as a blocking tile
ï‚· F0 will receive the K flag when the level is completed

For example, an infoplane value of F00A marks the flag holder for level 0A (10).
That's a pretty impressive work-around, I've got to say. I'm honored to have you as a user!
User avatar
MoffD
Vorticon Elite
Posts: 1220
Joined: Thu Jul 05, 2012 17:30
Location: /dev/null
Contact:

Post by MoffD »

Ahhh, I guess I should read the manual more thoroughly
I was a little confused about what you meant by "tile bay image" but I figured it out anyway ;)
mortimermcmirestinks wrote: Now I wish MoffD wasn't allergic to me.
Levellass wrote:You're an evil man.
Image
Keening_Product
Kuliwho?
Posts: 2166
Joined: Fri Jan 20, 2012 7:02
Location: Tied up in the Oracle Chamber's basement
Contact:

Post by Keening_Product »

Can't get any of this to run under WINE on Ubuntu. Given this is made in MS.NET I assume a Linux port is a long, long way away?

What I've seen here and in the manual is neat though.
Keening_Product was defeated before the game.

"Wise words. One day I may even understand what they mean." - Levellass
User avatar
Fleexy
Tool Smith
Posts: 1432
Joined: Fri Dec 12, 2008 1:21
Location: Abiathar C&C

Post by Fleexy »

Yeah, Linux support is not even on the implementation queue right now. I was hoping that everyone would have a Windows machine, and it seems most do, but I can't go cross-platform and keep all the amazing features. (In fact, I'd have to learn some other language and re-implement everything.)

Have you tried Mono? It claims to be a complete Linux implementation of .NET, though I haven't actually looked into it very much. EDIT: Here's a compatibility report; Mono is nowhere near accommodating the awesome power of Abiathar.

Official system requirements
Minimum (works with High Speed Mode):

Code: Select all

* Windows XP
* Microsoft .NET Framework 4.0
* 512 MB of RAM
* 2Ghz processor
Recommended:

Code: Select all

* Windows 7
* Microsoft .NET Framework 4.5
* 2 GB of RAM
* 3.66Ghz multi-core processor
In other news, the v1.1 update is on the way; we'll see it publicly out in one or two days! Integrated tileinfo editing, anyone?
Post Reply