PDA

View Full Version : Justin's Random Generators (Updated 12/23/2020)



tchntm43
2020-11-10, 06:01 PM
8/28/2022 Update to version 0.75

-Added civilian encounters to the random encounter generator: Mostly happens in "urban" terrain settings, but can happen less often in grassland or other areas. These are just basic NPCs like peasants or merchants. But the cool thing about this is...

-Added disguised and polymorphed monsters! Now it is possible to encounter lycanthropes disguised as regular people. Or metallic dragons polymorphed as people.

-Added lair treasures. Now when you generate an encounter, there is a chance for certain monsters types that it generates a lair treasure, which the party would not be given right away unless the encounter happens at the lair, but they could look for it, or whatever... it's up to the DM of course.

-Added the ability to include/exclude monsters from specific books. So if you don't have Volo's Guide to Monsters, for example, don't check off the box and it won't give you anything from that book (so that you don't have to worry about not having access to abilities and stats for it). There are a total of 6 books listed, but the bottom 4 are not in the database yet so checking them won't actually do anything. Adding those is probably the next update.

-Random character generator: By the far the biggest bulk of this update is an entirely new generator. It can generate a full character for any level 1-20, with any race/class combination in the PHB. For anything with a choice, it makes the determination semi-randomly (it uses what has already been created for the character to influence random results). It generally chooses spells that are commonly accepted as good. I want to add the additional sub-class options from the other books at some point.

Feedback always welcome. I have a lot of stuff planned for this, hopefully I don't abandon the project for another year and a half like I before this.

12/23/2020 Update to version 0.3:
-Encounter Generator now allows the specification of a seed type or a specific seed monster. So if you want to generate "elementals" you can do that. Or if you want a specific "Goblin Boss" encounter, you can do that to. It still scales these for level, but ignores terrain and time of day.

-Added a random name generator. Honestly, the results are about half unpronouncable gibberish despite my best efforts. It's something I will definitely be improving in another update.

-Added a random map generator. This my favorite generator now. It generates a hexagonal overworld map of a specified radius (please don't try more than 20, it will likely stall your browser - even a radius of 15 is over 700 tiles and takes a minute or two to create). Areas of interest are placed on the map, which can be clicked on for randomly generated content (for example, a city will tell you what kinds of shops it has and what is for sale in each shop, along with other services, and if the city has a sewer system, etc). Temples have random spell services. Other types of locations include caves, mines, ruins... all of these are viable dungeon dives. Currently it only goes as far as telling you there is a place to explore there; there is no generator for dungeon mapping yet. This generator uses my random name generator for all location names, but you can reroll the names of any you don't like. Only page with graphics, and they're minimal effort.

-Added a random treasure chest generator. This allows you specify any level 1-20, and it will get you a random container that may or may not have anything worthwhile inside it. Different types of containers (i.e. cloth sacks, wooden crates, steelbound chests) have different types of stuff and some have much better stuff than others. It also randomly generates locks and traps, with DCs and damage scaled to the level specified.

-I also included a page describing my variant healing rules, because why the hell not.

Link: https://www.justinsmithphoto.com/randomdand/index.php

Unoriginal
2020-11-10, 06:15 PM
This has been a long-term project of mine that is now in its first release version, so I thought I would share it here. I know there are a few well-known generators out there, but my aim was to try and build something that does things the other ones don't do.

A few notes about this:
- Nearly every monster in the MM and Volo are in the generator (although things like dragons and high CR demons are exceptionally rare even when the party is an appropriate level).
- Every type of magic item, gem, art, and miscellaneous object in the PH and DMG is a possible treasure find depending on which monster is encountered.
- Completely revamped treasure tables for individually carried treasure (the ones in the DMG are useless, they only generate coins), each monster type has it's own unique set of random tables
- Small chance for the weapons carried and armor worn by monsters to be upgraded to +1, +2, or +3. Even a tiny chance for a goblin's short sword to be +1. (this may be tweaked in revised versions if it is currently too frequent)
- Massive multi-layered approach to building an encounter with multiple monster types (for example, goblins allied with hobgoblins is normal, and a goblin boss with a bunch of goblin underlings is also normal) that fits within specific XP bounds modified by player level and the number of monsters.
- General difficulty tends to taper off at higher levels, since there are no common monsters that are individually strong enough to be a match. More commonly the encounters are giant armies of orcs or goblins rather than a single dragon or giant. Simply because those are very rare creatures.
- Only includes minimal information about the monster - you will still need the MM or Volo as a resource.
- A unique feature of this generator is a random mood and random behavior for the encounter. This gives the DM some insight into how the monster(s) encountered feels toward the characters, and also what it was doing when it was encountered. All of these are uniquely weighted probabilities for each monster. Most monsters behave as expected but you may occasionally get a friendly orc or mean angel.
- I've done a lot of testing but this is thousands of lines of code and nearly uncountable numbers of possible combinations of random values, so the odds are decent that somehow a specific set of results will lead to an error that displays on the page. Let me know if that happens. I have not seen any errors in quite a while.
- The page itself isn't pretty at all, sorry. Purely functional at this point.
- The results page is set up to be somewhat interactive in a useful way. Monster hit points and stacks of usable things like arrows appear as editable text, so you can use the results page directly as you play.

Link: https://www.justinsmithphoto.com/randomdand/encounter_generator.php

Feedback always welcome. There is a lot more coming to this project in the future.

First of all, I have to applaud you for this project, and doubly so for the result. It's very impressive. Especially the multi-monster types encounter part.

The mood/random behavior feature is also a great idea.

I have two questions, though:

- What difference between the day results and the night ones?

- I tried an encounter with only one PC, then one with only two PCs, and it didn't work. Is it normal?

MaxWilson
2020-11-10, 06:24 PM
This has been a long-term project of mine that is now in its first release version, so I thought I would share it here. I know there are a few well-known generators out there, but my aim was to try and build something that does things the other ones don't do.

A few notes about this:
- Nearly every monster in the MM and Volo are in the generator (although things like dragons and high CR demons are exceptionally rare even when the party is an appropriate level).
- Every type of magic item, gem, art, and miscellaneous object in the PH and DMG is a possible treasure find depending on which monster is encountered.
- Completely revamped treasure tables for individually carried treasure (the ones in the DMG are useless, they only generate coins), each monster type has it's own unique set of random tables
- Small chance for the weapons carried and armor worn by monsters to be upgraded to +1, +2, or +3. Even a tiny chance for a goblin's short sword to be +1. (this may be tweaked in revised versions if it is currently too frequent)
- Massive multi-layered approach to building an encounter with multiple monster types (for example, goblins allied with hobgoblins is normal, and a goblin boss with a bunch of goblin underlings is also normal) that fits within specific XP bounds modified by player level and the number of monsters.
- General difficulty tends to taper off at higher levels, since there are no common monsters that are individually strong enough to be a match. More commonly the encounters are giant armies of orcs or goblins rather than a single dragon or giant. Simply because those are very rare creatures.
- Only includes minimal information about the monster - you will still need the MM or Volo as a resource.
- A unique feature of this generator is a random mood and random behavior for the encounter. This gives the DM some insight into how the monster(s) encountered feels toward the characters, and also what it was doing when it was encountered. All of these are uniquely weighted probabilities for each monster. Most monsters behave as expected but you may occasionally get a friendly orc or mean angel.
- I've done a lot of testing but this is thousands of lines of code and nearly uncountable numbers of possible combinations of random values, so the odds are decent that somehow a specific set of results will lead to an error that displays on the page. Let me know if that happens. I have not seen any errors in quite a while.
- The page itself isn't pretty at all, sorry. Purely functional at this point.
- The results page is set up to be somewhat interactive in a useful way. Monster hit points and stacks of usable things like arrows appear as editable text, so you can use the results page directly as you play.

Link: https://www.justinsmithphoto.com/randomdand/encounter_generator.php

Feedback always welcome. There is a lot more coming to this project in the future.

It keeps giving me incredibly easy encounters, e.g. 4 Yuan-ti Purebloods for 4 10th level PCs.

Unoriginal
2020-11-10, 06:45 PM
It keeps giving me incredibly easy encounters, e.g. 4 Yuan-ti Purebloods for 4 10th level PCs.

It gave me 62 lemures for two 4th level, one 6th level and one 12th level PCs.

MaxWilson
2020-11-10, 07:13 PM
It gave me 62 lemures for two 4th level, one 6th level and one 12th level PCs.

Huh. How did you make it do that? When I plug in four 10th level PCs, I just get stuff like "2 rhinoceros".

I guess while we're sharing I'll mention that I've been messing around with procedural content generation, and I too made a random encounter generator today (https://fable.io/repl/#?code=PTAEFkHsCcFNQJYDsBmlQEMBGkCuAXUAMVwBsBbDTQg C33wAcBnALhEqQHNYKMAPBOVgA6Tgnw1cWYQkjASvYAFgAUOUg ATMvAWVhAIQL5ISVaoAUAKlABJFKACeeUAGskkAO6gAIgDJvoF gEoO6EDNCQnNAY5OTInAA0iJzucKCwAG6w0A4S8YhIoHlMoCgI pPCwfADGsAyEaNAhAAoAwkkM1QAymTxJGEgaoKqgo6BCSBjc0A gioAAqNAglHuWkoNGDkOSkDqDcSNkY+PDe4ADioAASGNBDsEjV eEgn0CWNjs4oEeSYoKTLQiQezqJBMV5MBIjMYfNolYFFGjwMRZ QoVLKkYTEGDpDDVGjjEzg7JJB6vRD4EqTISYQagVoAJWElgAlK oKoQkG1QABeUAAFnZsDC3V66z5AEYAAxCwgTKbZWa80AAbWhow AROdIFgAUgNUkpcIAEwAVnVoA14GQQyIpAwDmyBtAAHZhBaNVc 1qBzggBvhnab3SoxpaAMr4W6gMMMDAeQrnaC4WDOo1mj0RqMxu OFcADTgVaCB4OhjWZprZ+PXMguZ3SktjDXeCJeADqtxmMFTJvN IcbAEEuDlQM1YBgmP7QAAtbZYWbd3ulgCaz04oFbSxOPminBMz oAbA3NSvcFxQAzYENm1M90l6x79LAaJBSBonXeAMxH0AAXTMKn-QCAOAoDQJA8DIAYB5iGwCphAvPF8FUSDoKIWCRAQ6p8GEZoImY ZCoMKXQMH-DlQCeUgYBsF4jiwhAslAcwWV5C1WhfXByDBYQKI4sFVV-C1QxVel2M47jRMKYS-z7UNZP4jR6P41p7SYEoNV1SBqlrASZLkvTRmEwx6BMYQgmMyTf 348Emg1IzjH1HT9KcsY7JMsz7P41ykGENjKKaGwmA3cR4B-Kz8BsoKTg1RznKcrzTKMExPMS7zfJxAKugQTg6Es4TrMtTLsoD GLYr0+L3KSwyUp8l90qYbxbhcXLQHyptGui6TSv08qUuS8yar8 2wmH0e0tOa1qRrxbTQpmwTZN83jxNIXj+M62LhIUjIlJUtSNK0 jq5tKqr+oqiz4oy5AmtCvLwoKy6Dt0rqXOq06+vsga6twwRbj2 a6WtujUvsoHIHqeuSevMt6TLS-ymGotBxoB+HIFBsHQwhjzjvemGhrDXBqlqVTEZsvGCdgVTUbR0 YMcq0B4pxgL22gJB8j+1qmZZrhKapmmzuqhn6vzbJictBquCdS yZp02UWoQAAvWBqNeRD6PgJiWN0zbtvHXbKP2krZKxtzeqN7yw 3l+AArDShSHWNmAetjBbe58GXpNkWNQAORgG2Xdk3mobNi2hvA S8EA4j3Q4Uji-fRt3IdN4RzYVoaulubgPbT6BuA66WVDIvB8D1S8ldo-BVcY5ieQtLXhOUnXLT26bDsDhKE7p6qAoAeQIYuhntmye6L5BL 1j56Tvd+nath0nCaYABuDv+u73uR-7sLB9Xw4NDH6n48xpfsenoagZ+xfzqYIe+49q+193w-jfbqfBoC5Hz87y+t8vG+v53g3XYnk-fmx8Api2mO-Zen9h7bx-tA0ektSLCnGAgPgl4IwOAqKXaIdEGLq2rprRSdcdqWmqE7SiwR lgAFpwjfWHE3MeidXqJ1fkgLI0ATjrxujZaibCOH3wDonAWs9y YLwft5FhvDv4D0tDw7IfD-7+33rTZ+dUwHZAge9CRcjLwaJMivOBnD-rcNYXI0At9t78KUXzfqAs35iOEFo9hOj7H6OvtIjUsj2FmN-rnaSMtwTHEVjRbB5dcFVxroQ+kxD1J62bo9MYjD3buO9tAX2Ci 46AIPiome+M566PEUwK4kA2Hf3CsmD2RS2GWMyco4BL9Aq3E5p wfJDimBEE0rgJgpSkwhQ3padp1ROnVPekw+xtjUCQBaQFfsOD4 BlN6Vwy0MzQkpnSePEZk86l1UmlpKZTAuiQAwApM88zM6HOOZw XxiDCABPLtUAAarMLweCLQCJcUwTMdyig9LWYssskY7kPRlgpC cupv4vIIVtIhDcYmaTifpRJQD+reGWOhIY8yW5U3eZlJAV0+ka hxfCuKVjW4otBRUdFPTMU8y2bDU+w53H0ocMMx+WTqpkrRd85M 1K0bZKGsjD2yMWXeVGfFDlYLKXcviViveNiQEfNySIj2wiKZrN lRspF71xUUq5bAHlYM+WM0aazfFHN4jCrbmy5FqKJW6v1U9Q1g txZNHcWoosCDgJkQQE8PiELQy1yiTC+hvz7GjL+jYH1MgfWrX4 ggbWRMNQoHHKUDAlCcCvlziqKWa1uokqkvxCNJlvW0z+nG6FCa k3vFTeIJ23rM3ZupW88Nkbi0WVLfGtSlaU2UNPG+aAxd60eucm 8x1br7VdQvuYqR+K3VXM9Ugt86grg8Cgm8SuGt-WRPrgm4NObDb2KoPmv5g58RdjVfYpgsY234uzA5PdACNUH3cV5 C11EGAEGEHALphBE64UgiUYS9ynblI8Ugd9hAAAGX7hQQbncOz uYGP1MCkHEH99i-3MH4kB5a8BQPgdABB5DWBUOwclnnVQIAFhLBKEwaoMx6iIBKO+ uAuxSg4iEKpfItxnhDFWBIUA4RNKXlwNEdYBwjjlySgMIY4JcA oBQMGKw-4ej4AAOQlHCnscT0Ry5nieOQOckxJN8QRBEbYkINiQG2KUMc+A RPk36HSUExI3jBlUF6bKlD0Q8HIiYWo9QWCYFUrAAzFRVD9mC6 F2AgX1BaAqCUAAqp7bwABRBkvmwThQwMgSk-5WQy02BoazfIwwOGJOQeC0nthMQK9J0AfBlQSlAAAag2FVirns qiED4DLU9kAukMna4xSCxnWCgAAPotVgAAR3CbpEbsg+IAB8AB 80YZvCCYC4BADBGKFe2MITrfBCDmDDBtioXB+MLaJCyZiq31vT eEEiI5-jJDyYqGxBgex8GhjIkwDwGBdvmAwIF8bWbmINe+-qsi+ByC7b5BgYQKo+D3r0oj5HoUAA8lDMBI4cKjuS6P8egGx0U OHFoUCnj+JQlbLcyJUD5P2aA0QHDCEoLthAQwqCUcoC4eAVAnh fZblQe7TOWcyFeHG8wlPChxsmzTlqAPdtUCl-tjrXXzAICSGLh0wgLucH4xgW7bJpV-Eo3AOzzNETwEFw4f8+AHBQVAKpwgbFMvRBy8qF3oAFc4BfKoB3 Tvvdd3k4qM8fJvdu+stll4Pu1vB-qIt2rWxyAh5QGHtcsXtAlB9dHnLJQftjEoPgfEhI4vk1APdzK4 JhBlFIOSXPWX8+gD4zQC0S3VShQV97Q47fQAZFrRoVoz5vUV4V 2GbYas+sDaGwPgEQ+R+ExNwHx38AItdKi5j1Tp7R9QHL0kbfi-YDr5C7qBwa2I879qHv7QZjQ8zDPAr8wh-ICj5P6FvYCuX+780LfqPTeXhmIv8r9j9Isz9-FBAGAKh38wVQAFYIhMBOAohYBOBAkWo5MyhahAsYCKgt9yAD9x xyAL8LRKNOl8ge94A+R9AposstIkgJ8aQ+Q59OcNhyYyAkJdIZ cy9s8Ms88XgSgac6ckE4Bqh-grMGBgcmB8DfNTx8A5tSpi9S8s94tGJG8Pd+DJDyBbsW9xA29T dQwO8KC48xDIJzB4DIAkgnhZDmsJQTdSoO8GCbcj849x1Rh6cp DVNlQphkDUCtxCDyIj9XDEB7BkN5NR9NDLCj9+gPDLDng5DrdC hCDVMgieAukgjftxDNDVNYjrDbC6dMjzDDRl984kFwg6gHghgv 1aAxwhg+RzBnsNAWAWAqjijlDTgLhlgCRC9RhA818NAB9HgQsy RlQABvf4MUQLHLReAADWaAvGm0mJeEXkE0wNmEeAcH0BME6UWM IAAF8LQyJvNSB+x+iBhagJhCBujDYlsW5KMegMQkhZjWDptcAE A4ANAOgIhViHhqg9gcAkBOkW4JRDQkhmtjQW5jQkgPwpQpRQTw TTcPwkgABOGEuElufkJIY0F0VElreE-SU0JIfcU0HE5rD8FufcO8fkGE2ElrMk03F0TE6Ekkuk-SAADihKpOZJbiRKSH5FZOpNBMFFN2lEJM5JpOayFP0glGBNAFZ OJJJMlL0glEhNAGlGpPFMVLkglERNVONHVNBMXCVIxNVLFPFMN K1IJNVKJIFJa3NNkglApNVKRPlLNKBIZNAGNDNBtOa33CBPZI9 OtJJN9OFJ5NAGhJdNBODP0j1KhNNAjJayjL0iW1ClF2Z113Z0Y i4PMCOKSD4AYHmM+OBG9TWN+M2IBKYCALWzGKOOVCOJmLmJm2V DzPmOWK+OLJ+I2K2ILwEzbOqBLM7PLNAF2OKNDF6NAFmMMA0G4 EuNAGrImIKHwEXjHCYAcB2MXiEGjnIDXNABoFuEaIXMXjfCOV2 G3I0GyxPIXKHIOKQTzMnOnILxbhVBuNNzuLFFJHHAcCSA3PDmk N3LuCSCPI0F2AAvPLt2FMxMtOJKSBdEtLVKhJhIhKSCgtVJxIl GQr1JpP3AQoROgtgvQrNF5NQowvRLvAIo9OQo-BgqQtQuxJlFN0tK9OoppJgppOlJxI-HlPJPgswpxJRNYs5MIuwv0ndI4uYuQrYtYtoqYrorZN5OQr4sp JxONDgtACwqEr0lDLjNYpUodKUoEtdE4uFJ4tYowrvAUo9P5Jp L4pkqVJlMsrvDUsxP0o-EcpQsMqlJVLVJpIwppKZJpP5HlLvDQvUq1J1IksxNMrDP0tNB0 tEpsq1ONOVPQsCrDPstAFNCktVJdKBNgv0uNDSv5CZNFNQssvi vtMdN0t8sir5JxJdEip8rKtDAlHdJ8qhPMtNHMtZLSq9JCvtP9 OUpxP5Eiv3CKtAGdKUtosarGAlFDONH0v5HMpdFGulHMr8qmtG BjIspxIypxLlKIsytNJbmTMrzWx11ZwzOlyp2zLfNxBXK-LDg4iSD-I+NAEAuAtetAsrNnPGIxFrLFCXI-OVGXIcHXIet+D5G-I4kXmeuVGesPJqNYz5DepBo+vKG+1Rt2GHItDHKgEy2yEZFGPp AZECxQEomOHrIvABzuB2KvN0jImc1eAJquKEmfP0ko0ZEeOaBb iNDvHWtACNCSogu5p7GouFtgt6qauEExIlrGGNCloFGJJbi-GgpltGH5HlokpbiDDvEsvJPluNCZJbjdExL4pblZPlo-FNtNyRPluyqMttqtqlIlHlrqtVt1PltZM5KBOVpQupKBPVqCvc qVO1tVL8qBMPDvDtqlONtVNKr9P1vVKBJtoir9tNz1P1qjr0mU otrDrTrlt5K8ohJ9pdL5rmvlv3B8ohJDpYrduNAjrGsTrTpjul Ezrknyo1oaohOTtDtbtkmhI1q0rduOtTPFwuqzLo1zIYC+rGKZ vImgAptgCptqPq12yxrppvIYGw3KWZrGDIjzO7IZvxvSxHvTMB 0usKBnvSz5DowXqXqbNXuMInpXruzWzzAYGEGBDOpbi4Lo2MP3 qRzoz8XXpuVoydkGXtC3HMEPreBJrJpuRm3kL0jIieHBAPqJAh BOoezZ0B0zKp1-vHzKxOAqzzAkBwk8HMHMDzK3ptyaHu1JsOXiLADVPlvMDluAC-GNxblO0IZC2EBIZoDIY8FOw22Q1+BQcpDvGEFNGYmsGYcwdK3K z4eOAEYZB40wZyzsN3oXXIE4FIVIHAbQNjHYQcGTjVmgbG3oeO Cm1mw3SQaQXEbQbxrXXuzO0e1Ef0D2HPrnr-s3uAxoc0bknpvYNseciCfr27JVCNFNEXmdpiakcXjloSfibDOE EXnVsXiDAJ1ki9Qax3uckUIJHMfkfOweANwJFbyCI7yawVwlEq Y9OMLxLBg70KA8CREKEKExz5H3GMJZKaZCBbzaf6c6ZQuMM1K6 maYGegg6clH5GMLtPsIm2MMTPyeOFLyMYd1MZ0IkH1QmdaamZJ zDOMPIHYKYCRxQRsKyYMP6b2faZJy6aOZObOZRx2cWYV2OfCae coQlCyelzgd81QZkfGGCZcZ4eIeUfgjUfuxy2uR+p4BDxXuVDO F9CYAEaOJOIGPOOGJPtZzKEGGoLGi8aoAVzzNABWwR2EFmPmJN xQkKCRc6Pt1XwgHQeFj5GsnyGsEsY4L3oYHhageZZgaZacf+EB EQdGCKar0BGwd2yYDpHuw0B0b0YMa3CFOQbiISw5yIe7OCnIBK AlZryiDwAYA8cQCGD1ewjHquu1diIYFmArOMPMEF1tcwer2wn1 wkBZCSG1ZNzHLvKQT5AS0GGFg7y7kKGDbYWBR0d9ZOy5FaB2I6 FFAxBYA0cJCcYfOAf+ZnL5dTedclYzJldNbW3ld0bAbIDQJjYC fGMICOIakjHvqjdOZVE6HuJ8xx2+evMIAkC-WfFfGVBjdAGsGreOER2evbcCFwCnL9ZaFaH7dhdIBrcR2RotAQ HsHEYOc7fJm7fRUGYDb7QtB4GXYzdJb5CCAnY7cGa7nDd0lSPg BDf8WGnHenMYhjbjYEwTZ4CTcAJTZczTd+3sf60zfFbWxdalZa llbW1UkVdLZOArcOLFHnbrYfeFAbabbFB91VL3RhxoC7ZfGXr7 YHbg6Haez3NHZPcfb5Dw9nfneEEXd0gPdXcx0RGw57YkGgh3ey D3YBBXf-aPbHdPYSLMUvdDGvbMVMBKLlAwD5xuDuBS0eDiOFlI+FFaDAcY nMcC1xpczv3Twf04GYnMGfYXPjebdIA-fiKuKYEgOgLAIqE7x7PKLpC8aze-aSHGy-P5aYGyJkM-YVysNjzWy8srw7wU-wCU-0afbaEM7FGYiKb5BDeYhbiKa8Z+Lk6aEc9eEsOgErP1V-uGc5cYhQ9+ta2NArdKl8F8EYlS5JDnpZCaKS9kOyBftAGA4Ndw CNb2BQHBBzZrzdYJGGY-FAEoyKyQG9wB1j3UDSAkAGEOd6PhBBDc6CNK8YiC5C9EL0-C9faM904q+gHS+q5YFq+CW0MxzWwvfq-byA9zZwfa44IMLWx8-wHVZhY8FgCyjoEvGH1f1qH6aKbUJj0pBCcrdYNEJEJE2VBlzoh MD7yzWMIoL7y3JYEmxubazpDVLuf6YW5++b1+HH0n3GD73GyaK qOMOB6aCqItGJ6-YhH-EozKK08JCwHhDYVli4BUOQFpHSDzJMDJD9HWB01kBlie5e44TD Cpp1a+7c-+4F6Kje+cMKC291dOrTNZ2BBdcwZRYwI+0gj2Gxc2xgHwGNfzc 6+wk-sV+KLIhBSgIdHaSaHlGmCVD7fy583+7IhbAPok9gCk40Bk7u+F iLajcYkl9e40GF9uFF+hPGAeAVBmFgF05jYi4xGYjGAiQyCh7V FN02hT-ynMEvQf3wHsA1H7GuD3PSFk7q6aA+AAFIhg4RQAEQazK+WBop7 e33SAWQsmsBoAs1v6cQ9OEhttBhmJWeXfXrIB9V0+fwVRM+D3C hJR+O+-7hSAukWoaEXg8-K-QBy-VVCg5-W+W4917t1BZCPGbAhgNQeA4gUXKFAcGANR-xzf7QHArfw-Jhbf4Am+jP-wgA&html=DwCwLgtgNgfAUAAlAUwIYBN4O0iyyoLhgAOAtMgI4CuAl gG4C8A5AMID2AdmMt2QCoBPEsmYIAxlx7cWPAB5gA9OGgBuCSF QAnAM75G1MADMyADmZYcwHeK20SYBDq3jGAIgD6HgBIB5AMr8X opQtABGOopaaOJgAHQkWuzo1LG0XHEQtJxxAFY6bjDAijZ2Dpb Y1rb2js6unj4BQR4h4ZHRqLFk6OwQCUkpaRlZOfmFxaU1FUihn ADWCNFQ7jpgglDIOiDI+G5E0UbuXn6BwaERiuI6kWHUUBComdl xVwUIitPAswtLK2sbWx2YD2IAOR0apxa50ir0UqCgUCeOVeew+ iCsq3WyGmigAVAhfJwoIIEJwduhkOgEEZ2FoELRJJwnKgICQNg hcYp0dgXlJUNlkFoyDpaAAvTYIOJhKDscQLADe3Jw2HQtB0bNQ ggAXNSNnJVEqAL5K3ncflkoUi8U6SUMrgIRXK5VhTpzADmSWon HQZEkMq0OsEyAR7AA7ganTgHlo3dkdQAGBAAVhI+qNSom-2xcGK2wwWGAYWSJPEUFQ13cqBI5EZBAFWkKGdV9Hp6HcwayWzI VZIe1L5Z07fuapA3er40UzfgxSL6EE0+UkFgQA&css=Q). I don't necessarily recommend that anyone use it but if you're into procedural content generation, or just want to push the buttons a few times and see what kinds of encounters I tend to like as a DM, go to that link and hit the Play button or push Alt-ENTER.

Example output:

A Hard encounter for 4 PCs of level 10:

Star Spawn Grue
Mind Flayer
Young White Dragon

@tchntm43 some of the things I really like about your generator are the attitude generation and the activity generation: it's nice to see monsters actually engaged in DOING something other than killing the players, and with thoughts and feelings of their own. I feel like you're coming from a pretty simulationist posture, trying to make the world feel alive, and I really like that. Would you mind saying a bit more about the algorithms you're using, what your goals are, and what your design is like internally?

Unoriginal
2020-11-10, 07:17 PM
Huh. How did you make it do that? When I plug in four 10th level PCs, I just get stuff like "2 rhinoceros".

No idea. But I just tried four 10th level PCs too and got "1 Gelatinous Cube".

EDIT: re-tried it and I got 13 Giant Centipedes.

Mastikator
2020-11-10, 07:39 PM
Awesome stuff. I tried 4 level 20 characters and one of the results was 25 orcs, which is more of a challenge to the DM. Then it gave me 50 hobgoblins, I can't even imagine actually running that encounter. After that 82 kobolds :smallbiggrin:, that's probably still easy for 4 level 20 characters but a single turn is going to take forever.

Since you welcome feedback I'll give this:
Limit the size of the encounters, sprinkling in a few low levels is fine, a huge hoard of kobolds is a headache for the DM
Have a relative difficulty setting. For example: is this one of 6 fights for the day or one single big all-out battle?

tchntm43
2020-11-10, 08:51 PM
Thanks a lot for the feedback. I'm on my phone so quoting everything is difficult, but I'll respond here to everything.

Question about day/night: I just assumed that a lot of types of creatures are nocturnal and so should be more common at night than day. Monsters without darkvision don't like being active at night, and undead hate the daytime. That toggle doesn't have any effect on subterranean encounters.

I didn't even think about how a large encounter size would be a headache for a DM. That's a good point.

The difficulty here is that for a party of high level characters, the choice is between making things like dragons and demons common everywhere, or giving the party a horde of things that are supposed to be common. The generator allows for both, but maybe I can tweak it to make rare stuff somewhat more common than it is now.

And about getting some very easy fights at high level. I've seen a few situations that cause this, and I'm going to look into it. I know part of what is causing it is that it's hitting the max number for the monster type (like I think I have the max number for the Yuan-ti Pureblood at 4). But if the XP total doesn't meet a lower threshold, it's supposed to remove that monster from contention. So that may be a legitimate bug in the code.

Thanks again!

Wizard_Lizard
2020-11-10, 08:57 PM
woah this looks epic!

Mastikator
2020-11-10, 09:15 PM
Thanks a lot for the feedback. I'm on my phone so quoting everything is difficult, but I'll respond here to everything.

[snip]
The difficulty here is that for a party of high level characters, the choice is between making things like dragons and demons common everywhere, or giving the party a horde of things that are supposed to be common. The generator allows for both, but maybe I can tweak it to make rare stuff somewhat more common than it is now.
[snip]
Thanks again!

How about mixing it? Instead of 82 kobolds have 1 dragon and 20 kobolds. Some monsters become minions of bigger monsters at higher level so you can use that association to make mixed encounters.

I noticed one encounter was 1 orog and 1 orc

tchntm43
2020-11-10, 09:25 PM
@tchntm43 some of the things I really like about your generator are the attitude generation and the activity generation: it's nice to see monsters actually engaged in DOING something other than killing the players, and with thoughts and feelings of their own. I feel like you're coming from a pretty simulationist posture, trying to make the world feel alive, and I really like that. Would you mind saying a bit more about the algorithms you're using, what your goals are, and what your design is like internally?
Yeah, this is just the tip of what I'm aiming for eventually. I want it to be useful as a DM aid when you need quick content, but I also want it to be useful for solo play. My next project will be random map generation, but eventually I want to integrate all the generators together. I'm even looking at a procedural quest system, but that's like the final piece.

As for the internal stuff... basically each entry in the MM and Volo are given one of 4 rarities for each terrain type (also no rarity if it can't be found there), and the generator first selects a random rarity and random difficulty. The difficulty uses the XP thresholds found in the DMG. So it first pulls all the monster types that fill those criteria and builds a temporary encounter array for each one. For each of those, it tries to build a complete encounter that stays within the XP thresholds. If it fails (for example, some monsters require a minimum number of minions that could push it over the upper XP threshold), it gets removed from the list of possible encounters. When this is done for all of them, it picks a random one. There are several passes of trying to add new monsters to the encounter (bounded by the max number for the monster type, trying to add minions, and trying to add ally monsters) in order to push it over the lower xp threshold.

tchntm43
2020-11-10, 09:28 PM
How about mixing it? Instead of 82 kobolds have 1 dragon and 20 kobolds. Some monsters become minions of bigger monsters at higher level so you can use that association to make mixed encounters.

I noticed one encounter was 1 orog and 1 orc
Red dragons do have kobold minions (and sometimes githyanki allies). It's an issue of rarity, but there may be something else as well, I'm not sure. Dragons are "very rare" in the database, and it generates very rare encounters 3% of the time. I have not seen it generate a dragon encounter in a long time either. I'll look into it.

Unoriginal
2020-11-10, 10:30 PM
(like I think I have the max number for the Yuan-ti Pureblood at 4)

May I ask why? Yuan-ti Purebloods are the most common of the Yuan-ti.

JackPhoenix
2020-11-11, 01:44 AM
I don't mind the armies. There are ways to deal with that which doesn't result in headache, and the players tend to think in terms other than outright battle when confronted with dozens of creatures, even if they actually present little threat.

I've tried 4x level 7 (the party I currently run a game for) in the mountains (where they are) 3 times for both day and night and got:

Day: 9 orcs, 10 orcs, 5 orcs
Night: 6 orcs, 4 orc claws of Luthic, 7 bugbears

Seems the mountains are just lousy with orcs.

tchntm43
2020-11-11, 07:22 AM
May I ask why? Yuan-ti Purebloods are the most common of the Yuan-ti.
See, this is the kind of feedback I need. I've never actually had Yuan-ti be in a game I've played, so I was kind of assuming from the MM description that they wouldn't be found in large groups.


I've tried 4x level 7 (the party I currently run a game for) in the mountains (where they are) 3 times for both day and night and got:

Day: 9 orcs, 10 orcs, 5 orcs
Night: 6 orcs, 4 orc claws of Luthic, 7 bugbears

Seems the mountains are just lousy with orcs.
Orcs are common in mountains, and common encounters make up around 65% of all encounters. But there are other things that are common in mountains as well, and it's weird it kept picking orcs. I'll check it out. Looks like you also got 1 uncommon encounter (bugbears) and one rare encounter (the orc claws of luthic).

Trafalgar
2020-11-11, 09:29 AM
I just ran your generator 6 times for a Forest Encounter at night with all 4 players being level 20. Here are the results:

1) 78 Orcs
2) 80 Orcs
3) 6 Worgs, 35 Goblins
4) 70 Orcs
5) 6 Orc Claw of Luthic, 2 Orc Eye of Gruumsh, 4 Orcs
6) 26 Orcs

