AKA : Mud

Changelog

What's new

Every release, newest first. Updating never resets anything: your characters, settings, maps and layouts stay exactly as they were. Get the latest version.

Mapping

  • You can delete a single exit. A wrong doorway used to mean deleting the whole room and walking it again; each exit now has a delete in Properties, and Delete exit… sits on the room right-click menu. It asks about the way back rather than assuming, with the tickbox already ticked when there is one to remove.
  • Room scripts run as you arrive. An Every time you enter body waited for the whole alias to finish, so a twenty move run fired every one of them at the far end. They now run at each arrival, speedwalks included.

Settings

  • A half typed alias stays put. Any # command sent while a settings window was open threw away whatever you were part way through editing, which is easy to hit when you test an alias between tweaks.
  • You can switch a shared setting off for one character. Right-click an inherited row to disable it just here, and switching it back on returns the row to inherited on its own, leaving nothing behind.

Screen reader mode

  • The arrow keys read the review buffer. Stepping through it was silent after the first line, because the selection moved but the focus did not, and the focus is what a screen reader speaks.
  • A burst of output is spoken in full. A three line alias was announced as its last line only; lines now gather into one announcement instead of cutting each other off, while the first line after a quiet moment still speaks straight away.
  • Ctrl+Tab belongs to the review buffer again. A window switcher that arrived with a library update took the key first, so the buffer never saw the press and a second press opened an unfamiliar popup.
  • Leaving the review buffer hands the command bar back as it was found, with the line you last sent still highlighted, ready to overwrite or send again.
  • A fresh reader mode install starts at half volume rather than full.

Soundpacks

  • A soundpack can play from where it is. The import now asks whether to copy the pack in or play it from its own folder, so a pack kept in a synced folder such as Dropbox stays up to date on its own.
  • File > Re-import VipMud Soundpack repeats your last import with no folder picking, for when the pack itself has been updated.

Fixed

  • The map keeps the zoom you set. It was never actually saved, and an automatic fit on load hid that until the map started reopening where you logged off.
  • Opening the settings panel no longer blanks the character window. Everything came back when you reopened the character, but there was no way to tell that at the time.
  • A blank line reaches the game. Enter on an empty command bar now sends, for writing on bulletin boards where a blank line breaks a paragraph, and for the bare Enter that nudges the prompt when you want to check your mana.
  • Move to class… opens. The chooser was there but the action quietly did nothing when you started it from the pop-out editor, where Delete was equally dead.
  • Editing a world now moves its characters with it. Each character carried its own copy of the address, so a window left open could still reconnect to the old one.

Elsewhere

  • New characters connect automatically. The box is ticked when you make one, so it is a single untick if you would rather open offline.
  • Every world has a pencil button, so it is obvious you can edit one. Double-click and F2 still work.
  • Show all classes above the settings tree keeps your classes in view while a search or filter is on, so you can still drag an item into one the filter would have hidden.

Screen reader support

  • New Screen reader mode makes AKAMud readable by NVDA and other screen readers, rather than speaking to you itself. It is off by default, offered as a question during install, and changeable in Preferences at any time.
  • The settings editor, character picker and import can be driven end to end from the keyboard. Sighted players see the same interface as before, with focus rings added.
  • Prompt announcements default to Never: in combat the prompt changes with every exchange, which is the worst moment to have numbers read aloud. Your vitals stay one keypress away.
  • The review buffer opens when you ask for it instead of sitting open in the corner.

Coming from VipMud

  • File ▸ Import from VipMud brings your settings across, then offers to bring the soundpack too, in one guided run instead of two separate imports.
  • The community Akanbar soundpack works: its sounds and the triggers that fire them, with volume keys.
  • Your own VipMud settings folder imports as well, not just a packaged soundpack.
  • The import report says honestly what came across and what did not.

Sound

  • #play takes a volume and a stereo position, so alerts can sit left or right and quiet ones stay quiet.
  • Alarms can repeat.
  • Alt+Space can be bound like any other key.

Right-click menus

  • Right-click the game text for your own menu of commands. %selword becomes the word you clicked and %selline the whole line, so #menu {Kill} {kill %selword} gives you a Kill entry that works on whatever is under the pointer.
  • Words arrive whole, so an item like sword23432 comes through in one piece. You get the word you aimed at even in a fast-scrolling list.
  • #menu lists what you have, #unmenu removes one by name, and menu items live in classes and share like everything else.

