FORUM ARCHIVED

Tek's Modding Questions

Discussion in 'Modding' started by Tekk, Jun 11, 2012.

  1. Tekk

    Tekk Member

    Hi all! I want to try my hands at creating mods for this game! I have twelve buckets full of ideas, but none the skills to make them become reality.... yet.
    Unfortunately, though, I am a dumb Diggle, and after reading and lurking the wiki and the forum for a couple of days, I'm still pretty damned confused about a lot of things.

    However, I understand that I won't get anywhere just sitting around, so today I will start on actually getting work done, by messing around with what seems to be the easiest thing to work with: Rooms.

    I'd like to dedicate this topic to the undoubtedly numerous questions I will have along the way. I'll try my best not to ask too many questions that could "easily" be found elsewhere if I looked hard enough, but if I do ask the obvious don't get too mad or I will be sad. And my mom says there's nothing worse than a sad Diggle!

    Anywhoo, thank you in advance for any help!

    Right off the bat, some burning Q's:

    1. What exactly does the entire XML set up entail? I have found info on this stuff to be way too vague.
    -Firstly, are these just text files with .xml at the end of the name? Do I need a specific editor to create these or will notepad suffice?
    -What do I name my XML file for rooms? rooms.xml? roomDB.xml?
    -What about branch.xml? We need to create one of these for a mod to be complete, correct? I have yet to see any tutorials on how this one is done.

    2. Any tutorials for creating new flavor text?
    -Generally, I want to make a couple new random-gen text and what not for every themed mod I create (should I ever reach that level).
    -Can anyone point me to how to do this? What .xml file(s) we need to create and a template for what to write in it exactly?

    3. Rooms
    -Rooms MUST take up a rectangular space, correct? Can other rooms intersect fields of unused wall space, or will I be taking up invaluable dungeon space with a trillion #'s spreaded between a U turn shaped room?
    -About the x="#" and "y=#" co-ordinates. The number values can be double digits here, right? (Probably an unnecessary and stupid question, but since I'm here....)
    -Also, what's the starting point of these co-ordinates? The bottom left corner? And if so, is x="1" y="1" the bottom left corner, or is it x="0" y="0"?
    -For percent="#" , we can use triple digits for 100? (Or do we just not include the percent in that case? Same question goes for uses in Spells.)

    4. Art
    -I'm terrible at drawing. I couldn't draw the letter T properly and straight with a pencil, let alone a mouse. It's just never been a practiced skill of mine. Needless to say, I have no experience in creating sprites either. The ideas are there, but I can't transfer them onto paper (or computer). What are my options here? I can't have a proper mod without custom artwork, eh?
    -What's the community's and the workshop's stance on copyrighted images? I'm not exactly planning to rip sprites right out of the most popular game ever and then put the cover of New Super Mario Bros. as my mod's icon. I'm rather asking about art that might belong to someone, somewhere in North-Eastern Uzbekistan, who the world doesn't even know about, yet his picture is on the 4th page of a Google Image Search. Do you guys care? Does Steam care? It's not like I'm using them for monetary gain. (Yeah, I know there's more to copyright than that, but I don't really care for all this stuff to be completely honest. It's all based on twisted capitalist morals if you ask me.)

    At the very least, I can use public community resources from the olden & golden days of RPG Maker, without anyone biting my head off, right?

    -Image dimensions. Do we have a topic somewhere that lists the correct dimensions for each icon type, and the file format that must be used? Also, is there a specific recommended image editor for the sprites, or do you all just make do with what you've got?
    -Transparency. How does the game recognize transparent space? Do white pixels count as transparent, or do we need to use an advanced image editor to mark fields for transparency?



    Whelp, that's it for my incessant nagging for now. :confused:

    I'm off to experiment and such!
     
  2. Aegho

    Aegho Member

    1) Notepad will suffice. Aside from the DB.xml files you want to mod, you'll need a mod.xml(download any mod for an example), I haven't messed with rooms or branch personally.

    2) Skills, items, rooms, etc have flavortext in them(for skills/items it's <description text=""/>, for more general flavortexts there's text.xml and speech.xml

    3) Ask FaxCelestis or Bergstrom.

    4) Dunno what the concensus is on copyright, but try to keep it to a minimum, there's a style to adhere to if nothing else. You can use core files art as well, and it's pretty easy to run them through an editor and do simple variations like colour shifts. Try http://pixlr.com/editor/ it works well, and doesn't even require a download. (Others swear by mtPaint, and Gimp, both free downloads). Its recommended to edit in 400% magnification(or better if your program of choice allows it). RPG Maker stuff is likely to clash heavily with the art direction and look wildly out of place.

    Art must be in .png with a transparent background(unless it's a skill icon and then it should simply be a completely filled .png). 64x64 or 32x32 for most things, sprites for special effects can be larger.

    I suggest you romp around looking at the game files, both the xmls and the art, and download some mods as examples.

    Folders of special interest(in Dungeons of Dredmor main directory): \game, \skills, \sprites\sfx
     
  3. Kazeto

    Kazeto Member

    Welcome aboard. We have insane and insomniac people there, you can choose which category you belong to.


    Notepad will suffice. You generally want something more than just plain notepad (like Notepad++, at the very least), but for as long as you don't need to compile anything, any text editor suffices for writing code.

    Names are the same as corresponding names in the game's files. In this case it's "rooms.xml".

    Nay, you can leave that file be.

    This one
    To elaborate: There are no tutorials for writing flavour texts. What you need is creativity, and the only way to get more of that is to either try really hard, or read/write more books.

    If you want to create flavour texts that show up inside of certain rooms, then it's all in "rooms.xml" file.

    You might want to take a look at the "Inception Room", which is a mod-made room that can have a different room inside of it. So no, they don't really have to take a rectangular space. It's slightly easier for the level generator if they do, though.

    Yes, you can write 'percent="100"'. Anything higher than that will either become 100 or glitch (I never cared enough to check).
    Most things default to 100% if that parameter is not there, but there is one trigger (or two) that has a different default value. You should be safe while editing "rooms.xml", though.

    Pixel art is your answer. It takes some time, but even drawing-disabled people can do it if they have patience.

    And since your sprites aren't going to be large, you can afford to draw them pixel by pixel.

    For as long as it's not blatant sprite-ripping and is only there to make it easy to see that a certain mod is supposed to be based on something, I don't think anyone would complain.
    Steam might care, so it would probably be better for you to ask someone to make an icon for you if you plan on uploading it there, just to stay on the safe side.

    Why not?
    And, while we're at it, Fax has a thread in which he places item/terrain sprites that he made randomly. It might be a good source for you.

    I don't remember the exact data now, but there was something about it.
    I think that blocker (terrain objects) sprites' dimensions had to be divisible by 8. And skills' sprites' dimensions are 32x32 and 64x64, appropriately. And items always have the same dimensions.
    There is also some fun with indexed/RGB thing...

    As for the image editor, personally I'm using GIMP (out of habit) and Sai (which is better suited for drawing with a tablet, which I have lost the last time I moved). Other than that, it depends on what exactly is it that I am doing.

    It does, though I wouldn't use Paint for that.
     
    zellking likes this.
  4. Daynab

    Daynab Community Moderator Staff Member

  5. FaxCelestis

    FaxCelestis Will Mod for Digglebucks

    branch.xml is deprecated and unnecessary. You can create and edit an xml file in any text editor. Notepad++ comes highly recommended. The correct file name is rooms.xml


    Items and furniture have their descriptive text linked to the items themselves (in itemDB.xml and rooms.xml, respectively). For things monsters say, names of rooms, names of artifacts, etc., look in text.xml

    Rooms do not need to be rectangular. They do need to have a contiguous wall surrounding the entire room. Coordinates start in the upper left most corner, as x=0, y=0. Percent defaults to 100: only include it if you want a lower chance.

    I recommend mtPaint. Google it. Skills are 64x64 in the skill book, 32x32 on the spell bar. buffs on the upper left are 64x64, buffs on mouseover are 32x32. Monsters are 64x64, items are 32x32. All images are indexed pngs. Don't index your pngs with GIMP because it crashes. You'll have to mark transparency.
     
  6. Aegho

    Aegho Member

    There are exceptions, I believe triggeroncast defaults to 5%.
     
  7. FaxCelestis

    FaxCelestis Will Mod for Digglebucks

    triggerons do default to 5%, but you shouldn't be using those anyway. Everything else defaults to 100%.
     
  8. Aegho

    Aegho Member

    Not aware there was a castBuff, pretty sure you're stuck with the triggeron in that case, but meh.
     
  9. Tekk

    Tekk Member

    Sweet, thank you for the info, guys! However I still don't understand some things:

    -branch.xml isn't needed. Okay. But then how do we reference the names of our custom skills, maps, etc?
    Doesn't there need to be some "mother" file that lists and links the game to this new content?

    -By flavor text, I meant new monster quotes, mini boss names, loot names and such random generated terms. How would I go about adding custom ones?

    Yeah, I've been reading that the most. It's a work in progress thing though, so it leaves lots of questions for someone like me.

    I'm off to get some sleep now, thanks again for the help!
     
  10. Kazeto

    Kazeto Member

    "branch.xml" contains data used to give floors appropriate themes. You don't need to fiddle with this file if you aren't planning to make an overhaul of floor themes.

    Not really. The game just reads everything out of the data files, so whatever you add (whether you add it to the main files or as a mod), it will be loaded. The only difference between the two being that you have to choose to load the mod in the mod loader, but that is really easy.

    Names of mini-bosses and artefact items are generated randomly using data contained within the "text.xml" file. And monster quotes are in the "speech.xml" (or "text.xml", or both). Normal items (the ones you randomly find on the floor) are all in "itemDB.xml", and the only way to add more of them is by adding new items to the game. Either way, the only way to add any of the above to the game is to have an idea for them, and be able to use a text editor to write it into the files.
     
  11. FaxCelestis

    FaxCelestis Will Mod for Digglebucks

    Nope.

    Look in text.xml.
     
  12. Tekk

    Tekk Member

    Well essentially what I want to know is how the Jay's Phoneme mod and Rambunctious Ramblings mods were made. I want to add additional random-generated item, room and monster names. I know not all items/monsters have random names, I am not talking about those. In the meantime, I'll look around in text.xml

    EDIT:
    Ok, I see now. What I'd like to know is, when we want to add new phonemes or whatnot, we need to create a text.xml and only include our new additions? The game will read this and essentially add it to the base text.xml while it's running? The random-generator will include it with all the other stuff without no problems right?

    EDIT 2:
    Hmm, I see insult texts both in text.xml and speech.xml
    speech.xml is all about profiles, which I'm guessing is assigned to monsters as people create them. Am I right to assume that if you don't assign any profiles for monsters, it will default to the insult speech found in text.xml?
     
  13. FaxCelestis

    FaxCelestis Will Mod for Digglebucks

    Speech.xml doesn't do anything.

    Text.xml, like anything else, only needs your additions in your mod.
     
  14. Tekk

    Tekk Member

    Are you sure about Speech.xml? In it, it says you can create profiles for monsters, so they can use specific speech to set them apart from others. Does this not function at the moment for mods?
     
  15. Null

    Null Will Mod for Digglebucks

    It does not