So I am not seeing a lot of diversity in the rolls. What are you using for a random number generator? What is the seed number? And how are you differentiating between a "Common" encounter and a "Rare" Encounter?

Vegan Squirrel
2020-11-11, 11:06 AM
I love what you've put together here and where it's going! I tend to agree with everything that's already been said. I don't know how much code you'd have to mess around with, but I think you shouldn't choose the rarity of the encounter before selecting the monsters. If you can set it up so each rare monster has a 1 in X chance, each common monsters has a 5 in X chance, etc., then add up the numbers available in the difficulty range you're querying, then each individual rare monster will be rare but one of the many rare monsters is more likely to show up than just the single most common monster.

For example, if you have a rare giant, a rare dragon, a rare roc, a rare purple worm, and common orcs in an area, then you'd still have only a 1 in 9 chance of seeing a dragon, but your orcs would only come up 5 times in 9 instead of 97% of the time (numbers for illustration only). Perhaps that's not entirely feasible from a coding perspective. I see it as filling out a random encounter table, and say a 1 means a dragon, but a 13–18 means an orc, rather than starting with 1 means roll on the rare table, 11–20 means roll on the common table. How common the rare encounters, as a group, would be is a product of both the monsters' rarity and how many different kinds of rare monsters are in that region/difficulty. Obviously, when you're grouping monsters, that becomes much more complicated.