Elsewhere

  • Triggers now see the commands you send, as they do in zMUD, so an imported class that watches your own typing works.
  • Send to Shared moves one of a character's own settings into the shared set.
  • Closed button bars stay closed.
  • The map marker stays where you logged off, instead of losing your position every time you reopen.

Fixed

  • Variables survive playing on two PCs. With the data folder inside OneDrive, each machine wrote its own copy at close and one could overwrite the other.
  • Characters with the same name are now tellable apart, with dates and a warning. Three identical-looking characters were behind a "my variables reset" report.
  • %1 and the rest now reach triggers and alarms created inside an alias. #alias mark {#tr {%1} {#cw high,red}} registered a trigger watching for the literal text %1.
  • #t- and #t+ show in the settings editor and outlast the session.
  • Moving a shared button or gauge to a different bar reaches your other characters.
  • With the scrollback split open, the scrollbar pages by what you can actually see.

Sending a command as-is with ~

  • Start a command with ~ and the rest goes straight to the game: no alias, no # command, no exit override. So the self-guarding alias #alias swim {~swim %1} works instead of calling itself forever.
  • The mapper still follows the move, so swimming somewhere maps as it should.

Variable defaults

  • A variable's default now applies: its value returns to that default each time the character loads. Defaults imported from zMUD have been stored all along and are finally used.
  • Set one with #var name value {default}, or in the variable editor with Reset when this character loads.

Fixed

  • Save and Delete stay at the bottom of the settings editor instead of scrolling out of sight. They were at the end of the fields, so on a short editor pane they slid off the edge. The settings window also opens a little larger.
  • An alias or trigger you type now appears in a settings editor that is already open. It was reaching your saved settings correctly, but a view opened beforehand kept showing the older list, so the new alias looked like it had gone missing.

Fixed

  • The command you just sent stays highlighted when you switch to another program and come back, so typing still replaces it. The highlight was being dropped on the way out, and your next keystrokes were landing in front of the old command instead of over it.

Fixed

  • Long waits work. #wait 495000 stopped after a minute instead of the eight it asked for, because every wait was quietly capped at 60 seconds. Waits now run as long as you ask, and a wait beyond 24 hours says so rather than being trimmed in silence.
  • A command you set aside with Down now comes back with Up after you have sent something else. It was still there, but only reachable by going up into your history and back down past it.

Defining an alias

  • #alias {bb} {buy 5 bread} works. That is the form #alias's own listing prints, so a line copied out of it used to be silently ignored.
  • Definitions now confirm themselves: Alias "bb" created or updated, so you know whether you replaced one or made a second. Triggers too.
  • A command that cannot work says so rather than doing nothing, such as #alias with no name.
  • Typed commands only, so a login script defining twenty aliases stays quiet.

Fixed

  • Three rows in the user guide's reference tables, including the wildcard alternation row, showed stray backslashes and split into the wrong number of columns.

Mapping places you swim or climb to

  • swim east, climb up and crawl north now map just as east does, so water you could only swim to finally appears.
  • The verbs are yours to set (MOVEMENT VERBS in the map settings) and come filled in. What follows must be a direction on its own, so climb tree stays an ordinary command.
  • Your command is still sent exactly as typed.

Joining up rooms that are far apart

  • Each exit now has a Leads to box: give it a room number, vnum or alias and the exit goes there. Useful when a room you map today joins one you charted weeks ago.
  • Also link the way back is ticked by default; untick it for a one-way passage. The exit keeps its command, colour and label.
  • Merge with… on the room right-click joins two rooms that turned out to be the same place, even in different zones. Merging now restores the way back out too.

The game's replies look like the game again

  • A reply landing on the prompt row was painted in the colour of things you type. It keeps its own colours now.
  • That merging is also a preference, off by default, so replies start on their own line. Preferences ▸ Prompt ▸ Let game output continue the prompt line puts it back.

Right-click a setting

  • Duplicate, Move to class… and Delete on any setting, in the sidebar or the pop-out editor.
  • Duplicate copies into the same class under a free name and opens it.
  • Move lists every other class; cancelling changes nothing, and dragging does the same.
  • Delete asks first, and reads Revert to shared for a setting you had overridden.

Settings you type now stick

  • An alias or trigger made with #alias or #trigger at the command bar now shows in the editor. It used to work for the session, then vanish.
  • #untrigger and #unalias now remove for good; the setting used to come back.
  • #untrigger also says what it removed, or that nothing matched. It was silent before, so a typo looked like success. #unalias does the same, and only when you type it yourself.

