FORUM ARCHIVED

Lessons learned with Dredmor?

Discussion in 'Dungeons of Dredmor General' started by Kaidelong, Nov 29, 2013.

  1. Kaidelong

    Kaidelong Member

    Looking over things that dredmor did wrong, I've come to think of these as some of the most egregious examples;
    • Savegames should really be self-contained, the player shouldn't observe different behavior upon reloading or be able to change the mods used after the fact. Largely been fixed
    • Providing only hierarchical organization in dredmor mods is the wrong approach when working with content that will subsequently be extended. When you leave an <item> or a <spell> or anything else, subsequent modders can no longer extend the contents inside. Non-hierarchical descriptions like "a wooden sword costs 50 zorkmids" being in its own self contained tag rather than having an item tag for wooden sword and a subtag or attribute for the price does not suffer this limitation, incomplete descriptions can be given and extended later. The flat descriptions can be sugared back to hierarchical ones, but you gain functionality overall.
    • Don't crash mysteriously, fail with some or other message.
    • It's easy to recalculate derived values, and it's stupid to store them to a variable, work with them imperatively, and find yourself ending up with stupid bugs like the dual wielding bug where mutations meant to apply differences are not correctly un-applied and you end up with a gajillion melee power.
    • The best inventories for RPGs with lots of different kinds of items sort categories in advance and have multiple pages in the menu. Breaking from that tradition will lead to whining and frustration.
    • File I/O should be atomic. Crash while writing to a buffer, not while overwriting a save.
    • Crafting isn't just a neat thing that can be tacked on, it takes a lot of work to make it a compelling feature. Largely been fixed
    • Keep things case insensitive, or at least consistently cased.
    • Avoid partiality when dealing with operations over parameters or state. There is a very sensible thing to do when the game removes polymorph when the player isn't polymorphed: do nothing. Whoever did the logic for removing polymorph didn't consider the possibility that the player wasn't polymorphed, so instead, it crashes the game, couldn't unit tests have caught this?
    Anything else people can think about?
     
    Last edited: Nov 29, 2013
    Kazeto, SkyMuffin and mining like this.
  2. Daynab

    Daynab Community Moderator Staff Member

    Armor/armour, pierce/piercing, etc. Basically, typos and consistency.
     
  3. Loerwyn

    Loerwyn Member

    I think David would probably like to put the UI code into that list, but I fear he'd end up in a padded room by the end of his rant.
     
  4. Nicholas

    Nicholas Technology Director Staff Member

    I don't intend to make any of the same mistakes I made with Dredmor. I've learned from these mistakes.

    Instead, we will make new ones!
     
    Kazeto, SkyMuffin and Turbo164 like this.
  5. Ruigi

    Ruigi Will Mod for Digglebucks

    I recall Nicholas talking at length in some video about his experience making Dredmor.If only I remembered how to look it up.
     
    Kazeto likes this.
  6. Loerwyn

    Loerwyn Member


    Not this one, is it? "I'm David, I'm the artist. I do the art." It's not mentioned, IIRC, who the minion was (oh, later on I'm sure it's Sean). Plus I think the artist mentioned later on is the one who gave every creature a butt. Maybe it was Pendleton Ward. He has a lot of butts in his shows.

    Ha.

    Butts.

    (Edit: I totally want to see the Pantheon mentioned, with Nicholas holding the Wand of (Visual?) C++)
     
    Last edited: Dec 6, 2013
    Kazeto, Alistaire and SkyMuffin like this.
  7. Nicholas

    Nicholas Technology Director Staff Member

    You would be thinking of my Dredmor talk from last year at Casual Connect:



    Weird venue, but I had fun! Let's see if they'll have me back for CE.
     
    Kazeto, Gorbax and Alistaire like this.
  8. Loerwyn

    Loerwyn Member

    Oooh, that's tonight's watching sorted then.
     
    Kazeto and Gorbax like this.