TigerT20
2020-11-11, 03:31 PM
This is pretty great, but it does seem to only work with parties of 4 which presents a probelm to those DMing parties of any other size.

Additionally, will there be the option to filter things further? By monster type, or possible even a 'theme' (ie 'draconic', 'abyssal' or even something like 'hags' with all the monsters listed as potential henchmen and servants in Volos)

tchntm43
2020-11-12, 01:06 PM
This is pretty great, but it does seem to only work with parties of 4 which presents a probelm to those DMing parties of any other size.

Additionally, will there be the option to filter things further? By monster type, or possible even a 'theme' (ie 'draconic', 'abyssal' or even something like 'hags' with all the monsters listed as potential henchmen and servants in Volos)
Yes, currently it only works with parties of exactly 4, but it shouldn't be a problem to have 3-5. Outside of that number, it screws up the XP threshold and XP multiplier tables in the DMG. It's something I plan to add functionality for.

There are eventually going to be a bunch of miscellaneous settings where you can specify the difficulty of the encounter, or a "seed" monster to create the encounter around. Originally I was planning on adding the seed monster for the purpose of building lair bosses (something far down the road), but I see no reason it can't be a public setting as well.

I just ran your generator 6 times for a Forest Encounter at night with all 4 players being level 20. Here are the results:

1) 78 Orcs
2) 80 Orcs
3) 6 Worgs, 35 Goblins
4) 70 Orcs
5) 6 Orc Claw of Luthic, 2 Orc Eye of Gruumsh, 4 Orcs
6) 26 Orcs

So I am not seeing a lot of diversity in the rolls. What are you using for a random number generator? What is the seed number? And how are you differentiating between a "Common" encounter and a "Rare" Encounter?
I think I have figured out what is going on here with the orcs. The generator produces a random number from 1-100. 1-60 is common, 61-87 is uncommon, 88-97 is rare, and 98-100 is very rare. When building a list of possible encounters, it then looks up in a database which monsters are listed at the randomly selected rarity for that terrain type.

Here's the problem with this method. Suppose there is only 1 type of common monster that matches that and also fills the XP threshold requirements. In that case, that monster would already take up 65% of encounters. Furthermore, the generator, if unable to produce an encounter at a specific rarity and difficulty for that terrain, will reroll the encounter, downgrading either the rarity or difficulty, and continue doing so until it gets to common and easy.

It's also potentially a problem in reverse. If there were 60 monsters listed as common and only 1 listed as very rare, then each common monster would effectively have a 1% chance and the very rare one would have 3%.

I'm actually going to scrap the rarity system entirely and do a weighted probability. Monsters will be assigned a weighting value based on how rare they are, and then their chances of coming up in the generator are their own weight value / sum of all weight values.