Put your buttons in the order you want

  • Buttons, gauges and status lines have always been drawn in a set order, but there was no way to change it: the order was decided when you made the item and never shown anywhere.
  • Each one's editor now has Position on bar with ← Earlier and Later →, which moves it along its bar one place at a time. The arrows grey out once it reaches an end.
  • Only the bar you are working on changes. Items on your other bars stay exactly where they are.
  • Items that are switched off, or sitting in a class you have turned off, still hold their place in the order, so a move never looks like it did nothing because something invisible was in the way.

Testing a trigger without waiting for the game

  • #print now feeds its text through the client exactly as if the game had sent it, so your triggers match it, and #gag, #sub and colouring all apply. Write a trigger, print the line it waits for, and watch it fire.
  • #echo, #show and #showme are unchanged: they put text on screen and nothing more. That is the difference worth remembering, because a trigger tested with #echo looks broken when it is fine.
  • A trigger that prints the very line that fires it would loop forever, so that one case is refused with a message rather than left to run away.

Scripts brought over from cMUD

  • #if and #while now accept a condition without brackets around it. cMUD writes them that way, so an imported profile could have whole stretches of script quietly doing nothing. They run now.
  • Brackets still work exactly as before, and this applies to what you type as well as what you import.

Also in this release

  • The command bar no longer loses a command you set aside. Down clears the line and keeps what you typed, and Up brings it back, but typing or sending something in between used to wipe it. Whatever you were typing when you go back for it is kept too, so neither line is lost.
  • The built-in guide teaches #print alongside your first trigger, where you are most likely to want it.

cMUD settings import

  • cMUD writes its settings as XML, and AKAMud now reads that directly. Use File ▸ Import Settings… and pick the .xml file, exactly as you would a zMUD text export.
  • Nothing is translated. cMUD uses the same scripting language as zMUD, so your aliases, triggers and scripts arrive word for word.
  • Which classes were switched off comes across with them, so a class you had turned off stays off.
  • AKAMud works out which kind of file you picked by looking inside it, so it does not matter what the file is named or which client wrote it.

The first beta

  • This is the first release meant for a wider audience rather than a handful of testers. Everything listed below is in it, and it is what I play on daily, but a beta is a beta: some corners will not have been walked yet.
  • If you hit something broken, please say so. Email or use the AKAMud channel on the Akanbar Discord, and say what you did and what happened. Bugs get fixed as they come in.

A new look

  • A new application icon, used in the app, on the taskbar and on the desktop shortcut.
  • The installer carries the same artwork, drawn sharp on high-resolution screens.

Map zones

  • Create, rename and delete zones; move rooms between them with Move to zone.
  • Moved groups keep their shape and land in free space.
  • No "link zones" needed. An exit between zones is just an exit, and speedwalks cross it.
  • A zone holding rooms won't delete, so rooms can't be stranded.

Selecting many rooms

  • Right-drag anywhere to sweep a selection box, including starting over a room. Ctrl while sweeping adds to the selection; a plain right-click still opens the menu.
  • Right-click a selected room for a group menu: recolour, move to another zone, or delete the lot.
  • Delete does the same; Ctrl+A takes the level.
  • The delete confirmation says how many selected rooms are on other levels.

Mapping fixes

  • The view stays on the level you're browsing when you delete, move, merge or recolour a room.
  • One-way passages map correctly: when the game contradicts the map, the exit is repointed to where you actually arrived, and no return route is assumed until you walk it.
  • Walking onto a room you've already mapped links to it instead of stacking a duplicate on top.
  • New rooms are drawn in the direction you walked - never north of you after walking east.
  • Start a new map here asks the game to describe the room, so it gets its real name, description and exits. Also available as #syncroom; the command it sends is configurable (map settings ▸ Look command, default look).
  • Deleted every room? The Start a new map here button comes back.
  • Closed doors are recognised as a failed move, so bumping into one no longer loses your position.
  • Bulk edits save once instead of once per room.

Elsewhere

  • The command bar keeps your half-typed command: Down clears the line, Up brings it back. (Esc still discards.)
  • The room properties window is wider, resizable and scrolls, so the buttons are always reachable.

Updating

Getting the newest version

Run the new installer over the top of your current one, or use Help ▸ Check for updates inside AKAMud, which offers to open the download page. Older installers stay available in /downloads/, each with its published SHA-256.