Monday, January 27, 2014

Regarding item descriptions and ADOM 1.2.0p21...

Here's a change to the inventory screen… probably the first visual change in 12 years. Or rather "the first set of visual changes". Do you notice the difference?

This is my reaction to yesterdays blog post. I still need to add this to the stuff list, too, but that should be a matter of half an hour or so (including testing) tonight. Notes can be up to 20 characters long.

Sunday, January 26, 2014

Pondering item inscriptions

Right now I'm fiddling with various ways of making ADOM more accessible to newbies (due to a small creative block regarding the final touches to the domain of the ice queen… *sigh*). While paging through the ADOM forum and the various RFEs / bug reports I among other things stumbled upon the topic of item inscriptions.

Sunday, January 12, 2014

Unboxing prerelease 2 of the ADOM Lite RPG

Hi everyone!

A while ago I previewed an early version of the upcoming ADOM Lite RPG. Today prerelease 2 arrived in the mail and below is the unboxing video:

In the meantime (while this got printed and shipped) the proofreaders did a lot of amazing work on the text and I now have a very long list of changes to apply. I will restart my work on the ADOM Lite rules once prerelease 21 of ADOM is out (which basically means that I need to finish my work on the domain of the ice queen, which is awesome fun). This will probably take another week or so. Then I'm back to the ADOM Lite rules to get this task finally finished.

Oh, and please ignore the other RPG books I procured from Lulu. It's stuff I wanted to own for a long time ;-)

Saturday, January 11, 2014

Sometimes code archaeology is no fun...

…as I just had to discover while adding a new attack power for monsters to ADOM (related to the new domain of the Ice Queen but in the future also usable for other beings). I just noticed that killing a monster is handled inconsistently throughout the code.

The short version is that a lot of reactions can follow to killing a monster, from quests being fulfilled to alerts being raised to other monsters becoming hostile to various internal statistics being affected, etc. This gets more complicated by the fact that monsters can be killed either by the PC or other monsters (which may sound trivial but which it is not as the initial code did not consider monsters killing monsters and this stuff got tacked on later). In fact there now exist about half a dozen of methods handling the death of a monster, all in slightly different ways, sometimes calling each other in ways I no longer understand (or which are just wrong).

As the problems usually arise only in marginal cases (but maybe not always) it might be that nobody notices the effects. And we wouldn't be extending the game, it would not be a problem. But as I am extending the game right now, it is a problem - as I don't really understand the correct way to notify the game about the death of a monster anymore (due to the existing variants).

The consequence is simple: refactoring for unification. The actual execution is not, as 180.000+ lines of code need to be analyzed and who knows what kind of inconsistent results might occur. I guess that Prerelease 21 will be interesting in more than one respect. Sadly it will be very hard to roll back such a sweeping change if it causes major problems.

Oh well… Frankenstein also had peculiar problems with his resurrection approach… so why should this be different?

Monday, January 6, 2014

Turning Appearance Into A Useful Attribute

All caps headlines for important things, yeah :-) So what is this about: Finally making Appearance as an attribute in ADOM somewhat useful. Nicholas Benson proposed a change I either never have heard before or missed. Anyways, here we go…

Sunday, January 5, 2014

The new tutorial mode and hint system in ADOM

Today I'm happy to present the newly implemented tutorial mode with its integrated hint system. Both have been added in order to make ADOM more newbie friendly. Both modes are far from finished but now provide a rock solid foundation to extend upon.

Saturday, January 4, 2014

Preparing ADOM for a more interesting late game

I had two interesting revelations about actual ADOM game play during the past couple of days (which might sound surprising from the creator of the game - but it's not that surprising if you consider the fact that I have neither the time nor the skill to enter the ADOM late game very often without cheating ;-) Still I'm surprised :-D ):
  1. There usually is not enough experience to be gained to reach the very high PC levels (40+) before you are extremely close to the endgame. This also comes from the challenge of having to balance experience acquisition and corruption. We have talked about that.
  2. Actually many of the higher level monsters almost never show up in the game. Another thing that never was clear to me. I also learned about that in the above-mentioned thread.
As I actually wanted to work on new maps and quests I was quite shocked about these revelations as more late game quests probably don't help much if you can neither gain much experience from them nor get corrupted too fast. So I decided to change two details about ADOM as an experiment:
  • I have slowed down the corruption rate for dungeon levels 30+ somewhat (reduced them to something between 80% and 33%). Just to provide more breathing space for the later levels.
  • I have looked intensely at the way monsters are distributed in ADOM. And actually found a surprising fact (which I was pointed to by the statement of one poster that even in the very late levels there are too many bats, goblins, etc.). The current monster distribution algorithm works like this:
    1. It assigns a rarity to each monster. 
    2. If the basic monster danger rating is more than 10 levels below the level of the PC, the rarity value will be used as is. 
    3. Otherwise the standard rarity will be halved (making it rarer).
    You notice one problem? The actual dungeon level never factors into this calculation! So I now have changed the algorithm to work like this:
    1. The monster danger rating is compared to a range rating consisting of the average of twice the danger rating of the dungeon level and the level of the PC (e.g. if you are playing a level 20 PC and venture to a dungeon level with a danger rating of 40 the actual danger rating will be (20+ 2 * 40) / 3 = 100 / 3 = 33.
    2. If the monster danger rating is more than 20 levels below that averaged danger rating it's almost impossible to encounter such monsters.
    3. If the monster rating is more than 10 levels below that rating it's only half as likely to be encountered.
    4. Otherwise the default rarity is being used.
This adjustment probably will be quite a heavy change to the later game and I'm very curious to see how it will work out. Maybe we break things for a while but as the change is a very local one it's also very easy to revert or adjust. So I am very much looking forward to playtesting experiences starting with ADOM 1.2.0p21 (oh, and if you are not yet a prerelease tester you might want to decide to become one).

The original code really is weird - very low level monsters (compared to the current PC level) are a lot more likely to occur than appropriately leveled monsters. It will be interesting to see if this change wrecks the whole game balance but as it's easy to revert I'm applying it.

Issue 2601 documents this adjustment.

Steep experience curve (sometimes I'm really surprised)

While asking for feedback about what kinds of new quests and maps might be interesting (thanks for all the amazing feedback - so far it has been extremely enlightening) one thing came up that I for a long time hadn't been aware of: Several posters mentioned the fact that PC levels between 25 (some said: 30) and 50 only are gained after coming to dungeon level 50 in the CoC and starting Balor killing.

Friday, January 3, 2014

Tackling the new quests & maps for ADOM

Part of the crowd funding results have been quite a few new quests (and maps) to be added. Five of the quests have been explicitly labeled as "quests that will be created with the community" but as usual I would like to use a combination of comment feedback & ideas mixed with my own decisions to create the final implementations.