Vegan Squirrel
2020-11-12, 09:23 PM
I think I have figured out what is going on here with the orcs. The generator produces a random number from 1-100. 1-60 is common, 61-87 is uncommon, 88-97 is rare, and 98-100 is very rare. When building a list of possible encounters, it then looks up in a database which monsters are listed at the randomly selected rarity for that terrain type.

Here's the problem with this method. Suppose there is only 1 type of common monster that matches that and also fills the XP threshold requirements. In that case, that monster would already take up 65% of encounters. Furthermore, the generator, if unable to produce an encounter at a specific rarity and difficulty for that terrain, will reroll the encounter, downgrading either the rarity or difficulty, and continue doing so until it gets to common and easy.

It's also potentially a problem in reverse. If there were 60 monsters listed as common and only 1 listed as very rare, then each common monster would effectively have a 1% chance and the very rare one would have 3%.

I'm actually going to scrap the rarity system entirely and do a weighted probability. Monsters will be assigned a weighting value based on how rare they are, and then their chances of coming up in the generator are their own weight value / sum of all weight values.

That was the point I was trying to make with my comment, so I'm glad to see you're not too invested in the coding you already did the other way.

If you're going to keep tinkering with this, perhaps consider adding Deadly encounters to the mix. A lot of groups, especially those with magic items or few encounters per adventuring day, end up using Deadly encounters quite regularly.

