Search Unity

[Asset] DIABOLIC Procedural Loot System

Discussion in 'Works In Progress - Archive' started by beeftime, Nov 21, 2014.

  1. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43
    Hello everyone,
    This is my first post on the Unity forums, but I've been using Unity for a little while now. I'd like to get some feedback on a project of mine that I plan on preparing for the Asset store in the coming months.
    It's a procedural game item generator that uses affixes - think Diablo, Torchlight, Path of Exile, etc.
    It reads XML files to build a database of items, prefixes, suffixes, and rarities, and then fits them together intelligently.


    It started out just as a little selection algorithm and item constructor, but it's been expanding rapidly. I want to get it to a point where, if you want, you could use it as a complete item/inventory/equipment solution. Check it out here:

    https://4d6a6aaab97cf4c38fcc12a8e30...MElwaZZExaX1U0Y1NVQzQ/Diabolic dev build.html
    (Click a box to generate items. Hold L-ALT for item name popups. Clicking on an equipped item will send it back to the inventory. Players have unique inventories but the stash is shared. Also please forgive the item art - it's just GIS placeholders until I finish modelling)

    It's set up for RPGs/ARPGs but it's genre-agnostic. After I finish the 3D demo and make it look at least halfway decent, I'm going to make a little 2D side-scrolling shooter demo. The engine should have no problem spitting out procedural Borderlands-esque guns (should have, we'll see how good my code is, haha)

    I feel like this sort of item generation is really underutilized in modern games when you consider how powerful it is - and how good it feels to the end user (gimme them purps, Blizzard). Plus I just really love games that use these kinds of loot systems, and play them all the time.

    There's still a lot to do - I have to settle on a serialization strategy, make testing and adjustment tools for the selection algorithm, clean up the code and the final output of the items, and tie off a few loose ends.
    What I wanted to do, though, was present it to the community to get some feedback.
    So, I want to do is ask you all: what you would like to see in a system like this? What would you like to see as a developer, and as a gamer? If you've developed a game that manages player items, what parts of it would you wish an asset handled for you?

    I want this to be my first Asset Store submission, so I want to come out of the gate strong :)
     
    rakkarage likes this.
  2. TheValar

    TheValar

    Joined:
    Nov 12, 2012
    Posts:
    760
    Disclaimer: Didn't play the demo as I'm at work :p

    This looks really awesome! If I ever get the guts to attempt an rpg I would love to have a system like this! I also love random loot systems like the ones you mentioned, it can add so much excitement and possibility to a game!

    Suggestions:
    This kinda goes without saying but make sure the item generation logic is well separated from the actual inventory UI system so that customers have the option to use your item randomization with other inventory UI systems.

    I don't know exactly what kind of workflow you have planned but you'll probably want some nice editor windows for actually creating the weapons bases/attributes that actually go into the xml file as opposed to having to type out the xml all by hand.
     
  3. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43
    Hey thanks for the kind words!
    And yeah, don't worry, your first suggestion was pretty much core to my design as I went into this project.
    Item data are just passed as objects that implement a series of fields and interfaces (so you can look at item.Value or check if item is IStackable, etc), and useful functions (dropping into the gameworld, transferring container, etc) One can build a UI around that, or hack one to fit. Outside of that, there's a settings manager singleton that contains all of the tweak-to-taste stuff, an interface for player/character entities and an interface for containers like stashes and inventories.
    The loot items themselves employ a pretty robust event system, and I've included an event handler template. In fact, the demo interface is completely isolated from the loot logic: it just listens for events and looks at the contents of containers.

    By release, I hope to have at least three interface demos to package with the system that users can look at as a how-to or just grab it whole from its demo and drop into their game. As part of the documentation I'm going to take one or two of the free inventory solutions from the asset store and plug my loot generator into them as a tutorial to show how easy it is.

    Editor extensions are the next big hill I have to climb. To make the demo/testing stuff I'm just using Excel with XML schema, but I'm debating creating a writer that you could use entirely in Unity. I'm sure being able to do everything in Unity would be pretty nice, but it'd be weird of me to think that I could make something in the editor that would hold a candle to any kind of real XML editor, even for my own tools.
    However, I think if I can't get something like OpenOffice to easily spit out base item data I'll kind of have to write it myself.
    I might just do it anyway because I'm crazy.

    Hope that answered your questions, and thanks again!
     
  4. TheValar

    TheValar

    Joined:
    Nov 12, 2012
    Posts:
    760
    Sounds great! Regarding this
    In my comment above I was thinking more along the lines of forms you could fill out that would generate the xml, not a Unity Editor xml editor. For example (and keep in mind I don't know how things are structured) if you wanted to create new "base item" there would be a form where you would put the appropriate data in which would modify the xml file.

    Either way as long as there is good documentation most people probably wouldn't have much trouble just modifying a raw xml file manually.
     
  5. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43
    Oh, sure. That's what I mean too - because at some point someone will want to go back in and make changes to their items or affixes, and that would be clunky to do in the editor without writing something pretty robust. Especially when using a schema is so easy. One of the things I want teams who use this asset to be able to do is divide up work naturally and efficiently, especially if they only have only a few dedicated programmers or unity seats: toss your designers an empty spreadsheet and have them add (basically) whatever they want. When you drop it back in to Unity, it'll all just work.
    At the very least I'll be releasing this with a editor extension that will generate an XML template for use. It probably wouldn't be too difficult at all to allow a developer to "sketch out" his or her items before going into the XML.

    But! This gives me a nice excuse to talk about how the items are structured:
    Every item and affix has a few base attributes they pass into the object database: item ID (their dictionary key), value, name, description, etc. etc. They also hold a list of effects, which are the real meat of the item system. Any number of effects can be loaded on to a base item or affix, and these effects expose IDs and values. After the values are modified during item creation from item level, changes by rarity, and so forth, these are all collected into a dictionary. The items themselves check if their effect values are already contained and add (or subtract) themselves. So, at the end of the day you have a neat dictionary of all the item bonuses an entity might have. Character or equipment management systems can iterate then through this dictionary and pull out whatever they might need.
    So to bring it back to XML, all you really need to do is just set the item attributes, then list what effects an item or an affix has. Here's a shot of the spreadsheet I used for the web demo. It took me maybe 30 minutes to write, export, and test everything:

    And because the effects are keyed by string, you don't need to do anything fancy, just TryGetValue(), which is nice and quick.
     
  6. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43
    Spent today cleaning up a few bits of the code and started to model out the interior environment and finish the UI art. Texture work is just starting, but I don't think I'll be putting any more geometry into the level. I'm about a third of the way done with item models at this point, so it'll be my goal to have them all textured and finished by the end of the week.

    New demo is up here.


    A few QOL improvements and I tweaked the selection algorithm again. I'll make a long post about that tomorrow.

    Hopefully people are still interested! If you're lurking and you have some opinions on ARPG loot systems, I'd love to hear your input :)
     
  7. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43
    Here's a bit about the selection algorithm:

    These are for 5000 selections at various Magic Find values:
    (the percentages are of MF=1, which is completely arbitrary - I'm still writing the scaling tools)

    Selections by proportion


    Probability of selection at a particular MF%

    The algorithm evaluates a item's drop chance in proportion to the mean of all the weights in a table, and then pushes it in the direction of the mean by a logarithmic function of the magic find value. It's bounded at the bottom by the most rare item's unmodified proportion (so common items still have a chance to drop at extreme MF%). Also now it's not keyed by selection weight, so it's even easier and faster to make drop tables (items with the same value are picked through a random weightless selection).

    This is nice because as a designer it means you can do stuff like giving players a base MF per level and then create islands of orders of magnitude (tiers) in a drop list. Now characters usually get around the right tier of item, with their item bonus MF generating generally luckier drops. No need to do any checks or set up any special tables. You can kind of see this in the web demo, too. I didn't change any of the weights of anything, but the blue container still has an old bonus to magicfind - so you'll see it dealing with the old algorithm weights by producing more valuable items (like wands, bags, and jewlery) but not really producing better rarity items (rarities have new weights).

    It's pretty fast, too! Evaluating and preparing a table of 500 items, then making 1000 selections from the table is coming in at around 12ms for me. Once it gets further along I'll try making some beefy tables on my phone and see how that goes.
     
  8. Tortyfoo

    Tortyfoo

    Joined:
    Mar 6, 2012
    Posts:
    132
    Not got any real input at this stage but definitetly lurking and following this thread. At this stage any idea on release and potential price? Hoping not really months away for a first look.
     
  9. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43
    I'm holding myself to a release before the end of the year. Everything serious except for serialization is done, now it's just polish, tweaking, editor extensions, and documentation. I also plan on getting at least one good solid set-up and use tutorial video on YouTube.
    I have plans on a 2D shooter demo and a text-only demo that shows more of the guts of the system in action, but I think those might be delayed until the first major update.

    As for price, it's something I've been thinking about but I haven't settled on it yet. I don't think I can give a confident answer until near the end, where I can sit back and try to honestly assess a fair price. Expect it to be priced in line with similar assets. Sorry about the lame non-answer :\ I don't want to say something I'll have to take back soon.
    When I get a figure I'm comfortable with I'll make a post about it (and my rationale behind it) and listen to feedback.
     
  10. FreeSide Games

    FreeSide Games

    Joined:
    Jun 24, 2014
    Posts:
    19
    This is very interesting.

    By the time this is released i can see a lot of people using, playing around with this.
     
  11. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43
    Managed to steal some time away over the holiday to bang out the item models. Only the weapon textures are finished, though:



    Everything is (very) low-poly and hand painted, so they're suitable for mobile targets and look pretty nice anyway. They'll be included with the asset under a separate license (so if you want to use the models, or textures, or nab them altogether you could use them in a for-profit product)
    I don't want to spend too much time on this, as it's primarily to make the demo look nice and show that you can throw basically whatever you want into the generator.

    As for the real meat of the asset, once I finish reworking how drops are handled later today (they'll assemble themselves better and faster now) I just have to tackle serialization and that's it.
    After that it's editor/QOL stuff/documentation until release.
     
    Last edited: Dec 1, 2014
  12. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43
    Posted a small update this morning; cleaned a lot of stuff up, optimized/fixed handedness checking, full container refusal, and stopped UI clickthrough. Up here:

    I also worked on serialization before I realized it was a fruitless time-waster. Users will either have a serialization scheme already set up, or, I'm re-treading a solved problem. Instead I'll prepare it for use with Unity's defauly serializer, and take some time to make sure it works seamlessly with the widely-used and well-loved Ixion serializer: http://u3d.as/content/ixion-software/save-game-json-binary/33x. The manual will also contain documentation on setting it up with Ixion's and the JacobDefault Full JSON serialiser: https://github.com/jacobdufault/fullserializer
     
  13. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43
    Finishing up graphical polish (man, painted textures are a bear), but only armor/misc items are left and I can put that particular section to bed. Otherwise, I've been working on the editor extensions:

    I want to get to a point where a user *could* implement the whole thing without writing one line of code. They'd probably have to use an XML editor, or a spreadsheet editor like Excel, but no actual code. Almost there, too.
    I've also started on documentation, but that's not too exciting. Once documentation is finished, I'll be hosting it publicly. I figure it'll be the best possible way to expose some of the inner workings to potential users, so they can get a solid idea of the system before they decide to use it.

    Web demo update - art assets at ~80%, loot generation should be much faster. Alt-text pop ups should have less overhead as well, but they start to be noticeable when there are a bunch of items on the screen. I'm fairly sure it has to do with how they're aligning to the camera, so I'll take another pass at it once I rough out the editor stuff:

     
  14. TheValar

    TheValar

    Joined:
    Nov 12, 2012
    Posts:
    760
    Man the textured items add some serious value to this in my opinion!
     
  15. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43
    Thanks!
    All of the art assets of the demo(s) will be included under a separate free-to-use license. You'll be able to do anything you want with them, short of selling them yourself.
    On release they'll be pretty crude and anemic, but one of the things I want to do down the line is provide a reasonable starter library of items.

    Actually, what I want to do in the future is make item art and meshes procedural as well -- a sword might be constructed out of a blade, a hilt, a handle, and an accessory, which would then be tied in generally or 1:1 with rarities and affixes. Tied in in the sense that like you'd either have a pool of pieces used for "Magical"-rarity items, or, swords with the suffix "of the Dragon" always have a hilt that looks like this.
    This is pretty much a solved problem already, most notably a lot of spaceship constructor assets in the store use this kind of setup, but to my knowledge no one has tried it with loot drops yet.
     
  16. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43
    Unfortunately as I get into the home stretch there's not too much stuff to post in the way of the demo. However, I've finished the editor extensions (although no drawers, so they're ugly as sin). I've yet to try to add it to a project from scratch, but I've added just about every task I could think of:


    click to embiggen​

    Hopefully this will give you a better idea of what you can tweak. The Blank XML templates generate XML files suitable for editing directly or converting into schema, so hopefully that's that problem handled.
    Also I think I'm flip-flopping on my serialization idea. I think I will write a serializer for loot in containers. That way, a user only ever has to mark a container as persistent, and forget about it. Mark players or stashes or pre-seeded (using the wizard) treasure chests, but not the game world, secret levels, etc etc.
     
  17. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43
    Haven't posted for a while, but not because I'm not working, just because there's been nothing really interesting to post.
    But maybe I can manage an update anyway.
    Big things:
    Serialization is complete and working
    It's really easy for the user, too. Loot is stored in lists, and those lists are in turn stored in a Container class. Users just mark which lists are persistent and which aren't. On Save(), the serializer writes a dictionary of Container ID, Loot<List>. On Load(), the serializer looks for marked containers and matches them up with their loot. A nice side-effect of this scheme is that it made it really easy to make some loot pregeneration tools - you can fill a container with loot of your choosing and tweak the loot values in the inspector.
    Right now the loot is written using a BinaryFormatter, and depends on the user to create a savegame manager (which, really, can be just something that makes and remembers strings for filenames). If I have time, or, in the first update after release I'll be adding an XMLFormatter option, and compression and encoding options for save files.
    I'm not going to bump it to pre-release priority because I assume that most users are going to have their own serialization schemes anyway.
    PropertyDrawers are done, Editors are getting there
    This is what I've been working on mostly. It's easy going but it's tedious. I'm taking the extra effort to ensure that the editors and wizards are easy to use and respond intelligently to input - editors watch, for example, for folder path inconsistencies or name mismatches and alert the user or offer autogeneration options. Take a peek:
    You can see in the new picture the initializer has detected that I've already set up the engine in my project, and the Config inspector has noticed that the folder is not under Resources (...and I noticed I missed a space in that string...). Anyway, expect a lot of QOL stuff of that nature.
    Setup is becoming way, way faster
    Initialization is going to be handled (ideally) after the user sets up a working (even if incomplete or totally imbalanced) database. The initializer will pull data from the XML to make the item prefabs, loot tables, and fill in as much rarity data as it can. It cuts down the set up time tremendously, and makes for a much better user experience.

    That's it for now, in the coming days I plan to post up some schemas and spreadsheets so interested parties can take a look at how they would make their own.
     
  18. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43
    Beefy gif incoming:



    Showing off the new initializer. Took me from "about a half hour to set everything up and get it working properly" to "a dozen clicks and you're pretty much good to go"
     
  19. Durins-Bane

    Durins-Bane

    Joined:
    Sep 21, 2012
    Posts:
    175
    I really want something like this for my game :( How long did it take you to make this?
     
  20. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43
    It's been my only non-work project since about mid September.
    If you can hold out for another month (or so) I'll have it up on the Asset Store, pending Unity's approval
     
  21. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43
    Hello everyone!
    Sorry I've been MIA. This project isn't dead - I spent some time back home for the holidays, but immediately on my return my boss sent me on back-to-back remote assignments.
    Unfortunately (obviously) I have to knock back my projected release date, but it's not all bad news. I've had an accomplished software dev friend of mine take a look at my project and he's given me some extremely useful advice and suggestions, which are proving pretty easy to implement.

    Right now I'm overhauling the XML parser and database manager to make it much easier to use spreadsheet programs exclusively. Now the affix/item families and effects can be entered into a spreadsheet cell as comma separated values, and the database will arrange the appropriate data correctly.
    This is really useful because now a user won't have to worry about Excel/Calc throwing "List of Lists" errors. You can add as many item effects as you might want from within the spreadsheet itself, and you'd never need to actually dig around in the XML. It also keeps users from having to manually duplicate effects (DRY!), and allows me to add a lot of quality of life stuff - like, for instance, an editor tool that will spit out a text file of all possible item effect IDs (to make it easier to write parsers), unused effects, lists of item families, items without models or textures, etc etc.

    As soon as possible I'll be releasing a new web demo, the database schema here. I'll try to do the manual while I'm making the youtube tutorials and release them here as well as I submit this to the asset store.

    Also (it was probably pretty evident before) I've settled on a title. I did some research and it should all be above-the-board legally. I think it communicates what it needs to:


    Other stuff before I forget:
    - The initializer/prefab maker functions will now find and assign item meshes and textures
    - I've implemented a parser for the demo, and it's just as easy as I had intended (TryGetValue your way to success!)
    - Item creation and assembly is even faster
    - The serializer has been fully implemented into the demo
    - Armor and consumable textures are at about 60%
     
  22. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43
    Still going!
    These last stretches are boooorrrring. For both of us. But progress is definitely being made, and I'm getting closer and closer to a release I'd be happy with.
    The spreadsheet-to-database stuff is all finished, and now I'm writing a troubleshooting... app? routine? wizard? in the editor. It'll evaluate the databases you plug in and spit out any conflicts like orphaned affixes or effects, missing affix families, duplicate names, etc -- as well as providing lists of all the item bonus keys for use in writing a parser.
    Probably some other stuff too, before I'm done with it.

     
  23. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43

    "BLLAAUGUGHHHHHGHAHGHGHHH"

    Feature complete!

    v1.0 is done, and now I'm just wrapping up and preparing to release. I'm maybe halfway done with the documentation and I'll try to knock out a youtube video or two this weekend. Once those are finished I can start the process with Unity.

    I could release it now, but, I really want to make the best possible effort I can to provide all of the documentation and support I possibly can. Because it's just me working on this, I figure all the documentation I can do now will save me from too many support e-mails down the line.

    Anyway just to get it to this point I had to draw the line somewhere, and here are the things that were cut and will appear in later versions:
    • 2D and text-only output modes.
      • These really aren't difficult at all to hack in, but if I'm going to implement them I don't want to half-ass it. If you're following this and are really banking on dropping it into a 2D game, maybe hold out until 1.1
    • Sockets and socketables
    • Smelting/Crafting
    • Seeding loot items from the editor
      • Allowing for in-editor lootable containers a la Skyrim etc. This is already possible in code, and actually pretty easy to do, but I want to offload as much of that as possible into editor tools. This will take a while though and might force me to change how I handle the databases, which leads me to...
    • Better error handling
      • Due to using strings a lot, the system is prone to throwing errors due to misspelling. I need to add more ways to catch these errors and provide useful feedback. The XML troubleshooter took a big chunk out of this, but there's more left to do.
    • Code overhauls
      • Due to the nature of selling assets (and the scope of this project) I've built everything myself, which is a great way to learn but not the best business practice. Everything works well now, but not amazingly, and lots of the code is, uh... particularly inelegant. This'll be constant, I guess. I'm on-board to work on this thing for a long, long time.
    Anyway, gameplan:
    Now: Code commentary and documentation, preparing the usage manual/text walkthroughs
    Soon: Youtube XML database and quick-start videos
    Later: Asset Submission

    I'm looking at $40 USD as my price point. Reasonable?
     
    John-G and randomperson42 like this.
  24. TheValar

    TheValar

    Joined:
    Nov 12, 2012
    Posts:
    760
    Lol that .gif is awesome! Congrats on wrapping up the 1.0 features! I'd say $40 is probably reasonable. I hope I eventually work on a project that could make use of this because it's super cool looking
     
    beeftime likes this.
  25. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43
    OK, so!
    Bad news and good news.
    Bad news: gonna be a little while longer.
    Good news: everything else.

    Unity has the (very sensible) stipulation that asset errors must be handled gracefully, so I got some friends together to test the asset/try to break everything we could. It went well, but the criticism I got back was that my end users either have Excel (and an easy way to make and manage databases) or are forced to edit the XML directly (which is a real pain).
    So, in short, Diabolic will come with a fully functional in-editor database creator and manager:


    It's basically done, just need to clean up the code and the UI a bit. It makes everything easier, too, and about halves the documentation. I'll keep in the spreadsheet option, but the in-Unity editor forces databases to play nice with the system, and will result in a much better project when I release.
    Sorry about the delay, again, but trust me this is going to end up much, much better.
     
    TheValar likes this.
  26. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43
    Hello, all
    A quick question for anyone that's gone through this process before:
    Is there any way to preserve path structure outside of the .unitypackage folder? Specifically, on Asset importation, is there a way to have certain folders unload into Assets/Resources?

    That aside, the database editor, a new loot table editor, initializer, and a few other tools are all finished and ready to go. I've been testing and bughunting while I work on documentation and videos.
    I've been extremely busy with real-life work, but as of this month I'll have an extra day off every week - something I wanted before release, so I can be around for v 1.0 support and fixes.

    In the meantime, check out the API reference here:
    http://beeftime.github.io/DiabolicDocumentation/html/index.html

    The blank index page will contain the user manual once I finish it (maybe 60-70% finished at the moment). I'll have a youtube video out soon, too. I've kind of abandoned my idea of doing a series of step-by-step walkthrough videos. I've found myself explaining a lot of things that would be better suited to a manual, and without going into detail on the system, everything else is pretty self evident. So instead I'll make a quick demo that should also serve as an introduction/tutorial.
     
  27. Tortyfoo

    Tortyfoo

    Joined:
    Mar 6, 2012
    Posts:
    132
  28. ilezhnin

    ilezhnin

    Joined:
    Jul 17, 2013
    Posts:
    17
    Hi. I really like the idea and I believe that your system has a lot of potential. I read this topic a few months ago when I started my project, I now finally reached the loot system and I'm ready to buy your generator. There is some sort of information about when you plan to release it in the store?
     
  29. beeftime

    beeftime

    Joined:
    May 14, 2014
    Posts:
    43
    Hey guys,
    I'm sorry I've let this thread go fallow. Switched jobs, moved, and got married all in the last few months.
    Bad news about the asset, though. It was basically finished when I began to test it more intensively. I gave it to a few game dev friends and - while it worked - extending it was a lesson in frustration. It was just not flexible enough to be useful, and because of that I was unwilling to release it.
    That said, it will be released eventually. Over the last few months I've taken it back to the drawing board, and am now building it up again. The biggest change is that item functionality has been broken into decorator classes, and that developers who use the asset will not only be able to generate customized items, but item types (a socketable weapon that is also consumable, for instance).
    I've also changed how I'm going about developing and releasing Unity assets. This project will be parceled out into smaller assets to help fund the development of this one, and when Diabolic is released it will include the smaller, released assets. I'm also experimenting with sourceless releases to keep costs down for users who don't necessarily need to extend the asset.

    Again, sorry for the lack of communication. If you're interested, the first bit of this rework has been released here
     
  30. erich202

    erich202

    Joined:
    Sep 24, 2016
    Posts:
    38
    Oh man I wish you would just release something beeftime :) Even beta.. this would be tremendously helpful.
     
  31. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,215
    @beeftime ,

    Did this ever get any further or to release?
     
    killaonmocospace likes this.
  32. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,215
    @beeftime ,

    ? Curious. This would be vv useful...
     
  33. Feartheway

    Feartheway

    Joined:
    Dec 12, 2017
    Posts:
    92
    can you please make this for atavism! i need a procedural loot generator to populate the loot tables! with magic find! Thank you!
     
    Duffer123 likes this.
  34. thusky

    thusky

    Joined:
    Nov 28, 2017
    Posts:
    6
    Sent you an email, I hope it reaches you but also messaging here just in case! I'd be really interested to know more about what this asset became after so many years and if your friends added anything to it! Cheers!
     
    Duffer123 likes this.