Wondering about the source code...

Discussion in 'Dungeons of Dredmor General' started by lujo86, Nov 2, 2012.

  1. lujo86

    lujo86 Member

    Did anyone ever wonder, out loud, exactly how difficult would rewriting dredmor be? Ok, so it would be illegal, and immoral, and all that... But if someone was to up and recode all the hard-coded stuff in a manner that allowed for further modding support, by trial and error, as one of those things that happen on the internets?

    It's not unherd of, since I saw guys dismantle games and rewrite them, and I think this hapened to desktop dungeons alpha a couple of times (much simpler game, ofc) but one time a guys just rewrote it for a different format and gave it up to the devs with no malice intended...

    How hard would it be?
  2. Daynab

    Daynab Community Moderator Staff Member

    Programmers aren't typically pleased to see someone brute forcing through their code against their wishes, especially if said programmers have mentioned plans to put it open source at some point. Hopefully you can understand this and take the discussion elsewhere if you really want to go there.
  3. lujo86

    lujo86 Member

    Ofc, it really came out the wrong way.

    What I meant is - how complex IS DoD compared to any other Roguelike? Recreating the flavour and the destilled british humor / pop culture / tvtropes-the-game is obviously impossible, I was wondering about the unobvious mechanical stuff someone might point a finger at and say - if you went and rewrote it (like from scratch, without seeing the source code), you'd have to figure this, and this, and this... It's completely unclonable on flavour grounds, that's why I felt like asking about how difficult would it be to "clone" it without flavour? Because if it goes open source and people start trying to add new stuff, they'll probably end up having to write it from scratch (saw it happen a few times), and if it doesn't go open source and someone wants to learn from it's model - what is he looking at exactly? Roguelikes are notorious for being insanely complex to code, yet diablo spawned so many bloodless clones it's unbelievable and the two games are very much alike, so it's sort of trying to figure out what complexities of roguelikes did DoD manage to get rid of.

    All the "illegal immoral" stuff was just there because I wanted to anticipate people taking it the wrong way, and it led to me sounding the wrong way about it. Well, if it's a touchy subject feel free to delete the thread, I'm actually sorry.
    Kazeto likes this.
  4. Daynab

    Daynab Community Moderator Staff Member

    It's alright, just wanted to be clear with you.

    Well I'm not a programmer (yet?) so I can't really elaborate on the technical aspects, but you would need to have a really good understanding of the programming language, even if the source was available. Perhaps even more so, due to having to read through someone else's code, which may not make much sense (I have no idea for DoD, haven't seen it.) In this case, C++ being notoriously hard to get into if you're not a programmer.

    I don't think roguelikes are particularly hard to code compared to other games (just it being turn based probably makes it easier) but if you're interested in such things you may want to check out http://roguebasin.roguelikedevelopment.org/index.php?title=Articles

    If you think about it, what DoD has that is different is flavor and accessibility. Mechanically it's not that different from other roguelikes (except for crafting, which some do have, and a few other things.)
    Kazeto and lujo86 like this.
  5. mining

    mining Member

    The best way to do this would *probably* be by memory editing.

    i.e. provided you could find out an effective way to find out where i.e. paperdoll items were (what you have equipped) you could check to see if they have a certain item equipped, then if they have that AND a given skill, give them bonuses (i.e. new weapon skills, armor skills, tome skills, etc.)
  6. lujo86

    lujo86 Member

    Ty, sorry about the postitively stupid way of approaching the subject. I've checked over there a bit at various times, I'll go have a look.

    And I did think about it and my conclusion is that the flavour is such a perfect storm of so much awesome fromall walks of pop-cultural life, that it is "unripoffable". For example, they weren't just quoting and ripping off british humor, some of this stuff is so good that it's right up there with the moment's in the history of british humor when it actually lived up to the reputation it has today. Seriously, as a life long fan of the better moments of Blackadder, and the finer points of Terry Pratchet, I haven't been this consistently amused by a work in the spirit of those in any medium for about a decade. And those weren't standard, they were the high watermark, so matching something that's matching them probably won't be done anything soon if ever.

    There's also plenty of other stuff which includes acessibility, telling a story through mechanics and statistics event though there isn't an actuall story, and all that, but I can see those.

    I was just interested in the stuff I know I know nothing about, and ty.
    Daynab likes this.
  7. mining

    mining Member

    If you're actually interested, it's never stupid. Copying a program is never the ethical thing to do, but that you were contemplating copying a program which took, what, a year to do shows some real guts.

    Like I said, if you want to try to mod stuff that lives inside Dredmor at the moment, and is inaccessible, the best way is, in the words of Essence, to go Hentai on it. Or maybe that was someone else in a thread of Essences. Or something.

    Get familiar with a memory editor of some description, and learn what changes what where, find a way to arbitrarily manipulate them from inside the game, and you have a way to modify presumably anything with the addition of an external program.
    lujo86 likes this.
  8. lujo86

    lujo86 Member

    That was Essence, and then me quoting Essence in another thread, being rather ironic about it (I think we both were).

    And about the other thing, well, this is how the manalink 2.0 community handled MtG:Shandalar after it's been abandoned by the developers for years and years, yet still not open source because of Hasbro. Noone would update it or support it, noone was making money off it or doing anything with it, and hardcore fans decided that it was too good to let it rot. I didn't participate in this, but I hope nothing happens to them. Heck, if someone one day does something like this for Alpha Centauri or Chaos Overlords I'd pay for his bail and attorney out of my inheritance...

    And I don't mean to really go hentai on the code, I don't mind modding within the grounds. But games I really like come along very rarely these days, so if this one falls between the cracks as I've seen stuff get lost, and there's a commuinty of modders who want to do something about it, I at least want to be able to be helpfull. If it doesn't go open source - it'll probably still be supported and the kinks and features will keep being ironed out, and if it goes open source there'll be tons of stuff to do.

    Who knows, maybe it doesn't go open source and the devs say: if anyone'd hand over c++ script which regulates the minimap and fits with this criteria, we'd implement it, I wouldn't mind being able to hand one over.
    Kazeto likes this.
  9. Essence

    Essence Will Mod for Digglebucks

    Don't worry. I'm only a few hours from Gaslamp -- if they ever abandon support for DoD without handing at least a few people the sourcecode and permission to keep it alive, I'll gather the ol' ninja crew together and we'll leave them a series of increasingly scary notes in increasingly impossible places until David wakes up with a Diggle head on the pillow next to him. Or something.
    Vitellozzo, Kazeto and lujo86 like this.
  10. lujo86

    lujo86 Member

    Good man! Heck, for my (our?) generation this thing is one of the few things you could call a work of art with a straight face. Comedic art, postmodernist and all that, but I was wrong when I said I haven't seen anything like that in other media for a decade. It was 2 decades. :(

    Oh, well, back to modding, I'm doing a better and more concise writeup on my better concieved "Alienist" skill in the relevant thread just now, I might've figured out a way to give :trap_sense: meaning within the bounds of the current state of the game, mages a decent low level spell, lutefiskmongers an engine and possibly overloaded a skill with utility :D Oh, and sent my artist buddy the specs and format for the illustrations :)
    Kazeto likes this.
  11. SkyMuffin

    SkyMuffin Member

    The people at Gaslamp care too much to let their games sit and rot into obscurity. I'm sure that if open source isn't planned, they at least have some general idea for expanding community involvement in Dredmor as their future projects begin to take precedence. I would be very surprised if they just abandoned it.
    Kazeto and lujo86 like this.
  12. lujo86

    lujo86 Member

    I know, and as much as I like them, and the game, the sad count of all the beautifull labour of love games that I could do seminars about which either bankrupted their makers or fell into strange murky legal waters over the years must've made me a bit paranoid. Right before I made the post I made one about my favourite games (and necro'd a thread by doing that), was looking at the list and thought about all the ones which got kept alive by the community long after they got lost, or are in the same state they were left in years ago... Anyway, it gave me stupid ideas, really sorry about this. Ment no harm, I like you guys a lot, you all helped me make a mod that made the game better for me (and will for others I hope), and I'm in awe of the guys who wrote all the jokes... You can close the thread Daynab, there's a patch coming, and Essence's remaking weapons, and were discussing an items rebalance, and I finally got involved in all this, if it ever comes to anyone having to do crazy or crazy awesome stuff it won't be any time soon :)
    Kazeto, Essence and SkyMuffin like this.
  13. Rakankrad

    Rakankrad Member

    My own guess is that they won't open source the code just yet. they might unobfuscate some of it to make it easier to add some modding capabilities (your shrines come to mind. They could be made easier that way).
    Kazeto and lujo86 like this.
  14. Kaidelong

    Kaidelong Member

    I see no problem whatsoever with clean room reverse engineering the game to make a custom client. It is not like you can just distribute the game like that anyway given that games are made largely of art assets. Decompiling would be a waste of time compared to making a better and more moddable dredmor.
  15. lujo86

    lujo86 Member

    That is a very concise way of putting it. A very concise way of putting my original intention into a question: "What would that involve?"
  16. Essence

    Essence Will Mod for Digglebucks

    Creating a paper diagram of how all of the mechanics in the game worked, and then coding up something that did that.
    Kazeto likes this.
  17. Kaidelong

    Kaidelong Member

    Not that the developers may not get vindictive and try to pin something on you. Just saying. Still, I think if you did it carefully enough it wouldn't actually matter if you had their permission or not.

    May I suggest "Dungeons of the Avoidance of the Trademark Infringement: II, the First"
  18. lujo86

    lujo86 Member

    Wouldn't want vindictive devs, and probably coudn't do it anyway. Someone will have to at some point if areas of the code are "uneditable and unuseable", though, and there is interest in doing stuff with it.
  19. Ashnal

    Ashnal Member

    If you want to see a good example of an absolutely great open source project that came to be as a carbon copy of a closed source game, look no further than the Spring RTS engine.

    It was developed out of a few players' love of Total Annihilation, and to see the game rendered in true 3d. It went open source and many people have contributed to it since. It's even been used for a few commercial RTS's like the obscure RTS game, P.U.R.E.

    Of course, even to this day there are many people in that community that regret the fact that their game engine was purpose built to infringe upon Cavedog's copywright. The bright side of it is that many new IP's and modders dreams were made possible by it. I helped develop a project that was basically built on TA's orignal assets with refined and unique gameplay. THe developers of that mod worked towards being TA-IP free for a couple years, and you can find their completely legal and free open-source game online by the name of Zero-K.
    lujo86, Kazeto and SkyMuffin like this.
  20. Kazeto

    Kazeto Member

    Personally I don't mind it being made that way, considering that Cavedog disappeared with no way to actually trace the copyrights and ask for permission (some people will note that Supreme Commander was called such because even people who worked on Total Annihilation couldn't get rights to the name to call their game "Total Annihilation 2" or anything of the sort; that's how much of a pain in the bottom these rights sometimes are).

    What irks me with Spring is that some things are really different from what I would expect them to be when playing a Total Annihilation remake/open source version/whatever.