rel
2020-11-13, 12:01 AM
great work!
I suggest at least leaving the option for large groups of monsters in the generator if it is easy to do. Maybe make it a check box or something.
There are ways to run large combats cleanly and more options are never a bad thing.

I've been noticing outputs with lot's of identical monsters for a party of 4 level 3 characters. I don't know if it's a bug or a feature.

Foxhound438
2020-11-13, 11:45 AM
A couple recommendations:

1. It might be a good idea to put a CR floor on encounters once you get to higher levels. I managed to generate an encounter with fifty (50) merfolk for some level 20 characters. These guys are numerous, but I wonder if this encounter would be a threat at all against these PC's. A spellcaster can probably wipe this encounter in one turn with like a 3rd level slot.

2. This one's not so big a deal, but it would be nice to be able to turn off rolled hit points for the enemies

3. A button to skew the encounter difficulty (easy/medium/hard/deadly) would be nice

I don't typically use random encounters in my games, but this seems like a pretty decent generator.

tchntm43
2020-11-13, 06:56 PM
Just made some updates to how it operates along with some new parameters.


A couple recommendations:

1. It might be a good idea to put a CR floor on encounters once you get to higher levels. I managed to generate an encounter with fifty (50) merfolk for some level 20 characters. These guys are numerous, but I wonder if this encounter would be a threat at all against these PC's. A spellcaster can probably wipe this encounter in one turn with like a 3rd level slot.

