Tuesday, June 10, 2014

Awesome new movement commands coming up (and more)

At least I think so. I shouldn't be talking about features that are not yet fully implemented but as I'm going to bed soon and things look as if they will work out in a most awesome way by tomorrow I just had to talk about it :-)

Today I spent some time working on more reasonable mouse controls for ADO (when playing NotEye). It seemed to be natural to left-click onto some arbitrary known spot on the map and then have the PC walk there in the most sensible way.

So I implemented that in ADOM (Jochen and Zeno still need to integrate it with NotEye once I do my check in but the basic infrastructure and code now is there).

The next reasonable thing to do was to implement an "explore unknown areas" command - having the PC walk to the nearest reachable unexplored place on the map. That also was trivial to do (ok, for both of these commands I'm sparing you some tricky special cases with the existing code I only discovered through testing but things seem to be working out by now).

So right now I have a "w*" command to walk to a specific spot on the map (avoiding trap and altars, trying to avoid monsters and closed doors, etc.). It's basically more useful when being invoked by NotEye as a reaction to left-clicking some spot on the map but bare with me ;-) We now also have a "w?" command that walks all over the map until you are interrupted (as long as there are reachable places that have not yet been explored). Right now I'm considering to make this invokable by double-right-clicking with the mouse on any arbitrary spot on the map.

And upcoming commands will be "w>" and "w<" to reach the next known stairs. Or choose from all known stairs. I yet have to make up the details but my guess is that ADOM soon will be immensely efficient at exploring maps.

I guess we finally are getting to the point where the UI becomes truly cool and modern (although graphically there still is much to be done - but Krys is devising one awesome scheme after the next). Below you find a few samples (not yet implemented, all very experimental - we are still at the discussion stage and probably will be going through another dozen samples for various concepts before changing the UI in a more graphic way), just to give you an idea about where we walking while we are heading to some awesomely modern interface (and it's a long road, believe me):

Toying around with the start menu (but it will be very different as tomorrow I will start working on several new game modes for ADOM Deluxe and they won't fit into this scheme):

Experiments with a more graphical UI - but there is so much we can do to improve this... just take it as an sample for some of the things going on behind the scenes (Krys probably is going to kill me for showing his experiments :-D ;-) )

A much more beautiful window for hints (but the proportional font currently is one of the big challenges):

So to summarize: Look forward to awesome new movement commands in the near future and look forward to a much more beautiful UI in the somewhat more distant future - but given a successful launch on Steam you will see this and so much more I'd really be killed for talking about it now ;-)


  1. Looks very nice. You've really gone beyond my expectations from the campaign as far modernizing the game.

  2. Hooray! I distinctly remember a tweet of yours where you said the level structures in ADOM made implementing auto-exploration difficult, so I wasn't expecting to see this anytime soon. A really pleasant surprise, thank you!
    Just a reminder: after adding these commands you can close issue 2985 in the forum; another suggestion, only half relevant, is issue 1685.

    1. With the implementation of w< and w> you can close my issue (1685) for sure - it basically satisfies my request (easing tedium of inter-level travel).

    2. Actually I think I'm now pretty close to have a real "travel" command where you can choose the target location :-)

    3. @atomos: Yeah, it actually was somewhat difficult but we have cleaned up a lot of things in the meantime. Step by step ADOM programming is becoming a pleasure again (ok, not a pleasure, but it's not too painful anymore from the pure code point of view ;-) )

  3. This is REALLY neat stuff. As much time as I've spent "laboring" through previously-conquered levels to traverse up/down, I can't believe that I've never considered this feature.

  4. Wow! I'm really happy to see this feature :)