2. This one's not so big a deal, but it would be nice to be able to turn off rolled hit points for the enemies

3. A button to skew the encounter difficulty (easy/medium/hard/deadly) would be nice

I don't typically use random encounters in my games, but this seems like a pretty decent generator.

Ha, wow these are literally the bulk of the changes I just made.

Also, RE: Deadly Encounters: I think what I'm going to do here is add it to the selectable difficulty option, but keeping the default random option to only cover easy, medium, and hard. Deadly can often be party wipe territory, and I think the main use of this table would be when the DM needs something quick to fill in an unplanned prolonged gap in the action, which isn't where that kind of situation should come up. I'll try to add in the Deadly encounters on Sunday.

MaxWilson
2020-11-13, 07:46 PM
A couple recommendations:

1. It might be a good idea to put a CR floor on encounters once you get to higher levels. I managed to generate an encounter with fifty (50) merfolk for some level 20 characters. These guys are numerous, but I wonder if this encounter would be a threat at all against these PC's. A spellcaster can probably wipe this encounter in one turn with like a 3rd level slot.

It mostly depends not on CR but on whether the enemy is using missile weapons from a dispersed formation, vs. conveniently assuming Fireball formation for you to conveniently kill.

50 gnolls using their longbows in a dispersed formation are absolutely still a threat to a 20th level party if the DM actually runs that encounter. That's 1100 HP worth of gnoll attacking at +3 for 50d8+50 (275) damage. Spread out over a 50 yard x 50 yard area (half of a football field), a Fireball is only going to cover about 1/17 of the total area, killing maybe 8 to 12 gnolls if you're lucky, leaving another 38 to 42 gnolls still shooting at you at short range for a longbow.

Randomly-generated half a football field of gnolls:


...........................G..
.G................G...........
..............................
...G....G.....................
.................G.....G......
.....G..G.......G.G...........
........G..............G......
.............................G
............................G.
...........................GG.
..........G...........GG......
......................G.......
................G.............
..........G..G........G.......
..........G..................G
..G..G.............G..........
............G.................
........G...G.................
.........G.......G............
..........G...................
..................G...........
...........................G..
..G...........G...............
.....G................G...G...
..............................
..............................
.................G..........G.
.................GG...........
......GG............G.........
..............................



. = empty space
G = gnoll
Fireball diameter: ----------------


It's going to take more than a single 3rd level spell to wipe those gnolls out. Meanwhile they're doing ~66 HP of damage per turn to an AC 20 target (like a Mage Armored Dex 14 wizard who's Shielding).

Obviously merfolk are easier than gnolls, but with high mobility (swim 40') and thrown spears, 50 of them could still be a threat.

tchntm43
2020-11-15, 11:52 AM
If you're going to keep tinkering with this, perhaps consider adding Deadly encounters to the mix. A lot of groups, especially those with magic items or few encounters per adventuring day, end up using Deadly encounters quite regularly.

Done. You can either specify Deadly from the difficulty setting, or leave it at random and then check off the box that adds deadly to random difficulty.

Trafalgar
2020-11-15, 01:30 PM
I just ran your generator 6 times for a Forest Encounter at night with all 4 players being level 20. Here are the results:

1) 78 Orcs
2) 80 Orcs
3) 6 Worgs, 35 Goblins
4) 70 Orcs
5) 6 Orc Claw of Luthic, 2 Orc Eye of Gruumsh, 4 Orcs
6) 26 Orcs

So I am not seeing a lot of diversity in the rolls. What are you using for a random number generator? What is the seed number? And how are you differentiating between a "Common" encounter and a "Rare" Encounter?
I tried running this again with your changes. So 6 forest encounters at night with 4 level 20 players. I used medium difficulty and no limit to the encounter size.

1) 4 Orc Hand of Yurtrus, 37 Orcs
2) 82 Goblins
3) 43 Orcs
4) 1 Goblin Boss, 6 Worg, 79 Goblins
5) 1 Orc War Chief, 13 Orc Nurtured One of Yurtrus, 1 Orog, 1 Orc Red Fang of Shargaas, 2 Orc Claw of Luthic, 1 Orc Hand of Yurtrus, 20 Orcs,
6) 5 Ogres, 33 Orcs

Seems to be still very Orc Centric. I ran it again with a limit of 15.

1) 1 Nalfeshnee, 1 Vrock, 1 Shadow Demon
2) 4 Dryads, 1 Treant, 5 Awakened Shrubs
3) 2 Young Green Dragons, 2 Kobolds, 3 Kobold Inventors, 1 Hobgoblin Devastator, 1 Bugbear, 1 Hobgoblin, 1 Goblin, 1 Hobgoblin Iron Shadow, 1 Orc Nurtured One of Yurtrus, 1 Aarakocra
4) 3 Barbed Devils, 4 Imps, 4 Lemures
5) 1 Nalfeshnee, 1 Barlgura, 1 Shadow Demon
6) 2 Young Green Dragons, 7 Kobolds, 1 Kobold Inventor, 2 Kobold Dragonshield, 4 Goblin, 1 Goblin Boss, 1 Hobgoblin Iron Shadow, 1 Orc, 1 Orc Claw of Luthic

Much better. I suggest creating a default limit of 10 or 15. The generator seems to work a lot better this way.

Encounters 3 and 6 would be a headache to run based on the number of different monsters. In encounter 6, for example, I would probably replace all goblins, orcs, and hobgoblins with kobolds to simplify things. Though I like the random Aarakocra in encounter 3. That gets my imagination running. Why is the Aarakocra hanging with two Green Dragons? Does he/she work for the dragons? I feel I could right a whole adventure off of this.

tchntm43
2020-11-15, 08:56 PM
I tried running this again with your changes. So 6 forest encounters at night with 4 level 20 players. I used medium difficulty and no limit to the encounter size.

1) 4 Orc Hand of Yurtrus, 37 Orcs
2) 82 Goblins
3) 43 Orcs
4) 1 Goblin Boss, 6 Worg, 79 Goblins
5) 1 Orc War Chief, 13 Orc Nurtured One of Yurtrus, 1 Orog, 1 Orc Red Fang of Shargaas, 2 Orc Claw of Luthic, 1 Orc Hand of Yurtrus, 20 Orcs,
6) 5 Ogres, 33 Orcs

Seems to be still very Orc Centric. I ran it again with a limit of 15.

1) 1 Nalfeshnee, 1 Vrock, 1 Shadow Demon
2) 4 Dryads, 1 Treant, 5 Awakened Shrubs
3) 2 Young Green Dragons, 2 Kobolds, 3 Kobold Inventors, 1 Hobgoblin Devastator, 1 Bugbear, 1 Hobgoblin, 1 Goblin, 1 Hobgoblin Iron Shadow, 1 Orc Nurtured One of Yurtrus, 1 Aarakocra
4) 3 Barbed Devils, 4 Imps, 4 Lemures
5) 1 Nalfeshnee, 1 Barlgura, 1 Shadow Demon
6) 2 Young Green Dragons, 7 Kobolds, 1 Kobold Inventor, 2 Kobold Dragonshield, 4 Goblin, 1 Goblin Boss, 1 Hobgoblin Iron Shadow, 1 Orc, 1 Orc Claw of Luthic

Much better. I suggest creating a default limit of 10 or 15. The generator seems to work a lot better this way.

Encounters 3 and 6 would be a headache to run based on the number of different monsters. In encounter 6, for example, I would probably replace all goblins, orcs, and hobgoblins with kobolds to simplify things. Though I like the random Aarakocra in encounter 3. That gets my imagination running. Why is the Aarakocra hanging with two Green Dragons? Does he/she work for the dragons? I feel I could right a whole adventure off of this.

The Aarakocra seems like a bug. Green dragons are set to have a variety of minions, but the list (taken from the description in the MM) includes orcs, goblinoids, kobolds, ettercaps, ettins, and yuan-ti. No idea where that Aarakocra came from, but that's funny.

By the way, the reason you're getting young green dragons and not adult or ancient ones is that both of those have minion requirements of at least 20. I might go in and make those smaller since it seems like most people don't like dealing with large encounters. Hm, yeah, I'll probably do this. Thanks for the feedback.

EDIT: Aarakocra bug should be resolved. Also lowered the minion requirements greatly, and minions only go one level deep (previously, a monster might have minions, which themselves might have minions, it led to easily hitting the encounter size limit). Also took your suggestion and set the default encounter size limit to 15.

Vegan Squirrel
2020-11-18, 11:53 PM
Thanks for all the tinkering and taking feedback to heart! Here's another suggestion, can you add the difficulty rating to the output page? That way a DM can know at a glance whether the generated encounter is easy or deadly, without checking XP thresholds.

tchntm43
2020-12-23, 06:19 PM
Added a ton of new updates, see top post for details!

Meatball
2020-12-24, 09:08 PM
Man, great stuff, thanks!

tchntm43
2022-08-28, 11:22 AM
Hey, guys. I dunno if anyone remembers this thread, but I finally got around to doing some more work on this project. New options for the encounter generator, and a brand new random character generator! See top post.

As always, let me know if you find any bugs.

Peelee
2022-08-29, 08:25 AM
The Mod on the Silver Mountain: Closed for Necromancy.